Hallo friend1,
der Hauptgrund, warum das unter (debian-)Linux nicht sofort funktioniert ist, dass der X-Server mit
-nolisten tcp gestartet wird.
Ich habe das gleiche Problem erst letze Woche gehabt, also ist die Information noch relativ frisch.
Es müssen folgende Voraussetzungenen gegeben sein :
- der X-Server auf Deiner Linux Maschine muss
ohne das o.g. -nolisten tcp gestartet sein
- andere Rechner müssen auf dein Display zugreifen dürfen
- die richtige Display-Angabe auf dem Rechner, auf dem der X-Client läuft, den Du auf der Linux Büchse anzeigen willst.
Im einzelnen :
1.) Startinformationen für den X-ServerHier kann ich nur für kde sprechen. Für andere Benutzeroberflächen liegen die Konfigurationsdateien sicher an anderer Stelle. Für diese ist es also in erster Linie ein Anhaltspunkt.
Die Suche nach diesen Infos war unheimlich zeitaufwändig und ich habe mal wieder eine ganze Menge gelernt
Im Verzeichnis
/etc/kde3/kdm finden sich die Konfigurationsdateien für X. Für andere kde-Versionen ist das evtl. ein anderes Verzeichnis.
Hier ist die Datei
kdmrc interessant, in der sich unter dem String
ServerCmd= die Parameter für den X-Start finden lassen. Hier müsste in Deinem Fall auch das
-nolisten tcp stehen. Am besten machst Du Dir eine Sicherungskopie der Datei, wirfst das '-nolisten tcp' raus und startest den X-Server neu (der harte Weg : CTRL+Backspace) oder machst einen reboot.
2.) Zugriff anderer Rechner auf Dein Displaygeht, wie hier im Thread ja schon richtig angemerkt, mit
xhost + am einfachsten. Aber
ACHTUNG : diese Möglichkeit nur dann nutzen, wenn Du allen in Deinem Netzwerk befindlichen usern absolut vertraust !!!!
Besser, aber auch immer noch nicht wirklich sicher, ist die Angabe eines Hostnamens nach dem '+'-Zeichen, also z.B.
xhost +blabla. Dann darf nur dieser Rechner auf dein Display zugreifen.
Am sichersten ist, das über die
xauth-Funktion zu konfigurieren.
Dazu machst Du auf dem Host, auf dem angezeigt werden soll ein
xauth extract <dateiname> $DISPLAY, was Dir Auhorisations-Informationen für Dein gerade aktuelles Display in die Datei <dateiname> stellt.
Diese Datei überträgst Du auf den Rechner, auf dem Du die X-Clients laufen lassen willst. Dort machst Du dann einen
xauth megre <dateiname>.
Damit wird die Information in Deiner .Xauthority-Datei abgelegt.
In der Folge davon sollte dieser Rechner dann auf Dein Linux-Display zugreifen dürfen.
Ich empfehle Dir ein Studium des xauth-Befehls, damit Du genau weisst, was passiert.
Wichtig ist auch, dass Du das immer mit dem Benutzer machst, der zugreifen will bzw. auf dessen Display zugegriffen werden darf.
3.) Die richtige Display-Angabe auf dem Rechner, auf dem der X-Client läuft, den Du auf Linux anzeigen willstOb das für die xauth-Geschichte auch notwendig ist, weiss ich nicht, aber für xhost auf jeden Fall. Bei xauth wird das ja über die extract/merge Funktion schon gemacht - denke ich.
Du musst natürlich das Display des Rechners angeben, dessen Display Du verwenden willst. Also z.B. (bash) :
export DISPLAY=rechner.domain:0Amerkung :Meine Ausführungen erheben keinen Anspruch auf Vollständigkeit. Ich habe mit xauth rumgespielt (bevor ich das mit dem '-nolisten tcp' wusste) und dann xhost verwendet, weil ich nur etwas testen wollte.
Ergänzungen und Richtigstellungen, falls ich mich irgendwo vertan habe, sind natürlich herzlich willkommen.
Viel Erfolg
Matthias