Display-Forwarding ohne X11

gorefest

Erfahrenes Mitglied
Hallo,

ich habe folgendes Problem :

ich möchte eine Java-Software (Eclipse RCP um genau zu sein) auf meinem Server ausführen. Ich habe die GTK-Libs dafür installiert, möchte aber keinen X-Server dafür laufen lassen.

wenn ich mittels ssh -X root@foobart auf meinen Server gehe, dann bekomme ich beim Start der Anwendung die Meldung

No more Handles [gtk_init_check() failed]

Gibts da einen Trick?

Danke im Voraus!

Grüße,
gore
 

ikosaeder

Teekannen-Agnostiker
Wenn du X-Anwendungen ausführen willst brauchst du immer einen X-Server.
Bei dem was du vorhast, musst du einen auf deinem Client laufen lassen. Das -X beim Login bewirkt, das die Anfragen die ein Programm an den X-Server stellt, über die SSH Verbindung an deinen Client weitergeleitet werden. Der lokale X-Server dort erzeugt dann die grafische Oberfläche.
Kleiner Sicherheitstipp: Das Login für root per ssh verbieten statt dessen als User einloggen und mit su root werden.
 

gorefest

Erfahrenes Mitglied
Hi, danke für Eure Antworten!

Ich habe meine sshd-Konfig angepasst und

X11Forwarding yes

eingeschaltet.

Leider hat das zu nichts geführt.

Ich komme von einem Linux-Server (Suse) und gehe auf einen Linux-Server (centos). Meinen client X-Server habe ich mit xhost+ schon entsprechend angebohrt und komme auf meinen Server mittels ssh -X.

Muss auf dem Server ebenfalls ein X-Server laufen? Ich dachte immer, dass ssh -X reicht?

Danke für Eure Hilfe :)
 

gorefest

Erfahrenes Mitglied
Hi, hier der Output :
Code:
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
	at org.eclipse.swt.SWT.error(Unknown Source)
	at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
	at org.eclipse.swt.widgets.Display.create(Unknown Source)
	at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Display.getDefault(Unknown Source)
	at org.eclipse.swt.widgets.Display$1.run(Unknown Source)
	at org.eclipse.swt.graphics.Device.getDevice(Unknown Source)
	at org.eclipse.swt.graphics.Resource.<init>(Unknown Source)
	at org.eclipse.swt.graphics.Image.<init>(Unknown Source)
	at com.application.areca.launcher.gui.common.ArecaImages.loadImage(ArecaImages.java:107)
	at com.application.areca.launcher.gui.common.ArecaImages.<clinit>(ArecaImages.java:43)
	at com.application.areca.launcher.gui.Application.<clinit>(Application.java:140)
	at com.application.areca.launcher.gui.Launcher.launchImpl(Launcher.java:167)
	at com.myJava.system.AbstractLauncher.launch(AbstractLauncher.java:47)
	at com.application.areca.launcher.gui.Launcher.main(Launcher.java:75)
13-01-04 14:13 - WARNING - Critical error during initialization ... exiting.
13-01-04 14:13 - ERROR - Unexpected error

13-01-04 14:13 - INFO - Closing Areca (force=false)
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
	at org.eclipse.swt.SWT.error(Unknown Source)13-01-04 14:13 - INFO - Closing Areca (force=false)

	at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
13-01-04 14:13 - INFO - Closing Areca (force=false)	at org.eclipse.swt.widgets.Display.create(Unknown Source)

	at org.eclipse.swt.graphics.Device.<init>(Unknown Source)

DISPLAY ist leer

xev habe ich installiert, sagt er :

Code:
# xev
xev:  unable to open display ''

Meine sshd_conf ist diese :

Code:
Protocol 2
SyslogFacility AUTHPRIV
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT 
AcceptEnv LC_IDENTIFICATION LC_ALL
X11Forwarding yes 
X11UseLocalhost yes
Subsystem	sftp	/usr/libexec/openssh/sftp-server

Irgendeine Idee?
 

olqs

Erfahrenes Mitglied
Hast du am Server das Packet xauth installiert? Dann sollte das eigentlich out-of-the-box gehen, auch ohne das "xhost +" am Client/Suseserver.

Falls es trotzdem nicht geht, dann setz mal die DISPLAY Variable per Hand:
export DISPLAY="suseserver:0"
Damit wird aber das X11 Forwarding per ssh umgangen und das xhost + ist auf jeden Fall nötig.
 

deepthroat

Erfahrenes Mitglied
Dann kann es nicht funktionieren.

Scheinbar hat die X11 Weiterleitung nicht geklappt. Oder hast du dich da noch als anderer User angemeldet (mit su?) oder wurde die DISPLAY Variable irgendwo (bashrc) gelöscht?

Verwende mal den -v Schalter für ssh und schau ob da Probleme auftreten.

Die DISPLAY Variable muss auch auf dem lokalen System (Suse) gesetzt sein.

xauth verwendet ssh automatisch.