O que exatamente você está tentando realizar? Para gerenciar o uso do monitor, você pode / deve usar a extensão randr, em que xrandr
seria a arma escolhida nos scripts.
xrandr -q
mostra todas as saídas do seu computador e algumas informações sobre os monitores conectados. Para desabilitar uma saída, você colocaria algo como xrandr --output=HDMI1 --off
. No seu caso você tem que substituir "HDMI1" por qualquer xrandr -q
informando suas saídas. Com a saída desativada, o X não usa mais esse monitor (de jeito nenhum) e provavelmente entrará no estado de suspensão.
Se você realmente quiser que o monitor desligue, o problema é que xset
não sabe nem se importa com quantos monitores você conectou ao seu computador, porque xset
fala com Xservers, não com seus componentes e definitivamente não hardware. Isso significa que xset
envia exatamente uma solicitação "dpms force off" e essa solicitação é (processada e) enviada para um dos seus monitores pelo Xserver. Eu acho que ele envia para o seu monitor primário, ou seja, aquele conectado à saída que aparece em primeiro lugar na lista mostrada por xrandr -q
. Esse é o mesmo monitor em que o seu painel do gnome está ativo, se você estiver usando o gnome.
Na verdade, acho que você precisa enviar sua solicitação xset
duas vezes. Se isso não ajudar imediatamente, eu suponho que você precisa ser explícito sobre o problema de quais monitores anexados são primários e quais não são.
xrandr
permite que você defina a saída / monitor principal pelo uso da opção --primary
. Se suas saídas forem HDMI1
e HDMI2
, tentarei:
xrandr --output HDMI2 --primary
xset dpms force off
xrandr --output HDMI1 --primary
xset dpms force off
Verifique a saída de xrandr -q
e escreva um script que desligue seus monitores na ordem inversa em que eles estão, de baixo para cima. A razão para isso é que, enquanto o randr (x) é supostamente capaz de fazer as saídas arbitrariamente a saída padrão eu não / não confio para que funcione de forma impecável, especialmente se houver drivers de código fechado envolvidos. Ao trabalhar com seus monitores em ordem inversa, você desliga o monitor primário "natural" por último e, se as coisas derem errado, ter o monitor primário "natural" disponível é a sua melhor chance de ter um Xserver totalmente funcional.