Difference between revisions of "Computador Pessoal Linux"

From absortowiki

m (→‎Configurações de Ambiente de Trabalho: hibernando a máquina sem privilégios)
Line 126: Line 126:
 
'''Importante:''' Não recomendável configurar um servidor dessa maneira já que um usuário sem privilégios poderia desligar repetidamente um servidor (''Denial Of Service'').
 
'''Importante:''' Não recomendável configurar um servidor dessa maneira já que um usuário sem privilégios poderia desligar repetidamente um servidor (''Denial Of Service'').
  
# Adicionamos um grupo chamado hibernate editando com seu editor favorito o arquivo <code>/etc/group</code>:
+
* Adicionamos um grupo chamado hibernate editando com seu editor favorito o arquivo <code>/etc/group</code>:
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
 
hibernate:x:510:absorto
 
hibernate:x:510:absorto
 
</syntaxhighlight>
 
</syntaxhighlight>
  
# Encontramos onde o binário responsável pelo comando está, no meu caso <code>/usr/sbin/hibernate</code>:
+
* Encontramos onde o binário responsável pelo comando está, no meu caso <code>/usr/sbin/hibernate</code>:
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
 
# which hibernate
 
# which hibernate
Line 137: Line 137:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
# Alteramos as permissões e posse do binário:
+
* Alteramos as permissões e posse do binário:
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
 
# chown root:hibernate /usr/sbin/hibernate
 
# chown root:hibernate /usr/sbin/hibernate
 
# chmod 750
 
# chmod 750
 
# chmod u+s hibernate
 
# chmod u+s hibernate
<syntaxhighlight lang=bash>
+
</syntaxhighlight>
  
# Testamos hibernar a máquina sem privilégios:
+
* Testamos hibernar a máquina sem privilégios:
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
 
$ hibernate -n
 
$ hibernate -n
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 12:40, 24 October 2021

Computador Pessoal Linux

Instalando

Ambientes de Trabalho

Configurações de Ambiente de Trabalho

Habilitando "Tap-to-Click" no Trackpad

Para todos os passos será necessário poderes administrativos. Primeiro, copiamos o arquivo 40-libinput.conf de /usr/share/X11/xorg.conf.d/ para /etc/X11/xorg.conf.d/

Em seguida, editamos o arquivo que acabamos de copias, adicionando a opção "Tapping" "on" na seção de touchscreen, da seguinte forma:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "Tapping" "on"
EndSection

Depois basta reiniciar o sistema.

Bluetooth

Em novas versões do Linux, conectar-se à um dispostivo usando Bluetooth deveria ser uma tarefa simples. No entanto, nem sempre é assim tão fácil. Se você ainda não tiver instalado no seu sistema, instale o Bluez5 para interagir com dispositivos Bluetooth através da linha de comando. Uma vez instalado, conectamos com o cliente através da linha de comando. Note que os comandos que vamos rodar estão nas linhas que iniciam com [bluetooth] enquanto as outras linhas representam as respostas esperadas para o comando rodado:

$ bluetoothctl
[bluetooth]# devices
device 01:02:AB:01:CD:02 device-name
[bluetooth]# pair 01:02:AB:01:CD:02
Attempting to pair to 01:02:AB:01:CD:02
[bluetooth]# trust 01:02:AB:01:CD:02
Changing 01:02:AB:01:CD:02 trust succeeded
[bluetooth]# connect 01:02:AB:01:CD:02
Attempting to connect to 01:02:AB:01:CD:02
[CHG] Device 01:02:AB:01:CD:02 Connected: yes
Connection successful
Bluetooth - Resolução de Problemas
  • No default control available

Ao conectar ao cliente através da linha de comando (bluetoothctl) não conseguimos listar os dispositivos disponíveis, recebendo essa mensagem como resposta.

Provavelmente o dispositivo de rádio da máquina responsável pelas conexões de Bluetooth está bloqueado. Para desbloquear é simples:

$ sudo rfkill
ID TYPE      DEVICE                 SOFT         HARD
 1 wlan      dell-wifi      desbloqueado desbloqueado
 2 bluetooth dell-bluetooth    bloqueado desbloqueado
 3 wlan      phy0           desbloqueado desbloqueado
$ sudo rfkill unblock 2
  • Failed to Pair

Ao tentar parear com o dispositivo através do cliente, obtemos a resposta Failed to pair: org.bluez.Error.AlreadyExists. Apesar do erro não ser muito amigável, ele significa que você provavelmente já pareou com esse dispositivo em algum momento, bastando agora apenas se conectar a ele.

[bluetooth]# pair 74:45:CE:26:FC:B1
Attempting to pair with 74:45:CE:26:FC:B1
Failed to pair: org.bluez.Error.AlreadyExists
  • Waiting to connect to bluetoothd...

Se você não consegue se conectar ao agente/cliente de Bluetooth na linha de comando, o serviço de Bluetooth pode estar desativado ou bloqueado. Primeiro vamos tentar habilitar o serviço e iniciá-lo:

$ sudo systemctl enable bluetooth.service
$ sudo systemctl start bluetooth

Tendo passado esses comandos, tentaremos conectar ao cliente de Bluetooth mais uma vez com o comando bluetoothctl. Se a mensagem for a mesma, Waiting to connect to bluetoothd..., talvez seja necessário adicionar o módulo de Bluetooth ao Kernel e reiniciar o serviço com os seguintes comandos:

$ sudo modprobe btusb
$ sudo systemctl restart bluetooth
Alterando a Timezone

Para alterar a timezone usada na sua máquina em distribuições Debian basta usar a ferramenta timedatectl que permite ver a timezone atual, listar as timezones disponíveis e alterar a timezone.

timedatectl # mostra a timezone usada atualmente
timedatectl list-timezones # lista as timezones disponíveis
sudo timedatectl set-timezone <Continente/Lugar>

Se você está em uma distro que não oferece essa ferramenta, ainda assim é possível alterar sua timezone, mas o processo é um pouco mais complexo. A configuração de timezone nada mais que um symlink em /etc/localtime para um binário que identifica a timezone, localizado em /usr/share/zoneinfo. Então, para repetir os passos acima em uma distro sem a ferramente timedatectl basta usar os seguintes comandos:

ls -l /etc/localtime # irá mostrar para qual timezone o symlink está apontando
ls /usr/share/zoneinfo # para ver quais as timezones disponíveis - talvez seja necessário navegar dentro das pastas para encontrar a timezone que se aplique a sua região
sudo ln -sf /usr/share/zoneinfo/Continente/Local /etc/localtime # cria o symlink para a timezone desejada


Hibernando Sem Privilégios

Essas configurações servem especificamente para hibernar a máquina, mas com os mesmos passos é possível desligá-la ou reiniciá-la, simplesmente adaptando os comandos.

Todos os comandos devem ser rodados com privilégios adminstrativos.

Importante: Não recomendável configurar um servidor dessa maneira já que um usuário sem privilégios poderia desligar repetidamente um servidor (Denial Of Service).

  • Adicionamos um grupo chamado hibernate editando com seu editor favorito o arquivo /etc/group:
hibernate:x:510:absorto
  • Encontramos onde o binário responsável pelo comando está, no meu caso /usr/sbin/hibernate:
# which hibernate
/usr/sbin/hibernate
  • Alteramos as permissões e posse do binário:
# chown root:hibernate /usr/sbin/hibernate
# chmod 750
# chmod u+s hibernate
  • Testamos hibernar a máquina sem privilégios:
$ hibernate -n