Wo sind andere Anzeigen als ": 0"?

11

X Power Tools -book hat einen Satz über ": 0":

Zeigen Sie 0 auf dem lokalen Computer an, der über ein lokales Verbindungsschema verbunden ist

Ich habe versucht, eine Uhr mit "xclock -display: 2" zu öffnen, aber ich habe eine Fehlermeldung erhalten:

Anzeige kann nicht geöffnet werden :: 2

Wie soll ich programmieren, wenn die Displays nicht funktionieren? Kannst du wirklich alles drauf machen? Wie können Sie Programme wie Vim und gcc auf den Displays 3 und 999 ausführen? Wo sind sie?

Léo Léopold Hertz 준영
quelle

Antworten:

5

Zusätzlich zu allen Verweisen auf: 1 ,: 2 usw.; Sie können auch einen Netzwerknamen oder eine IP-Adresse vor dem Doppelpunkt angeben, z. B. 192.168.0.1:0 - Dadurch wird über das Netzwerk eine Verbindung zu einem Computer hergestellt. Die meisten modernen X-Server verfügen über eine Authentifizierung ("MIT-MAGIC-COOKIE"). Sie müssen dies klären, bevor Sie eine Verbindung herstellen - siehe xhostund xauth.

Wenn Sie verwenden ssh -X <remotehost>, stellen alle X-Befehle, die Sie in dieser SSH-Sitzung ausführen, eine Verbindung zu einem anderen Port her (ein schneller Test auf meiner Box zeigt dies :10), der dann über Ihre SSH-Verbindung zurück zu der Box geleitet wird, von der Sie kommen, und wird dort auf Ihrem Bildschirm angezeigt.

AMADANON Inc.
quelle
10

Es hat mit dem X Window Server zu tun. Sie definieren, welche Anzeigenummern es gibt.

Sie sollten sich nicht darum kümmern müssen, eine Anzeigenummer explizit zu unterstützen. Sie geben den Verweis höchstens einfach an die X Window Client-Bibliothek weiter und lassen ihn herausfinden.

Moderne Server können mehrere Anzeigen mit Mehrkopfadaptern und mit mehreren Adaptern verfügbar machen. Die überwiegende Mehrheit der Zeit :0wird Ihre einzige Anzeige sein. Dies liegt daran, dass es wirklich nur eine gibt, und das ist die Standardnummer, wenn es nur eine gibt. Es ist möglich, es als zu starten :2, was ungewöhnlich ist, aber alles würde immer noch gut funktionieren.

Mit Mehrkopfanzeigen und / oder mehreren Karten ist es möglich, dass ein X-Server mehrere Anzeigen als diskrete Bildschirme verwaltet (dh wenn Dinge wie Xinerama deaktiviert sind). Dann können Sie Anzeigenummern wie :0.0und erhalten :0.1. Ich habe lange Zeit einen solchen Desktop betrieben. Nichts ist kaputt gegangen, weil alles die Anzeigenummer nahm und sie einfach an die X-Client-Bibliothek weitergab. Ein ungewöhnlicher Vorteil war, dass jeder Bildschirm eine eigene Liste virtueller Desktops erhält. In einem Xinerama-Display ist dies nicht möglich. Sie haben jedoch den Nachteil, dass Sie Fenster nicht zwischen Bildschirmen verschieben können, da sie unterschiedliche Anzeigenummern haben.

Sie können sogar mehrere X-Server ausführen. Das ist, wenn Sie :0und :1usw. bekommen . Das Problem dabei ist, wer die Tastatur und die Maus bekommt.


quelle
vnc verwendet außerdem: 1 ,: 2 usw.
Ich wollte das erwähnen, aber es passte nicht, als ich zuerst daran dachte und es später vergaß.
Ich habe einen X11-Server in einem Mac-Emulator ( en.wikipedia.org/wiki/Macintosh_Application_Environment ) auf einer Sun-Workstation ausgeführt. Ich könnte ein xterm in den nativen Sun-Arbeitsbereich mit: 0 und ein anderes in den Mac-Emulator mit: 1 einfügen.
Mouviciel
4

Standardmäßig wird auf einem Computer normalerweise nur eine Anzeige ausgeführt -: 0, die normalerweise auf VT 7 angezeigt wird.

Wenn Sie einen zweiten X-Server ausführen, ist dies: 1. Sie können dies über die Befehlszeile tun, aber der einfachere Weg ist die Auswahl von "Neue Sitzung starten" in KDE (ich gehe davon aus, dass GNOME ein Äquivalent hat, aber ich bin damit nicht vertraut). Auf diese Weise können Sie sich erneut auf einem zweiten X-Server anmelden, der auf VT 8 ausgeführt wird (dh Sie können mit Strg-Alt-F7 und Strg-Alt-F8 zwischen diesen wechseln).

Sie sollten dann in der Lage sein, Anwendungen entweder mit "DISPLAY =: 1 xterm" oder was auch immer auszuführen.

Peter
quelle
2

Sie können nur auf die Anzeigen zugreifen, die auf Ihrem Computer vorhanden sind (normalerweise nur eine 0 ). Es gibt jedoch Programme, die neue Anzeigen als Fenster wie xnest erstellen können .

Aber Lacqui und Staticsan haben Recht. Meistens interessieren Sie sich nicht für Displays.

Weitere Informationen finden Sie im X Window System .


quelle
1

Machen Sie sich zunächst keine Gedanken über die Verwendung anderer Displays. Wahrscheinlich müssen Sie sich nur dann um Anzeigen kümmern, wenn Sie eine Verbindung zu einem Remotecomputer herstellen und Ihre Remoteanwendungen mit der Anzeige verbinden.

Ihre Anwendungen, die Sie schreiben, müssen sich nicht direkt um die Anzeige kümmern. Die X-Bibliothek kümmert sich um Sie.

Kevin Lacquement
quelle
1

Die Benutzerstatistik berichtete über ein Problem:

Sie können sogar mehrere X-Server ausführen. Dann erhalten Sie: 0 und: 1 usw. Das Problem dabei ist, wer die Tastatur und die Maus erhält.

Ich war interessiert, warum genau es zu einem Problem wird, "wer Tastatur und Maus bekommt". Ich fand die Antwort in dem Artikel, den der Benutzer Charlie Martin empfohlen hatte, in meiner anderen Frage unter [1]:

Eine einzelne Anzeige wird in der X11-Dokumentation so definiert, dass sie genau eine Tastatur und einen Zeiger (dh eine Maus) enthält, möglicherweise jedoch mehrere CPUs, Monitore usw.

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

Léo Léopold Hertz 준영
quelle
0

Ich verwende tatsächlich zwei X-Server (einige X-Programme, die ich verwende, mögen moderne Fenstermanager nicht).

In meinem Setup erhalten sie jeweils eine VTERM und die aktive hat Tastatur und Maus.

Joshua
quelle