Onde estão outras telas além de “: 0”?

11

X Power Tools -book tem uma frase sobre ": 0":

Exibir 0 no computador local, conectado por um esquema de conexão local

Tentei abrir um relógio com "xclock -display: 2", mas recebi um erro:

Não é possível abrir a tela:: 2

Como devo programar se não consigo fazer com que os monitores funcionem? Você pode realmente fazer tudo? Como você pode executar programas, como Vim e gcc, nos monitores 3 e 999? Onde eles estão?

Léo Léopold Hertz 준영
fonte

Respostas:

5

Além de todas as referências a: 1,: 2, etc; você também pode especificar um nome de rede ou endereço IP antes dos dois pontos, por exemplo, 192.168.0.1.0 - isso se conectará a uma máquina pela rede. A maioria dos servidores X modernos tem autenticação ("MIT-MAGIC-COOKIE"), você precisará resolver isso antes de se conectar - veja xhoste xauth.

Além disso, se você usar ssh -X <remotehost>, todos os comandos X que você executar nessa sessão ssh se conectarão a uma porta diferente (um teste rápido na minha caixa mostra :10), que é então enviado através da sua conexão ssh de volta à caixa de onde você é e aparecerá na sua tela lá.

AMADANON Inc.
fonte
10

Tem a ver com o X Window Server. Eles definem quais números de exibição existem.

Você não precisa se preocupar em dar suporte explícito a um número de exibição; no máximo, você simplesmente entrega a referência à biblioteca X Window Client e deixa-a descobrir.

Servidores modernos podem disponibilizar vários monitores com adaptadores de várias cabeças e com múltiplos adaptadores. A grande maioria das vezes, :0será sua única exibição. Isso ocorre porque realmente existe apenas um, e esse é o número padrão quando existe apenas um. É possível fazê-lo começar como :2, o que é incomum, mas tudo ainda funcionaria bem.

Com monitores com várias cabeças e / ou vários cartões, é possível que um X Server gerencie vários monitores como telas discretas (ou seja, com itens como o Xinerama desativado). Então você pode obter números de exibição como :0.0e :0.1. Eu costumava executar uma área de trabalho como essa por um longo tempo. Nada quebrou porque tudo pegou o número de exibição e apenas o entregou à biblioteca do X Client. Uma vantagem incomum foi que cada tela obtém sua própria lista de desktops virtuais. Em uma tela Xinerama, você não pode fazer isso. Mas você tem a desvantagem de não poder mover janelas entre telas, porque elas têm números de exibição diferentes.

Você pode até fazer coisas como executar vários X Servers. É quando você recebe :0e :1etc. O problema é quem obtém o teclado e o mouse.


fonte
O vnc também usa: 1,: 2, etc.
Eu ia mencionar isso, mas não se encaixou quando pensei nisso e depois esqueci mais tarde.
Uma vez, executei um servidor X11 em um emulador de Mac ( en.wikipedia.org/wiki/Macintosh_Application_Environment ) em uma estação de trabalho Sun. Eu poderia colocar um xterm no espaço de trabalho nativo da Sun com: 0 e outro no emulador de Mac com: 1.
Mouviciel 14/04/2009
4

Por padrão, uma máquina normalmente estará executando apenas um monitor -: 0, que normalmente está no VT 7.

Se você executar um segundo servidor X, será: 1. Você pode fazer isso na linha de comando, mas a maneira mais fácil é escolher "iniciar nova sessão" no KDE (presumo que o GNOME tenha algum equivalente, mas não estou familiarizado com ele). Isso permite que você efetue login novamente em um segundo servidor X, que será executado no VT 8 (ou seja, você pode alternar entre eles com Ctrl-Alt-F7 e Ctrl-Alt-F8).

Você poderá executar aplicativos usando "DISPLAY =: 1 xterm" ou o que for.

Pedro
fonte
2

Você pode acessar apenas os monitores existentes no seu computador (geralmente apenas um 0 ). No entanto, existem programas que podem criar novos monitores como janelas como o xnest .

Mas lacqui e staticsan estão certos, na maioria das vezes você não se importa com exibições.

Para mais informações, consulte o X Window System .


fonte
1

Não se preocupe em usar outros monitores primeiro. Provavelmente, a única vez em que você terá que se preocupar com os monitores é quando você se conecta a um computador remoto e seus aplicativos remotos ao monitor.

Seus aplicativos que você escreve não precisam se preocupar diretamente com a exibição; a biblioteca X cuidará disso para você.

Kevin Lacquement
fonte
1

O usuário staticsan falou sobre um problema:

Você pode até fazer coisas como executar vários X Servers. É quando você obtém: 0 e: 1 etc. O problema é quem obtém o teclado e o mouse.

Eu estava interessado por que exatamente isso se torna um problema "quem pega o teclado e o mouse". Encontrei a resposta no artigo, recomendada pelo usuário Charlie Martin, em minha outra pergunta em [1]:

um monitor individual é definido pela documentação do X11 como tendo exatamente um teclado e um ponteiro (por exemplo, mouse), mas potencialmente várias CPUs, monitores etc.

[1] /programming/746263/how-do-the-server-extensions-work-in-x/746286#746286

Léo Léopold Hertz 준영
fonte
0

Na verdade, eu executo dois servidores X (algum programa X que eu uso não gosta de gerenciadores de janelas modernos).

Na minha configuração, cada um recebe um VTERM e o ativo possui teclado e mouse.

Joshua
fonte