Como alterar o brilho na tela do CRT através da linha de comando do Linux?

20

Eu tenho um desktop Debian Linux e um monitor CRT. Quero alterar o brilho da tela sem usar os controles de brilho do monitor. Como posso fazer isso? Isso é possível na linha de comando ou há um aplicativo para ser instalado?

Neilvert Noval
fonte
1
Então você tem um desktop com um monitor externo e quer controlar a luz de fundo, certo? Está ligado por cabo VGA? Eu não acho que haja uma maneira de fazer isso. A maioria dos controles de luz de fundo do LCD são para laptops e computadores de mão que têm acesso direto (I / O) ao controlador de luz de fundo. Eu não acho que há um caminho de controle através da interface VGA para isso.
Keith
Informações adicionais: estou usando o monitor CRT.
Neilvert Noval
@NeilvertNoval Em vez de comentar com adicionar. informações, adicione as informações à pergunta original. O fato de ser um monitor CRT deve ser declarado no próprio título da pergunta.

Respostas:

18

Procure /sys/class/backlightpelos arquivos apropriados para frob.

echo -n 6 > /sys/class/backlight/acpi_video0/brightness
Ignacio Vazquez-Abrams
fonte
8
my / sys / class / backlight é um diretório vazio.
Neilvert Noval
Funciona, mas meu caminho é /sys/class/backlight/acpi_video0/brightnesse meu alcance sobe para 15. (Fedora 17 64 bits)
pgampe
@Ignacio Vazquez-Abrams mesmo problema como Neilvert Noval
krupal
Isso requer acesso root, o que eu acho que torna isso inutilizável.
si mesmo
@oneself: O acesso não-root nunca fez parte da questão.
Ignacio Vazquez-Abrams
16

$ sudo apt-get install xbacklight

Como definir o brilho para 50%

$ xbacklight -set 50

Como aumentar o brilho 10%

$ xbacklight -inc 10

Como diminuir o brilho 10%

$ xbacklight -dec 10

Mais informações aqui

auraham
fonte
jcomeau@aspire:~$ xbacklight -set 50dá mensagem de erro: Nenhuma saída tem propriedade backlight
jcomeau_ictx
muda o contraste, não o brilho; não economiza energia.
Edouard Thiel
6

Se você não tem suporte de hardware para alterar o brilho do seu monitor, você pode usar o comando xrandr junto com seus flags de opção --output e --brightness , como pode ser visto na minha resposta a uma pergunta semelhante em askubuntu.com

Erik Sjölund
fonte
Isso é realmente muito bom!
Gerhard Burger
3

Você poderia tentar esta solução :

echo -n 100 > /proc/acpi/video/VGA/LCD/brightness

