Onde estão as exibições diferentes de “: 0”?

11

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

Display 0 on the local computer, connected by a local connection scheme

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

Can't open display: :2

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

    
por Léo Léopold Hertz 준영 14.04.2009 / 04:44

7 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ê terá que resolver isso antes de se conectar - veja xhost e xauth .

Além disso, se você usar ssh -X <remotehost> , todos os comandos X executados nessa sessão ssh serão conectados a uma porta diferente (um teste rápido na minha caixa mostra :10 ), que será enviado por sua conexão ssh para a caixa que você está vindo, e vai aparecer na sua tela lá.

    
por 07.05.2014 / 05:49
10

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

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

Os servidores modernos podem disponibilizar vários monitores com adaptadores de várias cabeças e com vários adaptadores. Na grande maioria das vezes, :0 será sua única exibição. Isso ocorre porque realmente existe apenas um, e esse é o número padrão quando há apenas um. É possível começar com :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.0 e :0.1 . Eu costumava rodar um desktop assim por muito tempo. Nada quebrou porque tudo pegou o número de exibição e apenas o entregou para a biblioteca X Client. Uma vantagem incomum era que cada tela obtinha sua própria lista de desktops virtuais. Em um display do Xinerama, você não pode fazer isso. Mas você tem a desvantagem de não poder mover janelas entre as 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 :0 e :1 etc. O problema com isso é quem pega o teclado e o mouse.

    
por 14.04.2009 / 05:11
4

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

Se você executar um segundo servidor X, ele será: 1. Você pode fazer isso a partir da linha de comando, mas a maneira mais fácil é escolher "iniciar nova sessão" no KDE (suponho que o GNOME tenha algum equivalente, mas eu 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ê deve então ser capaz de executar aplicativos usando "DISPLAY =: 1 xterm" ou qualquer outra coisa.

    
por 14.04.2009 / 05:30
2

Você só pode acessar as exibições que existem em seu computador (geralmente apenas uma 0 ). No entanto, existem programas que podem criar novos monitores como janelas como xnest .

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

Para mais informações, leia sobre o Sistema X Window .

    
por 14.04.2009 / 05:12
1

Não se preocupe em usar outros monitores no começo. Provavelmente, a única vez em que você terá de se preocupar com as exibições é quando você se conecta a um computador remoto e conecta seus aplicativos remotos ao monitor.

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

    
por 14.04.2009 / 04:51
1

O usuário staticsan contou sobre um problema:

You can even do things like run multiple X Servers. That's when you get :0 and :1 etc. The problem with that is who gets the keyboard and mouse.

Eu estava interessado porque exatamente isso se torna um problema "quem fica com o teclado e mouse". Eu encontrei a resposta no artigo, recomendado pelo usuário Charlie Martin, na minha outra pergunta em [1]:

an individual display is defined by the X11 documentation as having exactly one keyboard and one pointer (i.e., mouse), but potentially multiple CPUs, monitors, etc.

[1] link

    
por 14.04.2009 / 14:00
0

Na verdade, eu executo dois servidores X (alguns programas X que eu uso não gostam de gerenciadores de janelas modernos).

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

    
por 14.04.2009 / 05:14

Tags