Revisão de soluções e oferta de um (espero) melhor
Soluções anteriores
/sys/
-based: bom para console
@gan
Isso funciona echo 5 > /sys/class/backlight/acpi_video0/brightness
, mas não funciona bem com o X. Mais especificamente, o X não está ciente das suas configurações preferidas e você pode precisar definir o brilho manualmente novamente pelo menos uma vez, semelhante a bug # 1042359 .
setpci
-based: dependente do sistema, perigoso
@erickjohncuevas
Soluções baseadas em coisas como setpci -s 01:00.0 F4.B=50
são perigosas. Lá, 01:00.0
é na verdade um ID que tem como alvo uma placa específica no barramento PCI. E é dependente do sistema. Isso significa que seguir cegamente isso pode gravar registros de configuração em algumas outras placas onde isso pode significar qualquer coisa, desde apenas nada até travar o sistema em algum momento no futuro. De qualquer forma, não joga bem com o X.
Solução proposta
Vantagens / desvantagens
A solução abaixo tem estas vantagens:
- é legal com o X, que tem total conhecimento das configurações escolhidas
- é mais legível, portanto, pode ser mantido
- não contém endereço específico do sistema, etc, e como resultado pode funcionar em uma variedade maior de hardware (por exemplo, onde o kernel não sabe sobre a luz de fundo ou que nem usa placa de vídeo baseada em PCI, pense < href="http://www.ubuntu.com/download/arm"> Ubuntu para ARM
Assume-se: Ubuntu usando lightdm (isto é, 11,10 e além)
Ele só configura a luz de fundo quando o lightdm é iniciado. Mas isso pode ser combinado com a solução /sys
acima se você realmente precisar configurar a luz de fundo antes.
A solução
Copiar e colar desses comandos deve fazer o que você precisa ( sudo
provavelmente perguntará sua senha).
-
Instale
xbacklight
se ainda não estiver instalado (é um pequeno pacote).sudo apt-get install xbacklight
Você deve testar
xbacklight
na linha de comando para ver se funciona. Por exemplo:xbacklight = 100 ; sleep 2 ; xbacklight = 30
Tente descobrir um valor adequado para seu hardware e iluminação condições.
-
Crie um pequeno script executando
xbacklight
.
Você pode alterar o=30
para outro valor, se desejar.
O|| true
garante que, sexbacklight
falhar por algum motivo, X pode ainda começar.sudo bash -c '{ echo "#!/bin/bash" echo "xbacklight =30 || true" } >> /etc/lightdm/display-setup-script.sh '
-
Torne o script executável
sudo chmod a+rx /etc/lightdm/display-setup-script.sh
-
Instrua
lightdm
para executar o script ao iniciar o X.
Especificamente, isso adiciona um script de configuração de exibição de linha em um lightdm arquivo de configuração, mas somente se já não houver um.if grep -ri ^display-setup-script /etc/lightdm/ then echo "There may be already a display-setup-script. It may already do what you need. Else please adjust manually" ; else if [[ -d /etc/lightdm/lightdm.conf.d ]] then # Ubuntu 13.10 and above have lightdm.conf.d. 14.04 *only* has lightdm.conf.d. DEST_CONF_FILE=/etc/lightdm/lightdm.conf.d/20-default-brightness.conf else # Ubuntu 12.04, 12.10, 14.10 do not have lightdm.conf.d, so we change main configuration file DEST_CONF_FILE=/etc/lightdm/lightdm.conf fi echo "Writing into $DEST_CONF_FILE" sudo bash -c "{ echo '[SeatDefaults]' ; echo display-setup-script=/etc/lightdm/display-setup-script.sh ; } >> $DEST_CONF_FILE" ; fi
Pode ser testado reiniciando lightdm
de uma sessão raiz no console. Ou, mais simplesmente, reiniciando.
Testado no Ubuntu 12.04, 12.10, 13.10, 14.04, 14.10, 16.04.
Por favor, forneça feedback sobre sua experiência.