DPMS, mantenha a tela desligada quando a tampa estiver fechada

0

Eu tenho um laptop rodando linux. Na minha configuração do xorg, eu tenho a configuração do DPMS para que a tela desligue automaticamente durante vários eventos. Além disso, eu tenho que seguir o seguinte script ligado aos eventos de abertura / fechamento da tampa da ACPI:

#!/bin/sh

for i in $(pidof X); do
        CMD=$(ps --no-heading $i)

        XAUTH="$(echo $CMD | sed -n 's/.*-auth \(.*\)//p')"
        DISPLAY="$(echo $CMD | sed -n 's/.* \(:[0-9]\) .*//p')"

        # turn the display off or back on
        export XAUTHORITY=$XAUTH
        /usr/bin/xset -display $DISPLAY dpms force $1
done

Basicamente, este script usa um parâmetro ("on" ou "off") e depois percorre todas as minhas sessões X em execução e liga ou desliga o monitor.

Aqui está o meu problema. Quando fecho a tampa do laptop, a tela se apaga como esperado, mas se ocorrer um evento de mouse (como se algo colidisse com a mesa ...), a tela volta a funcionar mesmo que esteja fechada (consigo ver luz através do lado do laptop).

Existe uma maneira de impedir que a tela seja ativada durante um evento de mouse se a tampa estiver fechada?

    
por Evan Teran 17.11.2009 / 17:35

5 respostas

2

Adicione as seguintes linhas ao arquivo /etc/acpi/lid.sh :

#open
screenon
chvt 7
#close
chvt 12
screenoff

Isso mudará para o console quando a tampa estiver fechada e evitará a detecção de movimentos do mouse.

    
por 14.12.2009 / 17:30
2

Você pode fazer mágica com xrandr; por exemplo. algo ao longo das linhas de

xrandr --output LVDS --off

para desativá-lo e

xrandr --output LVDS --auto

para trazê-lo de volta. Substitua o LVDS por qualquer que seja o nome da saída para a tela do seu laptop.

A desvantagem disso é que, se algo der errado, pode ser difícil deixar sua tela sem energia elétrica.

    
por 17.11.2009 / 19:03
1

Seguindo a ideia de desativar o mouse, você pode fazê-lo de maneira mais seletiva e segura com xinput:

# open
DISPLAY=:0.0 xinput set-int-prop 12 "Device Enabled" 8 1
# close
DISPLAY=:0.0 xinput set-int-prop 12 "Device Enabled" 8 0

Você encontra o ID (12 aqui) com: xinput --list

    
por 21.12.2011 / 22:27
0

Tente usar um aplicativo como o Power Devil para gerenciar isso. KDE ou Gnome?

    
por 13.12.2009 / 04:01
0

Parece ser um pouco difícil impedir que o X sinalize a atividade e desabilite o DPMS quando recebe eventos de atividade.

Mas, como você já está no reino dos scripts, que tal desabilitar os dispositivos USB quando a tampa está fechada? O efeito poderia ser alcançado simplesmente removendo módulos, ou talvez suspendendo o dispositivo usb. Algo como isso pode funcionar:

echo suspend > /sys/bus/usb/devices/usb1/power/level

Se isso funcionar, seu X não receberá eventos enquanto a tampa estiver fechada.

    
por 13.12.2009 / 19:46