Há alguns dias venho tendo alguns problemas com a luminosidade na tela do meu Notebook aqui em casa, e acabei por procurar uma solução para isto.
Alguns blogs me mandavam mexer no controle de energia tanto do Gnome quanto do XFCE ... mas, eles regulam a luminosidade de acordo com a fonte de energia do Notebook.
Pessoalmente não achei que esta era uma boa solução e procurei uma outra possibilidade.
Navegando pela internet dei de cara com este blog aqui, em que a pessoa mostra uma solução bem interessante.
Aqui a solução foi altamente aceita, mas fiz algumas modificações para que realmente o processo ficasse mais automático.
Lembrando que, não é a solução ideal, já que o que eu preciso mesmo é fazer com que as teclas de Função ( fn ) funcionem, mas ... durante este tempo, não posso ficar com o computador meia boca né ?
Bom, para modificar a luminosidade do monitor ( brigthness ), é só logar-se como root ( ou usar o su - ) e efetuar o seguinte comando :
# echo 3 > /sys/class/backlight/acpi_video0/brightness
Ao efetuar este comando você notará que a luminosidade da tela do seu notebook modificará.
E é neste arquivo agora que vamos nos prender, pois a solução toda é baseada em cima do mesmo.
Se você logar como usuário comum agora e através do sudo tentar efetuar o comando acima, terá o seguinte resultado :
$ sudo echo 3 > /sys/class/backlight/acpi_video0/brightness
bash: /sys/class/backlight/acpi_video0/brightness: Permission denied
Isto acontece porque o arquivo só tem direito de escrita para o nosso amigo root ( e até porque é um arquivo de configuração de sistema mesmo ).
Para resolver este problema, modifiquei as permissões do arquivo para que o meu usuário do notebook conseguisse modificá-lo sempre que quisesse.
# chown -R ataliba:video /sys/class/backlight/acpi_video0/brightness
# chmod 664 /sys/class/backlight/acpi_video0/brightness
$ ls -lah /sys/class/backlight/acpi_video0/brightness
-rw-rw-r--. 1 ataliba video 4.0K Sep 3 18:23 /sys/class/backlight/acpi_video0/brightness
Além disto como o arquivo também tem direito de escrita pelo grupo video, permitindo que qualquer usuário que esteja neste grupo faça a modificação deste arquivo.
A partir daí, é passar para uma automatização da solução. Criei um pequeno script para me permitir modificar valores via linha de comando e, ainda, modificar a luminosidade quando o XFCE for aberto.
A idéia deste script veio quando eu acessei o Wiki do Arch Linux ( obrigatório, é ótimo ), onde esta documentação aqui me ajudou muito.
Dê qualquer nome para o arquivo, mas como exemplo vou usar o mesmo nome que eu criei aqui ( chg_brigh.sh).
Criado este arquivo com o conteúdo abaixo ( ou usando o script que eu deixei disponível para download ) e coloque-o em algum local do seu PATH ( aconselhável no /usr/local/bin ou até no seu $HOME/bin ).
#!/bin/bash
# Brigthness
Max=$(head -1 /sys/class/backlight/acpi_video0/brightness)
Min=1
Actual=$(head -1 /sys/class/backlight/acpi_video0/actual_brightness)
# Change this to your default value of brigthness on XFCE
Def=8
# Change this to the new owner of the brightness file
BUser=youruser
# Change this to the new group of the brightness file
BGroup=yourgroup
if [ $(ls -lah /sys/class/backlight/acpi_video0/brightness | awk -F" " '{print $3":"$4}') != "$BUser:$BGroup" ]; then
sudo chown -R $BUser:$BGroup /sys/class/backlight/acpi_video0/brightness
sudo chmod 664 /sys/class/backlight/acpi_video0/brightness
fi
# The script
case $1 in
max)
echo $Max > /sys/class/backlight/acpi_video0/brightness
;;
min)
echo $Min > /sys/class/backlight/acpi_video0/brightness
;;
down)
if [ $Actual -eq 1 ]; then
echo "We are on minimal brightness"
else
echo $(expr $Actual - 1) > /sys/class/backlight/acpi_video0/brightness
fi
;;
up)
if [ $Actual -eq $Max ]; then
echo "We are on max brigthness"
else
echo $(expr $Actual + 1) > /sys/class/backlight/acpi_video0/brightness
fi
;;
xfce)
echo $Def > /sys/class/backlight/acpi_video0/brightness
;;
*)
echo "Help of this script :"
echo "$0 max - use this to set brightness to max value"
echo "$0 min - use this to set brightness to minimal value"
echo "$0 down - decrease value of brightness"
echo "$0 up - increase value of brightness"
echo "$0 xfce - use this on your xfce startup"
echo ""
;;
esac
Após salvar o arquivo, dê permissão de execução ao mesmo :
# chmod 755 /pathto/chg_brigh
Atente-se para algumas variáveis importantes do script :
- Def - coloque aqui o valor que melhor lhe convier toda vez que seu notebook entrar no XFCE
- BUser - seu usuário no sistema
- BGroup - grupo que outros usuários irão precisar para "configurar" também a luminosidade
Modificadas as variáveis é só configurar o XFCE para abrir o script logo na inicialização.
Agora é só ir em Applications -> XFCE Settings -> Session and Startup :
Depois configure o script do seguinte modo para o startup do XFCE do seguinte modo :
Feito isto é só aproveitar a luminosidade do seu notebook configurada funcionando direitinho.
Não é o melhor modo de fazer a coisa ficar bonita, mas pelo menos resolve.