ForumProblem mit Azureus
Sven Freihofer – Freitag, 25. Februar 2005 16:07 Uhr

Hallo zusammen Ich nutze Azureus schon längere Zeit und bin damit eigentlich ganz zufrieden. Ich möchte Azureus nun aber auch über meinen SSH-Client vom Desktop-PC aus starten können. Leider will das ganze nicht so recht klappen, da Azureus immer mit einer mir unverständlichen Fehlermeldung abbricht:

Ausgabe im SSH-Client:
Starting Azureus…
Loading Azureus:
/usr/bin/java -Xms16m -Xmx128m -cp
“/opt/azureus//Azureus2.jar:/opt/azureus//swt-mozilla.jar:/opt/azureus//swt-pi.jar:/opt/azureus//swt.jar”
-Djava.library.path=”/opt/azureus/” -Dazureus.install.path=”/opt/azureus/”
org.gudy.azureus2.ui.swt.Main ”
Exception in thread “main” org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:2717)
at org.eclipse.swt.SWT.error(SWT.java:2616)
at org.eclipse.swt.SWT.error(SWT.java:2587)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:716)
at org.eclipse.swt.widgets.Display.create(Display.java:701)
at org.eclipse.swt.graphics.Device.(Device.java:113)
at org.eclipse.swt.widgets.Display.(Display.java:409)
at org.eclipse.swt.widgets.Display.(Display.java:405)
at
org.gudy.azureus2.ui.swt.mainwindow.SWTThread.(SWTThread.java:71)
at
org.gudy.azureus2.ui.swt.mainwindow.SWTThread.createInstance(SWTThread.java:55)
at org.gudy.azureus2.ui.swt.mainwindow.Initializer.(Initializer.java:106)
at org.gudy.azureus2.ui.swt.Main.(Main.java:73)
at org.gudy.azureus2.ui.swt.Main.main(Main.java:100)
Azureus TERMINATED.

Weiss jemand rat woran das es liegt? Wäre es ev. besser wenn ich das Programm gleich beim Hochfahren des Servers automatisch mitstarten lasse? Ich blick da im Moment echt nicht mehr durch *seufz*

1 Antwort
Henning Moll – Samstag, 26. Februar 2005 09:58 Uhr

Dir kann geholfen werden!

SWT beschwert sich mit einer etwas unverständlichen Fehlermeldung über einen
fehlenden X-Server.

Du mußt die ssh-Verbindung mit X11 forwarding aktivieren (z.b. ssh -X).
Außerdem muß die Gegenstelle (der sshd) dies auch zulassen. Dazu reicht z.b.
folgender Eintrag in der /etc/ssh/sshd_config: X11Forwarding yes

Viel Erfolg
Henning

Sven Freihofer – Samstag, 26. Februar 2005 11:02 Uhr

Hallo Henning

Die von dir genannten Einstellungen stehen schon so in den config-files drin. Leider hat auch ein Neustart nichts gebracht. So wie es aussieht werd ich wohl das ganze nie hinkriegen, dass ich den Server ohne Tastatur und Bildschirm betreiben kann… :-(

Henning Moll – Dienstag, 01. März 2005 08:26 Uhr

Was ist mit deinem Desktop-PC? Linux oder Windows? Die Variante mit ‘ssh -X’
erwartet natürlich einen laufenden X-Server auf dem Client. (Das würde zwar
auch unter Windows möglich sein, ist aber nicht so schön…)

Was passiert, wenn Du Dich mit ‘ssh -X’ auf dem Server eingloggst und dann

echo $DISPLAY

eingibst?
Die Netzwerkverbindung zwischen Server und Client muß natürlich auch die
“X-Verbindung” ermöglichen, daher die Firewall(s) daraufhin konrtollieren

Henning

Sven Freihofer – Dienstag, 01. März 2005 15:27 Uhr

Auf meinem Desktop-PC läuft meistens Windows (Suse 8.2 und XP sind beide drauf). Ich habe mir X-Win32 von Starnet geholt und kann dann auch ganz toll auf meinen Linux-Rechner damit zugreifen — also das System verwalten usw.
Das Problem ist wirklich nur, dass wenn ich mich mit X-Win32 einlogge keine Programme am laufen halten kann, nachdem ich die Verbindung zum Linux-Rechner wieder schliesse (also mit korrektem Abmelden von KDE zuerst). Solange die Verbindung steht geht alles super.

Ich kann dann (ausser auf Swat, aber dieses Problem lös ich später noch) auf alles über irgendwelche WebInterfaces zugreifen ohne Probleme (Programm ist ja offen und läuft).

Mit ssh -X und echo $DISPLAY bin ich nicht klar gekommen. Ich weiss nicht in welchem Programm ich dies eingeben muss.

Vielleicht kannst du oder jemand anderer mir mit diesen zusätzlichen Infos die ich euch jetzt noch gegeben habe aber schon weiterhelfen.

Sven

Henning Moll – Mittwoch, 02. März 2005 23:26 Uhr

Mir ist nicht ganz klar, was Du eigentlich willst. In Deinem ersten Posting
schreibst Du, daß Du azareus mittels ssh ausführen willst. In Deinem letzten
Posting ist dann plötzlich die Rede von einer gestarteten KDE-Sitzung…

Wie startest Du diese Sitzung? Von der ssh-Konsole via ‘startkde’? Oder über
den XDMCP-Mechanismus deines X-Servers? (Gleich vorweg: Mit letzterem habe ich
keine Erfahrung)

> Mit ssh -X und echo $DISPLAY bin ich nicht klar gekommen. Ich weiss nicht in
> welchem Programm ich dies eingeben muss.

Welchen ssh-Client verwendest Du?
Wenn Du mit ssh auf einen Server verbindest, dann wird dort eine Login-Shell
gestartet, die Ein- und Ausgabe aber vom ssh-Client (remote) erledigt. In
dieser Shell kannst Du ‘echo $DISPLAY’ eintippen. Du mußt dafür nicht extra
ein Programm starten.

Sven Freihofer – Donnerstag, 03. März 2005 14:44 Uhr

Hallo Henning

Ich habe mir wie erwähnt ein Programm geholt das unter Windows als X-Server läuft und mir per XDMCP grafischen Zugriff auf Linux auf meinem zweiten Rechner gewährt.

Ich suche im Moment nur eine möglichst einfache Methode um Programme auf meiner Linux-Kiste von Windows aus starten/beenden zu können. Dafür habe ich bis jetzt noch kein richtiges Rezept gefunden.

Wenn mir jemand sagen kann wie ich
1) das Programm starten kann,
2) das Programm aber auf meinem Linux-Rechner weiterläuft,
dann wäre ich schon einen grossen Schritt weiter.

