Gibt es eine Möglichkeit, mit jemandem an seinem Desktop zu kommunizieren?

36

Meine Frau sitzt an ihrem Desktop zu Hause alpha, auf dem eine aktuelle Version von Ubuntu ausgeführt wird. Ich bin mit ConnectBot auf meinem G1-Telefon in einem Bus und kann alphavon jedem beliebigen Ort aus SSH-Verbindungen herstellen .

Aus komplizierten Gründen kann ich weder IM noch E-Mail oder Telefon verwenden, um mit ihr in Kontakt zu treten. (ZB möchte ich das Baby nicht wecken, mein IM-Client ist kaputt, mein E-Mail-Server ist ausgefallen.) Meine einzige Möglichkeit ist, aus der alphaFerne in ssh zu wechseln und zu versuchen, etwas auf dem Bildschirm erscheinen zu lassen. Sie benutzt KDE. Wie kann ich etwas auftauchen lassen, um ihre Aufmerksamkeit zu erregen und sie wissen zu lassen, dass ich versuche, mit ihr zu kommunizieren? Ich dachte, es wäre möglich, aus der Ferne etwas (wie xmessage) auszulösen, das auf ihrem Bildschirm angezeigt wird, obwohl meine SSH-Sitzung kein X-Display hat.

BEARBEITEN: Zur Verdeutlichung, auf meinem Telefon wird kein X-Flavor ausgeführt, sodass X-over-ssh nicht möglich ist. Würde das folgende funktionieren?

$ export DISPLAY=:0
$ xmessage "test"
dirtside
quelle
Senden Sie eine SMS an ein Telefon im lautlosen Modus ... oder bin es nur ich?
Nivas
Verwandte Frage:
Gibt

Antworten:

27

Sie können einem X-Programm mitteilen, welche Anzeige mit der DISPLAYUmgebungsvariablen verwendet werden soll, solange Sie wissen, welche Anzeige alphagerade angezeigt wird. Die einzige Anzeige ist :0mit ziemlicher Sicherheit , es sei denn, Sie haben manuell damit experimentiert. Wenn Sie also Folgendes ausführen:

$ export DISPLAY=:0

Dann werden alle X-Anwendungen, die Sie ausführen, auf alphadem Monitor angezeigt . xmessageist eine gute Wahl zum Anzeigen von Nachrichten. es gibt auch xdialog. Wenn Sie libnotifyinstalliert haben, können Sie notify-sendeine Nachricht in der Ecke des Bildschirms anzeigen:

Beispiel

Michael Mrozek
quelle
Wird xauthoder wird xhostes auch hier benötigt?
Mikel
@Mikel Ich bin nicht sicher, wie die Sicherheit funktioniert, wenn ein anderer Benutzer X ausführt. Ich denke es ist in Ordnung. Ich habe es bisher nur verwendet, xhostum Remoteverbindungen zuzulassen, aber er sendet SSH direkt an den Computer
Michael Mrozek
Es ist in Ordnung, wenn Sie sich mit demselben Konto anmelden können, mit dem sie angemeldet ist. Andernfalls müssen Sie sich mit der X-Zugriffskontrolle befassen.
user7440
10

Wie Michael Mrozek zeigt , können Sie X-Anwendungen ausführen, die auf dem Desktop Ihrer Frau angezeigt werden. Alles, was Sie tun müssen, ist, die DISPLAYUmgebungsvariable (fast immer :0) auf den richtigen Wert zu setzen ... und sich autorisieren zu lassen.

Diese Lösung setzt voraus, dass Sie über die Berechtigung verfügen, die Dateien Ihrer Frau zu lesen. Für den Zugriff auf den X-Server ist ein Authentifizierungs- Cookie erforderlich. Hierbei handelt es sich um ein Kennwort, das beim Start von X zufällig generiert und in einer Datei gespeichert wird. Die Akte ist häufig ~/.Xauthority; Ist dies nicht der Fall, muss dies in der XAUTHORITYUmgebungsvariablen angegeben werden. Unter Ubuntu mit der Standardeinstellung (unter Verwendung von Gdm) befindet sich das Sitzungscookie Ihrer Frau nicht ~wife/.Xauthorityin einer Datei, sondern in einer Datei mit einem automatisch generierten Namen. Siehe ssh DISPLAY-Variable . Siehe auch Kann ich als Root ein Grafikprogramm auf dem Desktop eines anderen Benutzers starten? , Linux: wmctrl kann die Anzeige nicht öffnen, wenn die Sitzung über ssh + screen gestartet wird .

