Dove sono i display diversi da “: 0”?


11

Il libro X Power Tools ha una frase su ": 0":

Visualizza 0 sul computer locale, collegato da uno schema di connessione locale

Ho provato ad aprire un orologio con "xclock -display: 2", ma ho ricevuto un errore:

Impossibile aprire il display:: 2

Come devo programmare se non riesco a far funzionare i display? Puoi davvero fare tutto? Come è possibile eseguire programmi, come Vim e gcc, sui display 3 e 999? Dove sono loro?

Risposte:


5

Oltre a tutti i riferimenti a: 1,: 2, ecc .; puoi anche specificare un nome di rete o un indirizzo IP prima dei due punti, ad esempio 192.168.0.1:0 - questo si collegherà a una macchina sulla rete. La maggior parte dei moderni server X hanno l'autenticazione ("MIT-MAGIC-COOKIE"), dovrai risolverli prima di connetterti - vedi xhoste xauth.

Inoltre, se lo usi ssh -X <remotehost>, tutti i comandi X che esegui in quella sessione ssh si collegheranno a una porta diversa (viene mostrato un rapido test sulla mia casella :10), che viene quindi reinserito attraverso la tua connessione ssh nella casella da cui provieni, e verrà visualizzato sullo schermo lì.


10

Ha a che fare con X Window Server. Definiscono quali numeri di visualizzazione ci sono.

Non dovresti preoccuparti di supportare esplicitamente un numero visualizzato; al massimo, devi semplicemente consegnare il riferimento alla libreria di X Window Client e farlo capire.

I server moderni possono rendere disponibili più display con adattatori multi-head e con più adattatori. La stragrande maggioranza delle volte, :0sarà la tua unica esibizione. Questo perché ce n'è davvero solo uno, ed è il numero predefinito quando ce n'è solo uno. È possibile farlo iniziare come :2, cosa insolita, ma tutto funzionerebbe ancora bene.

Con display multi-head e / o più schede, è possibile avere un X Server che gestisce più display come schermi discreti (cioè con cose come Xinerama disattivato). Quindi è possibile ottenere numeri di visualizzazione come :0.0e :0.1. Ho usato un desktop come questo per molto tempo. Nulla si è rotto perché tutto ha preso il numero visualizzato e lo ha semplicemente consegnato alla libreria X Client. Un vantaggio insolito è che ogni schermata ottiene il proprio elenco di desktop virtuali. In un display Xinerama, non puoi farlo. Ma hai lo svantaggio di non essere in grado di spostare le finestre tra gli schermi, perché hanno numeri di visualizzazione diversi.

Puoi persino fare cose come eseguire più server X. Questo è quando ottieni :0e così via :1. Il problema è chi ottiene la tastiera e il mouse.


vnc utilizza anche: 1,: 2, ecc.

Lo stavo per menzionare, ma non mi andava bene quando l'ho pensato per la prima volta e poi me ne sono dimenticato.

In passato ho eseguito un server X11 in un emulatore Mac ( en.wikipedia.org/wiki/Macintosh_Application_Environment ) su una workstation Sun. Potrei mettere un xterm nello spazio di lavoro Sun nativo con: 0 e un altro nell'emulatore Mac con: 1.
mouviciel,

4

Per impostazione predefinita, una macchina esegue normalmente un solo display: 0, che è normalmente su VT 7.

Se esegui un secondo server X, sarà: 1. Puoi farlo dalla riga di comando, ma il modo più semplice è scegliere "avvia nuova sessione" in KDE (presumo che GNOME abbia un equivalente, ma non ne ho familiarità). Ciò ti consente di accedere nuovamente su un secondo server X, che sarà in esecuzione su VT 8 (ad esempio, puoi scambiarli con Ctrl-Alt-F7 e Ctrl-Alt-F8).

Dovresti quindi essere in grado di eseguire le applicazioni utilizzando "DISPLAY =: 1 xterm" o altro.


2

Puoi accedere solo ai display presenti sul tuo computer (di solito solo uno 0 ). Tuttavia ci sono programmi che possono creare nuovi display come windows come xnest .

Ma la lacca e la statica hanno ragione, la maggior parte delle volte non ti interessano i display.

Per maggiori informazioni vai a leggere sul sistema X Window .


1

Non preoccuparti di usare altri display all'inizio. Probabilmente l'unica volta che dovrai preoccuparti dei display è quando ti connetti a un computer remoto e colleghi le tue applicazioni remote al display.

Le applicazioni che scrivi non dovranno preoccuparsi direttamente del display; la libreria X se ne occuperà per te.


1

L'utente staticsan ha riferito di un problema:

Puoi persino fare cose come eseguire più server X. Questo è quando ottieni: 0 e: 1 ecc. Il problema è chi ottiene la tastiera e il mouse.

Ero interessato perché esattamente diventa un problema "chi ottiene la tastiera e il mouse". Ho trovato la risposta nell'articolo, raccomandato dall'utente Charlie Martin, nella mia altra domanda a [1]:

un singolo display è definito dalla documentazione X11 come avente esattamente una tastiera e un puntatore (cioè un mouse), ma potenzialmente più CPU, monitor, ecc.

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


0

In effetti eseguo due server X (alcuni programmi X che utilizzo non amano i moderni gestori di finestre).

Nella mia configurazione, ognuno ottiene un VTERM e quello attivo ha tastiera e mouse.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.