Além disso, nos comentários, há algumas dicas do que fazer alternativamente, se não funcionar (usando fe ao GLX0invés de VGA.

EDIT: Como isso não parece ajudar, outro usuário nos comentários sugere para instalar xbacklighte chamar xbacklight -set 100.

EDIT2: E outro diz que se você não tiver uma pasta de vídeo, tente sudo modprobe video.

schnaader
fonte
Eu verifiquei isso antes de postar, mas não tenho nenhuma pasta de vídeo nesse caminho.
Neilvert Noval
modprobe video -> comando não encontrado
Neilvert Noval
Eu já instalei xbacklight, mas quando eu faço xbacklight -set 100.isso dizNo outputs have backlight property
Neilvert Noval
Nenhuma pasta de vídeo + sudo modprobe videonão faz nada.
Santosh Kumar
3

Depois de pesquisar, acho que encontrei uma boa maneira de fazer isso na maioria dos laptops. O primeiro comando obtém o nome da sua tela, algo como LVDS1. Se isso não funcionar, tente obter o nome da sua tela com xrandr --current. Existem provavelmente maneiras mais elegantes de fazer isso, o comando sed remove tudo após o primeiro espaço, os comandos head e tail simplesmente removem tudo, exceto a segunda linha da saída. A segunda linha usa o nome da tela para alterar o brilho para 1.0. Isso pode ser definido para quase tudo, incluindo 0,0 para uma tela preta ou 50,0 para uma tela completamente branca, mas acho que 1,0 é o valor desejado aqui.

screenName=$(xrandr --current | sed s/\ .*// | head -n2 | tail -n1);
xrandr --output $screenName --brightness 1.0

O comando abaixo define o brilho para o brilho máximo permitido, pois notei que apenas configurá-lo para '100' não funciona simplesmente, pelo menos não em todos os sistemas.

sudo sh -c 'echo -n $(cat /sys/class/backlight/acpi_video0/max_brightness) > /sys/class/backlight/acpi_video0/brightness'

Isso funcionou em vários laptops rodando o Ubuntu 12.04.

Max Gräsbeck
fonte
Lembre-se, isso o fará no software, modificando os valores dos pixels. Na verdade, não escurecerá a exibição.
Mario
0

Aqui está um pequeno programa que escrevi para controlar o brilho no meu laptop para o Ubuntu 12.04.3 LTS. Veja as explicações dentro de (arquivo / usr / local / dreamcolor2 / README no tarball):

http://pageperso.lif.univ-mrs.fr/~edouard.thiel/tar/brightness-dreamcolor2.tgz

Ele usa o ddccontrol nos barramentos i2c e funciona muito bem para minha configuração:

- HP ELiteBook 8770w
- NVidia Quadro K3000M
- HP DreamColor 2 Monitor, full HD
- Ubuntu 12.04.3 LTS x86_64, kernel 3.8.0-34-generic
- Nvidia Driver Version: 319.32
- Unity desktop

Eu tentei todas as outras soluções nesta página e esta é a única que realmente funcionou para mim. Outra solução foi executar o HP Mobile Display Assistant (baixado no site da HP), mas ele é fornecido apenas como rpm, sem pacote deb; ele precisa ser ajustado um pouco para funcionar e é bem lento, e não funciona com as teclas fn.

Meu script permite controlar o brilho pela linha de comando e pelas teclas fn. Por favor, diga-me se funciona para você fora da caixa ou se você tem que mudar o dispositivo i2c no script.

Edouard Thiel
fonte
0

CRT (Cathode Ray Tube) não tem iluminação de fundo. LCDs tem backlights. Ajustar o brilho em um CRT envolve alterar o sinal que vai para ele, ao contrário de um LCD.

Os CRTs usam a quantidade máxima de energia nas telas brancas, porque as armas de elétrons usam mais energia para emitir mais elétrons, enquanto os LCDs gastam mais energia nas telas negras, porque todos os transistores estão invertendo a polaridade do cristal líquido bloqueando a luz luz de fundo.

Qualquer utilidade que possa desencadear DPMS deve funcionar para colocar o monitor em modo de espera com muitos dos CRTs feitos de meados a final dos anos 90 até o final da produção.

Montaray Jack
fonte
Para elaborar um pouco mais, os CRTs emitem luz através da excitação de florescência dos fósforos devido aos elétrons que os atingem. Vários produtos químicos diferentes emitiram diferentes freqüências de luz.
Montaray Jack
Existem quatro modos DPMS nos quais os CRTs analógicos podem estar, todos controlados pelo estado das linhas VSync e HSYNC, ON é HSYNC e VSYNC ligados, STANDBY é HSYNC desligado e VSYNC ON usa cerca de 80% da energia, SUSPEND HSYNC no VSYNC desligado usa cerca de 30W para os monitores com classificação Energy Star e OFF - ambos HSYNC e VSYNC desligados. Isso costumava funcionar muito bem com o X, voltando até os dias do XFree86, mas não sei se ainda funciona.
Montaray Jack
Você pode consultar o estado do DPMS com xset q, que, acredito, ainda faz parte do conjunto de programas X Windows padrão. Você também pode definir o tempo para o DPMS com xset, bem como alterar os parâmetros do mouse e do teclado.
Montaray Jack
Para mudanças permanentes, você deve adicionar a opção "DPMS" à seção "Monitor", e à seção Server Layout do xorg.conf, algo como Option "BlankTime" "4" Option "StandbyTime" "0" Option "SuspendTime" "0 "Opção" OffTime "" 5 "com os tempos editados a sua preferência
Montaray Jack
A alteração do brilho e do contraste num monitor analógico é feita no outro lado do RAMDAC, por opamps no RAMDAC ou ou entre o conector RAMDAC e VGA ou no lado do monitor por amplificadores no monitor. O contraste é controlado pela amplificação do sinal, e o Contraste é controlado pela polarização do sinal, portanto, o deslocamento DC.
Montaray Jack