Wenn Ihre Frau ein Textterminal geöffnet hat, können Sie, write wie von user7440 vorgeschlagen , Text in ihr Terminal schreiben. Dies setzt voraus, dass das Terminal solche Benachrichtigungen akzeptiert. Sie können dies mit mesg yoder ein- und ausschalten mesg n, und ich weiß nicht, wie der Standardstatus moderner Terminalemulatoren lautet.

Ein anspruchsvollerer Mechanismus, der writeist talk. Das Gesprächsprotokoll ist der Vorfahr der Chat-Programme. Sie können mit jedem auf einem Computer sprechen, auf dem ein Talk-Server ausgeführt wird und dessen UDP-Port 517 oder 518 (es gibt zwei Protokollvarianten) nicht gefiltert wird. Also installiere talkd Installiere talkd http://bit.ly/software-small , einen Client wie ytalk Installiere ytalk http://bit.ly/software-small , und ytalk wife. Es gibt auch einen X-Client, xtalk Install xtalk http://bit.ly/software-small . Soweit ich weiß, ist das Sprechen einfach vom Radar gefallen (jeder, der sich dafür interessiert, benutzt eine der modernen Chat-Prozeduren), und es gibt keine Systemkomponente, die eine KDE-Benachrichtigung über eine Sprechanfrage erzeugen würde.

Während Sie sagen, Sie können keinen IM-Client ausführen ... wäre ein Befehlszeilen-IM-Client, der auf Ihrem Heimcomputer ausgeführt wird, auf den über SSH zugegriffen wird, in Ordnung? Es gibt zum Beispiel weechat Install weechat http://bit.ly/software-small . Sie wären immer noch auf den Server angewiesen, der Sie mit Ihrer Frau verbindet, aber auf diesen kann nur von Ihrem Heimcomputer aus zugegriffen werden, nicht von Ihrem Telefon aus.

Gilles 'SO - hör auf böse zu sein'
quelle
finchist die Kommandozeilenversion von pidgin.
LawrenceC
4

Wenn sie ein Terminalfenster geöffnet hat (verwenden Sie 'who', um herauszufinden), können Sie mit 'write' in dieses Terminal schreiben. Dies funktioniert nicht mit dem Hauptterminal, da KDE es verbirgt, aber jedes Terminalfenster sollte funktionieren (wenn es sich auf dem aktuellen Desktop befindet, nicht minimiert, schaut sie es sich an ...).

user7440
quelle
3

Ich bin mir nicht 100% sicher, ob die Einstellung DISPLAY=:0.0funktionieren wird. Ich denke, Sie brauchen einen Weg, um autorisiert zu werden, sich mit dem X-Server auf dem PC Ihrer Frau zu verbinden. Die Tools dafür sind xhostund xauth, aber sie scheinen zu erfordern, dass Sie bereits Zugriff auf den X-Server haben, sodass sie vermutlich nur von Ihrer Frau ausgeführt werden können. (Henne-Ei-Problem.)

Andernfalls können Sie möglicherweise einen zweiten X-Server starten, z. B. mit X :1oder chvthelfen.

Zum Beispiel so etwas wie

# X :1
# export DISPLAY=:1.0
# xmessage 'hello'

scheint auf meinem System zu funktionieren, wenn ich es als root ausführe.

X :1 wurde auf vt7 auf meinem system gestartet, damit du auch laufen kannst

# chvt 7

um sicherzugehen, dass diese X-Anzeige die aktuell sichtbare ist.

Mikel
quelle