Problema com resposta existente

Problema com resposta existente

Eu uso o xset para desligar minhas telas assim:

xset dpms force off

Existe alguma maneira de desligar uma única tela quando você tem mais de uma associada ao mesmo monitor X?

Responder1

Se você estiver usando o Ubuntu Desktop padrão, poderá usar Sistema > Preferências > Monitores. Isso deve mostrar todos os seus monitores, clique naquele que deseja desabilitar e, em seguida, use os botões de opção ‘ligar/desligar’ para desabilitar aquele monitor específico.

Se você quiser fazer isso a partir da linha de comando, poderá usar xrandr --output <name> --offpara desabilitar a saída que deve acionar o desligamento do monitor.

Responder2

Problema com resposta existente

Embora tenha havido uma resposta há sete anos com três votos positivos, ela não foi aceita porque faz com que todas as janelas abertas no display desligado migrem para o(s) display(s) ativo(s) restante(s).

Brilho baseado em software

Em um laptop você pode controlar o brilho através da placa gráfica controlando o painel LCD. Com TVs e monitores externos, você precisa de uma solução de software para diminuir o brilho para 0. Virá-lo para zero é o mais próximo que cheguei da ilusão de desligá-lo enquanto mantenho as janelas ativas naquele monitor externo.

Versão curta

Na linha de comando (sem scripts), use:

$ xrandr | grep " connected"
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1107mm x 623mm
eDP-1-1 connected primary 1920x1080+3840+2160 (normal left inverted right x axis y axis) 382mm x 215mm
DP-1-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 1600mm x 900mm

Isso mostra a lista de nomes de monitores atribuídos por xrandr. Agora, se você quiser desativar DP-1-1o brilho, use:

xrandr --output DP-1-1 --brightness 0

Roteiro de festa 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 desligar a tela você usariasony 0

Chamando script sem parâmetros

Quando você chama o script sem parâmetros ele exibe o xrandrnome da tela 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)"

Depois de setafalterar 1para:

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

Modificando e instalando script

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

Coloque o script em um diretório no 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/binvs~/bin

Ao criar scripts, /usr/local/binvocê deve usar sudopoderes. Uma alternativa melhor é usar o diretório ~/binque é uma abreviação de /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 que você cria ~/binpodem ser criados com suas permissões regulares.
  • para permitir a execução de seus scripts, você só precisa usar chmod +xem vez de chmod a+x(o aque significa todos os usuários)

informação relacionada