Existe uma maneira de desligar telas individuais?

10

Eu uso o xset para desativar minhas telas assim:

xset dpms force off

Existe alguma maneira de desligar uma única tela quando você tem mais de uma associada com o mesmo display X?

    
por Neil 16.11.2010 / 02:16

2 respostas

4

Se você estiver usando o Ubuntu Desktop, poderá usar o System > Preferências > Monitores Isso deve mostrar todos os seus monitores, clique no que você deseja desativar e, em seguida, use os botões de opção 'on / off' para desativar esse monitor específico.

Se você quiser fazer isso a partir da linha de comando, você deve ser capaz de usar xrandr --output <name> --off para desabilitar a saída que deve acionar o monitor para desligar.

    
por Andy 18.11.2010 / 11:01
2

Problema com a resposta existente

Embora houvesse uma resposta sete anos atrás, com três votos altos, ela não foi aceita porque faz com que todas as janelas abertas na tela de desligamento migrem para a (s) tela (s) ativa (s) restante (s).

Brilho baseado em software

Em um laptop, você pode controlar o brilho através da placa gráfica que controla o painel LCD. Com TVs e monitores externos, você precisa de uma solução de software para reduzir o brilho para 0. O zeramento está mais próximo. Cheguei à ilusão de desligá-lo, mantendo as janelas ativas naquele monitor externo.

Script bash da Sony TV

Aqui está um dos três scripts que escrevi:

#!/bin/bash

# NAME: sony
# PATH: /mnt/e/bin
# DESC: Set brightness of Sony TV
# DATE: Dec 9, 2017.

if [[ $# -ne 1 ]]; then
    xrandr --verbose | grep -A5 "^HDMI-0" > /tmp/sony
    head -n1 /tmp/sony
    echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
    rm /tmp/sony
    echo 'One argument required for brightness level, e.g. "sony .63"'
    echo 'will set brightness level of Sony TV to level .63 using xrandr'
    exit 1
fi

xrandr --output HDMI-0  --brightness "$1"

Para desativar a exibição, use sony 0

Chamando script sem parâmetros

Quando você chama o script sem parâmetros, ele exibe o nome da tela xrandr junto com o brilho atual em vermelho. Você pode mudar a cor vermelha para outra modificando esta linha:

echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"

Após setaf alterar o 1 para:

  • 2 para verde
  • 3 para laranja
  • 4 para azul, etc.

Modificando e instalando o script

Altere as duas ocorrências de HDMI-0 para corresponder ao seu nome de tela. Você pode obter uma lista de todas as suas telas digitando xrandr no terminal.

Coloque o script em um diretório em seu caminho, como:

/usr/local/bin/sony

Marque o script como executável usando:

sudo chmod a+x /usr/local/bin/sony

Escolhendo qual diretório: /usr/local/bin vs ~/bin

Ao criar scripts em /usr/local/bin , você deve usar sudo powers. Uma alternativa melhor é usar o diretório ~/bin , que é um atalho para /home/YourUserID/bin :

  • crie o diretório ~/bin
  • feche seu terminal e reabra-o.
  • o diretório recém-criado está agora no seu caminho.
  • todos os scripts criados em ~/bin podem ser criados com suas permissões regulares.
  • para ativar a execução de seus scripts, basta usar chmod +x em vez de chmod a+x (o a significa todos os usuários)
por WinEunuuchs2Unix 21.12.2017 / 03:02