ubuntuusers.de

Remote GUI-Programm starten ?

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

psyc

Avatar von psyc

Anmeldungsdatum:
17. Juli 2007

Beiträge: 206

Wohnort: Hamburg

Moin,

folgenden Befehle kann ich per ssh auf meinem 2. Rechner absetzen, um dort ein Programm zu starten:

Rechner-1: mein Notebook vor dem ich sitze

Rechner-2: mein PC, dort ist BENUTZER angemeldet

ich@Rechner-1:~$ ssh rechner-2
ich@Rechner-2:~$ su BENUTZER
Passwort: ...
BENUTZER@Rechner-2:~$ DISPLAY=:0 firefox

Auf dem Monitor von meinem PC kann ich sehen, dass Firefox startet.

Nun schließt sich jedoch Firefox, sobald ich versuche die ssh-Sitzung zu schließen. Wie kann ich also remote das Programm starten und das Programm weiter laufen lassen, wenn ich die ssh-Sitzung beende?

Im nächsten Step wollte ich das ganze gern als Script bauen. Das scheint nicht so einfach zu gehen. Firefox wird nicht gestartet. und ich erhalte eine Fehlermeldung:

Script ~/sh/test.sh

#!/bin/bash
su BENUTZER
DISPLAY=:0 firefox

Fehler:

ich@Rechner-2:~/sh$ ./test.sh 
Passwort: 
BENUTZER@Rechner-2:/home/ich/sh$ exit <<<nichts passiert, also gebe ich exit ein
exit
No protocol specified
No protocol specified
No protocol specified
No protocol specified
Error: cannot open display: :0
ich@Rechner-2:~/sh$ 

Ich habe schon gegooglet, aber für die beiden Probleme noch keinen funktionierenden Ansatz gefunden.

Hat vielleicht einer von Euch einen Tipp, wonach ich suchen sollte?

THX psyc

Fanatics

Avatar von Fanatics

Anmeldungsdatum:
25. August 2010

Beiträge: 1032

vielleicht hilft nohup

psyc

(Themenstarter)
Avatar von psyc

Anmeldungsdatum:
17. Juli 2007

Beiträge: 206

Wohnort: Hamburg

Fanatics schrieb:

vielleicht hilft nohup

Super, Danke. Der Tipp löst schon mal mein erstes Problem.

Das Script wirft immer noch Fehler, aber das werde ich gleich mal ordentlich googlen ☺

Auf der Console erreiche ich mein Ziel:

ich@Rechner-1:~$ ssh rechner-2
ich@Rechner-2:~$ su BENUTZER
Passwort: ...
BENUTZER@Rechner-2:~$ DISPLAY=:0 firefox &

Juchu.

Nun jedoch das Ganze als Script: ~/sh/test.sh

#!/bin/bash
su BENUTZER
export DISPLAY=":0"
firefox &
exit

Hier die Reaktion:

ich@Rechner-2:~/sh$ ./test.sh 
Passwort: 
BENUTZER@Rechner-2:/home/ich/sh$    <<< Nichts passiert, also gebe ich exit ein
BENUTZER@Rechner-2:/home/ich/sh$ exit
exit
ich@Rechner-2:~/sh$ No protocol specified
No protocol specified
Error: Can't open display: :0

ich@Rechner-2:~/sh$ 

psyc

(Themenstarter)
Avatar von psyc

Anmeldungsdatum:
17. Juli 2007

Beiträge: 206

Wohnort: Hamburg

Nach langem Suchen und Forschen und Ausprobieren, hier meine Lösung:

test.sh

#!/bin/bash
sudo -H -u BENUTZER DISPLAY=:0 /usr/bin/xeyes &

Der ausführende User muss natürlich sudo-berechtigt sein. Was in meinem Fall passt!

Gruß psyc

Antworten |