Wie zum ausführen eines X-Programms von außen die X-session (z.B. über die Konsole oder SSH)
Ohne dass die person angemeldet auf der Konsole, wie führe ich eine X-Anwendung und haben es zeigt auf, dass die X-session? Nehme an, ich bin entweder "root" oder " ich bin der gleiche Benutzer angemeldet, also im Prinzip habe ich persmission, dies zu tun. Aber wie überzeuge ich X?
Einige Beispiele von Situationen wie diese:
- Melden Sie sich mit SSH und ein Programm ausführen, erscheint auf der Bildschirm des entfernten Computers (nicht getunnelt durch SSH—völlig unterschiedlich)
- Ein cron-job, um einen screenshot von der X-Sitzung via ImageMagick ist
import
Befehl - Läuft ein keystroke-logger für audit-Zwecke
Dies ist eine einfachere version von Starten von OpenGL-Anwendung direkt von einem fensterlosen Linux Terminal
InformationsquelleAutor der Frage JasonSmith | 2009-10-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die kurze Antwort ist, dass Sie haben, um die
DISPLAY
Umgebungsvariable und dann die app ausgeführt wird.Die lange Antwort ist, dass wir haben Xauth, und sofern Sie unter dem gleichen Benutzer auf der gleichen Maschine, die wahrscheinlich nicht zur Arbeit gehen, es sei denn, Sie exportieren die Xauth Berechtigung aus der account läuft der X-server auf den account läuft, der X-client.
ssh -X
übernimmt dies für Sie, das ist, warum es ist genial, aber das manuelle Verfahren umfasst das ausführenxauth extract - $DISPLAY
auf die X-server-Konto ein und füttert die Daten inxauth merge -
auf dem Kunden-account. (Achtung: die Daten Binär.)Auf modernen Linux-Systemen gibt es eine X Sitzung am :0 und die X11-Normdaten-Datei ist immer
$HOME/.Xauthority
so können Sie die meisten oft zwei Umgebungsvariablen, zum Beispiel in der Bash:InformationsquelleAutor der Antwort hobbs
Das Ergebnis ist, dass Sie haben, um zu wissen, die X-Anzeige (platziert in der
DISPLAY
environment-variable) und der magic cookie (in einer Datei, mit dem Dateinamen in derXAUTHORITY
environment-variable).Quick-and-dirty Weg
Auf dem system X läuft, wenn Sie root sind, oder Sie sind der gleiche Benutzer angemeldet sein, um X, nur annehmen, die häufigste display-und cookie-Dateien (funktioniert auf nahezu jedem standard-desktop-Installation von jeder Distribution).
Die mehr todsichere Methode,
Finden Sie aus der Umgebung von einer bereits Laufenden X-Programm. Wieder, wenn du root bist, oder der gleiche Benutzer angemeldet ist, wird diese Ihnen sagen, (wenn der Benutzer wird mit GNOME):
InformationsquelleAutor der Antwort JasonSmith