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
xbacklightse ainda não estiver instalado (é um pequeno pacote).sudo apt-get install xbacklightVocê deve testar
xbacklightna linha de comando para ver se funciona. Por exemplo:xbacklight = 100 ; sleep 2 ; xbacklight = 30Tente descobrir um valor adequado para seu hardware e iluminação condições.
-
Crie um pequeno script executando
xbacklight.
Você pode alterar o=30para outro valor, se desejar.
O|| truegarante que, sexbacklightfalhar 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
lightdmpara 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.