Exibição X11 nativa não =: 0.0

1

Estou usando o Ubuntu Gnome 15.10 com o Gnome Shell 3.16. Recentemente notei que meu X11 não está sendo executado em :0.0 , mas em :1 . Achei que a exibição nativa - o monitor do meu laptop - deveria ser sempre :0.0 . Alguém já encontrou uma coisa dessas? Isso é normal, como um recurso ou algo assim, ou minha exibição é de alguma forma sequestrada por outra coisa?

    
por sencer 20.03.2016 / 18:52

1 resposta

1

Não, não há nada que exija que a "exibição nativa" seja :0 . Esse é apenas o primeiro número de exibição que é normalmente gratuito quando o Xorg é iniciado - mas há vários motivos para que ele não seja:

  • Quando você usa um gerenciador de exibição, ele também inicia a tela gráfica de login no primeiro soquete disponível. Até agora, a maioria dos gerentes de exibição reutilizaria o mesmo monitor X para sua própria área de trabalho, portanto, se a tela de login estivesse em :0 , seus próprios programas também usariam :0 .

    Mas nada exige isso também. De fato, o GDM do GNOME a partir de 3.16 em diante sempre inicia um display X novo , deixando a tela de login ainda em execução no antigo. Ele faz isso principalmente para simplificar a lógica - as sessões baseadas no Wayland sempre começam em um tty separado, então o GDM agora lida com as sessões do X11 da mesma maneira.

  • A maioria dos gerentes de exibição, incluindo o GDM, também suporta a troca de usuários - portanto, se duas pessoas fizerem login no mesmo sistema, uma obterá :0 e a outra obterá :1 , mesmo que ambas usem o mesmo. "monitor & nativo nativo teclado.

    (Bem, :1 e :2 agora, se você considerar o novo comportamento do GDM.) Mesmo se você executar manualmente startx em vários tty - um será :0 , um será :1 , um será :2 e assim por diante.

  • Também é possível que o Xorg tenha sido iniciado em :0 uma vez, mas travou e deixou um soquete antigo em /tmp/.X11-unix/X0 , fazendo o gerenciador de exibição pensar que :0 ainda estava em uso.

O sufixo opcional .0 indica uma tela no mecanismo antigo de vários monitores pré-Xrandr. Na maioria das vezes não tem sentido.

Na verdade, existe uma situação semelhante no Windows, com o Terminal Services sendo o equivalente aproximado do X11. Até o Windows XP, o primeiro usuário receberia a sessão 0, e muitos serviços supunham que poderiam exibir interfaces gráficas lá, apesar de serem serviços e tecnicamente fora de qualquer sessão.

Além de ser inseguro , isso também causou problemas com o User Switching e o Remote Desktop, com alguns programas sendo completamente inutilizáveis em sessões diferente de 0. Eventualmente, ficou tão ruim que o Windows Vista começou a reservando a sessão 0 para serviços, e logins de usuários agora começam em 1.

Espero que a maioria dos gerentes de exibição do X11 também o faça, apenas para quebrar as coisas que supõem DISPLAY=":0" .

    
por 20.03.2016 / 20:56