Entendo que uma tela é identificada por :D.S
onde:
D
é o número de exibiçãoS
é o número da tela
Estou procurando listar todas as telas associadas a uma exibição.
Eu posso obter todas as telas atuais com algo parecido cd /tmp/.X11-unix && for x in X*; do echo ":${x#X}"; done
, mas não encontrei nenhuma maneira de listar as telas de uma tela específica.
Além disso, estou procurando obter o número de exibição e de tela associado a um nome de tela. Por exemplo, com xrandr -q
o retorno:
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 pista que você possa fornecer!
Eles não estão associados. Todas as saídas mostradas por
xrandr
são partes do mesmo display e tela.Mas se o seu servidor x11 ("display") estiver configurado com mais de uma tela ("tela" sendo aqui a abstração usada pelo x11, não um monitor físico ou algo parecido), você pode selecionar qual deles
xrandr
mostrará informações sobre comxrandr --screen snum
, ou com--display :dnum.snum
. Se essas opções não forem usadas,xrandr
exibirá apenas informações sobre a primeira tela configurada, não sobre todas elas.Observe que x11 pode (e irá, por padrão) lidar com vários monitores como partes da mesma "tela", desde que tenham a mesma profundidade.
As telas mencionadas
:D.S
estão associadas a um estilo obsoleto de telas X11 multi-tela, em que cada aplicativo ficava "preso" na tela em que foi iniciado, a menos que tivesse recursos especiais para alternar de uma tela para outra.Pense em uma estação de trabalho CAD profissional inicial com telas CRT: ela pode ter uma tela "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 tela com uma taxa de atualização mais baixa mas melhores recursos de cores, dedicados à visualização do 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 janelas livremente entre as telas. Como resultado, o número de tela no
:D.S
par é praticamente sempre 0. Para gerenciar esses tipos de configurações, uma nova extensão de protocolo X11, X Rotate and Resize, ou XRandR, foi desenvolvida.Existe outra extensão chamada XINERAMA para relatar esse 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 em uma tela de duas telas. configuração da tela.
Quando sua
DISPLAY
variável de ambiente estiver definida como, por exemplo:0.0
, e a extensão XRandR estiver disponível, elexrandr
se conectará a esse display X11 e poderá detalhar a configuração de exibição física subjacente ao X11 "display 0, screen 0".