Auf meinem Hauptcomputer ist ein Ubuntu-Desktop geöffnet und angemeldet. Ich melde mich dann auch von einem Remotecomputer mit X2go bei diesem Computer an, wodurch eine neue X-Sitzung erstellt wird. Ich habe eine libreoffice-Datei in der ursprünglichen Sitzung geöffnet . Ich möchte diese Datei speichern und schließen - aber von der Remote-Maschine! (In beiden Sitzungen ist derselbe Benutzer angemeldet. Bei Bedarf kann ich sudo.)
Ich habe versucht, zu verwenden, xdotool search
aber dies findet das Fenster nicht. Gibt es eine Möglichkeit, in dieser zweiten Sitzung das zu tun, was ich will? Ich kann den Prozess mit sehen, ps -A
ich kann sogar die geöffnete Datei mit sehen lsof
! Wie kann ich ein "Speichern und Schließen" durchführen?
DISPLAY=:0
(oder die Anzeige Ihres anderen Kontos). Starten Sie dann den Server und rufen Sie ihn vom Client aus auf. Aber das könnte übertrieben sein. LibreOffice hat möglicherweise ein Nachrichtenprotokoll - ich bin nicht sonderlich vertraut damit, da ich in Vim (einschließlich LaTex) entweder Google TextDISPLAY:1
ein beliebiges X-Programm aus (xeyes for test) und führen Sie es unter dem VNC aus. Gleiches gilt für Remote-VNC-Server. SSH in Maschine und dann einfach Export ausführen DISPLAY: 1 bevor Sie verwenden.Antworten:
Unter der Annahme der Standardkonfiguration würde xdpyinfo auf "original" eine Anzeige von ": 0.0" anzeigen, z
Wenn Ihre DISPLAY-Umgebungsvariable auf "x2go" ": 1.0" ist, sollte dies der Fall sein.
Von einem Terminal auf "x2go" Versuchen Sie, die Fenster-ID zu finden:
Es ist möglich, dass die Zugriffssteuerung so eingerichtet ist, dass sie nicht funktioniert, aber ich denke, dies sollte der Fall sein, wenn Sie dieselbe Benutzer-ID auf demselben Host haben (dh Zugriff auf ~ / .Xauthority). Überprüfen Sie die Ausgabe "xauth list", wenn kein Zugriff möglich ist.
Wenn es funktioniert, verwenden Sie Ihr Lieblingswerkzeug, um es zu steuern. Fügen Sie der obigen xwininfo "-int" hinzu, um die Fenster-ID dezimal zu drucken, wenn Ihr Tool dies auf diese Weise erfordert. Xdotool tut dies nicht:
oder Sie haben vielleicht mehr Glück mit diesen anstelle von "Strg + s" / "Strg + q"
Möglicherweise benötigen Sie "alt +" anstelle von "meta +". Ich habe nicht standardmäßige Meta / Alt / Super-Zuordnungen. Meta funktioniert für mich, getestet mit einem Xnest. Ich gehe von einem unveränderten englischen Menülayout und Beschleunigern aus.
Möglicherweise steht Ihnen ein Popup im Weg. In diesem Fall lohnt es sich, Folgendes zu versuchen:
einige Male, dann wiederholen Sie das Speichern und Schließen. Denken Sie daran, xdotool ist pingelig in Bezug auf den genauen Fall von "Schlüssel" -Namen.
Sie sollten in der Lage sein, all dies zu versuchen, indem Sie libreoffice auf x2go starten und Ihr DISPLAY NICHT ändern. Sie sollten die Befehle in einer Shell-Skriptdatei speichern, damit Sie durch Fokusänderungen nicht durcheinander gebracht werden.
lsof sollte zeigen, dass die Datei nicht mehr geöffnet ist, wenn es funktioniert hat :-)
quelle
xdotool key "Escape"
auf Namen, aber nicht versucht lange Namen: DEs sieht so aus, als gäbe es einige mögliche Anforderungen. Anscheinend muss sich der Host in der xhosts-Datei befinden (sie wurde als Antwort markiert) und der entsprechende DISPLAY-Wert exportiert werden. Dieser Beitrag hier soll Ihnen dabei helfen, es so zu machen, wie Sie es möchten , damit xdotool das entfernte x11-Fenster finden kann .
quelle