Vermutlich reicht es schon, wenn ich weiss, wie man “Programme in den Hintergrund stellen” oder “Programme nach vorne holen” kann. Das ist mir bis jetzt noch nicht so richtig klar. Bin halt auch nach 1 Jahr Linux noch ein blutiger Anfänger.

Henning Moll – Donnerstag, 03. März 2005 23:00 Uhr

Hmm, die Sache mit dem Vorder-/Hintergrund wird vielleicht nicht wirklich helfen: Du kannst damit zwar verhindern, dass die Programme beim Beenden von KDE beendet werden. Allerdings wird evtl. Die XServer-Verbindung auch beendet und das gibt dem Programm dann den Todesstoss… Aber versuchs mal:

Mit

nohup azareus &

Startest Du azareus im Hintergrund (&) _und_ entkoppelst es von KDE (nohup). Mit

man nohup

kannst Du mehr darüber lesen.

Versuche doch alternativ aber mal folgendes:

1. Lade dir putty herunter
2. Starte auf dem Client den X-Server. Ohne XDMCP, einfach nur den X-Server.
3. starte Putty. Gebe die IP Addresse (oder DN) des Linux-Rechners ein.
4. Im Folder ‘Connection/SSH/Tunnels’ wähle X11-Forwarding. Im Feld ‘X display location’ gibst Du die Parameter deines X-Servers an (normalerweise ‘localhost:0’)
5. Klick auf ‘Open’. Jetzt sollte sich eine Konsole öffnen.
6. Kontrolliere ‘echo $DISPLAY’
7. Versuch ‘azareus’ zu starten (oder z.b. xeyes).

Sven Freihofer – Montag, 07. März 2005 19:46 Uhr

Hallo Henning

Also mit deiner Anleitung zu Putty kann ich Azureus starten und übers WebInterface darauf zugreifen. Nicht schlecht, danke.

Meine Frage ist nun noch, wie kann ich das Programm nach beenden von Putty geöffnet halten? Ich möchte ja Putty nun auch schliessen können, aber Azureus soll weiterhin seinen Dienst verrichten.

Henning Moll – Dienstag, 08. März 2005 23:58 Uhr

> Meine Frage ist nun noch, wie kann ich das Programm nach beenden von Putty geöffnet halten?

Hmm, wieder das gleiche Problem: Wenn Putty stirbt, dann stirbt auch die Verbindung zum XServer. Und da azareus eben eine Oberfläche ist, wird es auch sterben.

Mögliche Abhilfen:

1. Auf der Homepage von Azareus habe ich gelesen, dass es wohl möglich sei, das Web-Plugin ohne GUI zu starten. Das sollte dann irgendwie so gehen:

nohup java -classpath Azureus2.jar;webui_x.y.z.jar org.gudy.azureus2.ui.webplugin.remoteui.applet.RemoteUIApplet server-url &

Mir ist nicht ganz klar, ob ‘server-url’ im so Klartext angegeben werden muss, oder ob es als Platzhalter für was anderes steht…

2. Wenn Du per WebInterface zugreifst, dann wird dich ja wohl kaum interessieren, wo die GUI wirklich läuft. Du könnest also
1) Mit Putty verbinden (auch ohne Xforwarding)
2) dann einen virtuellen XServer starten (nohup Xvfb :1 &)
3) export DISPLAY=:1.0
4) nohup azareus &
5) exit (putty-Sitzung beenden). Der XServer und azareus sollten nun eigentlich weiterlaufen

3. Ähnlich wie bei 2.: Diesmal nur mit vnc
1) Mit Putty verbinden
2) nohup vncserver :1 & (vorher muss moeglicherweise mit vncpasswd ein Passwort vergeben werden…)
3) export DISPLAY=:1.0
4) nohup azareus &
5) exit
6) Jetzt könntest Du von deiner Windowkiste auch per vncviewer auf die Linuxkiste verbinden (mit dem Passwort) und die GUI steuern…

Henning

Sven Freihofer – Samstag, 12. März 2005 15:29 Uhr

hallo henning

also irgendwie krieg ich das so nicht hin, dass das programm im hintergrund weiter läuft. keine ahnung was nicht geht. ich schau mich wohl besser nach alternativen um.