Samstag, 22. September 2012

Linux, Firefox, SWAT, SSH und ein leidiges Problem

Das ist sicher schon vielen passiert, die Server verwalten. Man will "mal rasch" einen entfernten Server, z.B. Samba mit Swat verwalten und baut dazu von seinem SuSE-Desktop eine SSH-Sitzung auf:

~> xhost +192.168.1.2;
~> ssh -X user@192.168.1.2 firefox;

Rasch den Firefox gestartet, die Adresse 127.0.0.1:901 eingegeben und schon hat man das Problem...

Fehler: Verbindung fehlgeschlagen
"Geht nicht gibt's nicht!" - also genau nachgeschaut: Es wird, wenn der Firefox schon offen ist, keine neue Browserinstanz vom entfernten Host gestartet. Das was man vor sich hat ist lediglich ein neues Fenster des bereits zuvor lokal gestarteten Browsers - und damit genau das was man nicht wollte. Das ist nervig, denn so muss man jedes Mal erst seinen lokal gestarteten Firefox vollständig beenden.

Muss?

Nein! Man muss nicht! Abhilfe schafft ein "firefox --help". Dort findet man heraus, dass man den Firefox auch so starten kann:

[lokal]~> xhost +192.168.1.2;
[lokal]~> ssh -X user@192.168.1.2 firefox -new-instance;

Dann wird tatsächlich eine neue Instanz - diesmal des entfernten - Firefox  gestartet. Wem das zu viel Arbeit ist, der kann - Root-Rechte vorausgesetzt - am entfernten(!) Rechner was "drehen".

[lokal]~> xhost +192.168.1.2;
[lokal]~> ssh -X user@192.168.1.2;
[enfernt]~> sudo vi /usr/bin/firefox;

und dann ergänzt man die folgende Zeile: (Bei mir war es ein Ubuntu-Server 12.04 mit Firefox 15.0.1, also die Zeile 19)

MOZ_APP_NAME="firefox -new-instance"

Danach lässt sich der entfernte Firefox einfach starten und kümmert sich nicht mehr darum, dass bereits eine Instanz läuft - und bei einem Aufruf der Seite 127.0.0.1:901 kann man sich beim Swat anmelden.

Eine Alternative  wäre sich ein Skript anzulegen:

1. Variante: entfernt

[lokal]~> xhost +192.168.1.2;
[lokal]~> ssh -X user@192.168.1.2;
[enfernt] ~> cd ~/bin;
[enfernt] ~> echo '#!/bin/sh' > swatbrowser;
[enfernt] ~> echo 'firefox -new-instance -u http://127.0.0.1:901' >> swatbrowser;
[enfernt] ~> chmod +x swatbrowser;
[enfernt] ~> ~/bin/swatbrowser &

2. Variante: lokal

[lokal] ~> cd ~/bin;
[lokal] ~> echo '#!/bin/sh' > swatbrowser;
[lokal] ~> echo 'ssh -X $1 firefox -new-instance -u http://127.0.0.1:901' >> swatbrowser;
[lokal] ~> chmod +x swatbrowser;
[lokal] ~> swatbrowser user@192.168.1.2 &

Das Zeilenende habe ich mit dem Semikolon ";" markiert. Das "user" und "192.168.1.2" durch den korrektenBenutzername und die korrekte Adresse des entfernten Servers ersetzt werden müssen weiß hoffentlich jeder ...

Keine Kommentare:

Kommentar veröffentlichen