Obter lista de tela em exibição

0

Eu entendo que uma tela é identificada por :D.S , onde:

  • D é o número de exibição
  • S é o número da tela

Pretendo listar todas as telas associadas a um display.

Eu posso obter todas as exibições atuais com algo como cd /tmp/.X11-unix && for x in X*; do echo ":${x#X}"; done , mas não encontrei nenhuma maneira de listar as telas para uma exibição específica.

Além disso, estou procurando obter o número de exibição e tela associado a um nome de tela. Por exemplo, com xrandr -q retornando:

HDMI1 connected 1920x1080+0+328 (normal left inverted right x axis y axis) 290mm x 170mm
<snipped>

Existe uma maneira de obter o identificador X para HDMI1 , algo como :0.0 ?

Obrigado por qualquer lead que você possa fornecer!

    
por M-Gregoire 16.10.2018 / 10:45

2 respostas

1

As telas mencionadas com :D.S estão associadas a um estilo obsoleto de monitores X11 de tela múltipla, em que cada aplicativo foi "preso" na tela em que foi iniciado, a menos que tivesse recursos especiais para alternar de uma tela para outro.

Pense em uma estação de trabalho CAD profissional com monitores CRT: pode ter tido uma exibição "principal" com um número muito limitado de cores, mas alta taxa de atualização (para minimizar a fadiga ocular) para trabalhar com o design e outra exibição com menor taxa de atualização, mas melhores recursos de cor, dedicada a exibir o design resultante renderizado em cores.

Hoje, a abordagem padrão é unir todas as telas físicas em uma grande superfície de exibição unificada, para que você possa mover as janelas livremente entre as telas. Como resultado, o número da tela no par :D.S é praticamente sempre 0. Para gerenciar esses tipos de configurações, foi desenvolvida uma nova extensão de protocolo X11, X Rotate and Resize ou XRandR.

Existe uma outra extensão chamada XINERAMA para relatar este layout de vários monitores aos aplicativos, para que eles possam, por exemplo, exibir uma caixa de diálogo no meio de uma tela física e não metade em uma tela física e metade em outra. uma configuração de duas telas.

Quando sua variável de ambiente DISPLAY está definida como, por exemplo :0.0 e a extensão XRandR estão disponíveis, então xrandr se conectará a esse display X11 e poderá fazer drill down na configuração exibição física subjacente ao X11 "display 0, screen 0 ".

    
por 16.10.2018 / 11:25
1

I'm looking to list all screens associated with a display.

xdpyinfo | grep -A4 '^screen'

Also, I'm looking to get the display and screen number associated with a screen name. For example, with xrandr -q returning :

Eles não estão associados. Todas as saídas mostradas por xrandr são partes da mesma tela e tela.

Mas se o seu servidor x11 ("display") estiver configurado com mais de uma tela ("screen" estando aqui a abstração usada por x11, não um monitor físico ou tal), você pode selecionar qual xrandr mostrará informações sobre com xrandr --screen snum ou com --display :dnum.snum . Se essas opções não forem usadas, xrandr exibirá apenas informações sobre a tela primeiro configurada, não sobre todas elas.

Observe que o x11 pode (e por padrão) manipular vários monitores como partes da mesma "tela", desde que tenham a mesma profundidade.

    
por 16.10.2018 / 11:06

Tags