Há duas circunstâncias que tornam sua situação um pouco diferente da (s) suposta (s) duplicidade (s):
- Algum processo parece acordar sua tela, se sua tela acordar após o comando
xset dpms force off
, deve ser. Minha tela não é por exemplo. - Se você não quiser que sua tela acorde, apenas com a tecla qualquer , o comando
xset dpms force off
não está fazendo o que você deseja.
Uma solução alternativa é o script abaixo. O que faz:
- Procura o nome da sua tela e o brilho atual
- se o brilho não for igual a zero, ele escurece a tela, senão ela define o brilho para o normal
Em outras palavras: alterna entre a tela preta e o brilho normal.
Como usar
- Copie o script em um arquivo vazio, salve-o como
toggle_screen.py
-
Execute-o pelo comando:
python3 /path/to/toggle_screen.py
-
Certifique-se de que você pode repetir o comando com uma tela preta, ou então você terá que sair para voltar ...
- Se funcionar como gostaria, adicione-o a um atalho de teclado: Escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando.
O script
#!/usr/bin/env python3
import subprocess
cmd1 = "xrandr --verbose"
get = subprocess.check_output(["/bin/bash", "-c", cmd1]).decode("utf-8").split()
brightness = get[get.index("Brightness:")+1]
screens = [get[i-1] for i in range(len(get)) if get[i] == "connected"]
if brightness == "1.0":
for scr in screens:
subprocess.Popen(["/bin/bash", "-c", "xrandr --output "+scr+" --brightness 0"])
else:
for scr in screens:
subprocess.Popen(["/bin/bash", "-c", "xrandr --output "+scr+" --brightness 1"])