Login
Newsletter
So, 9. Januar 2000, 21:11

X-Server in einem Fenster starten

Es kann viele Gründe dafür geben, dass ein Benutzer nicht nur ein »fremdes« Fenster auf seinem Desktop darstellen will, sondern gleich eine komplette X-Session zur Verfügung stehen haben möchte.

Mirko Lindner

Sei es nur, dass ein anderer Benutzer für eine kurze Zeit an einem bereits laufenden Rechner will, oder Sie möchten die komplette X-Session eines anderen Rechners auf ihrem Bildschirm sichtbar machen - die Session muss »umgebogen« werden.

So wie es viele Gründe gibt, gibt es auch verschiedene Möglichkeiten, diese Aufgabe zu lösen. Eine davon ist die, dass Sie auf Ihrer Konsole einen weiteren X-Server parallel zu dem bereits laufenden starten (startx -- :1). Sie können beide Server durch die Betätigung der [STRG] und F-Tasten erreichen. Eine weitere Möglichkeit, die ich Ihnen hier auch vorstellen möchte, stellt die »fremde« X-Session nicht in einer separaten ttyX-Umgebung, sondern unter dem bereits laufenden Server in einem Fenster dar (ähnlich einer Emulation, wobei es sich bei dieser Lösung um keine Emulation eines X-Servers handelt).

Um eine komplette Session auf einen bereits gestarteten X-Server umzuleiten, bedarf es keiner zusätzlicher Applikation. Sie brauchen lediglich die sich im X-Paket befindende Applikation »Xnest«. »Xnest« stellt eine Applikation dar, die zwar wie ein Emulator funktioniert, aber X nicht emuliert. Sie reicht lediglich die von der Applikation enthalteten Informationen an einen X-Server weiter. Für einen X-Server stellt sie also einen Client dar, für alle unter Xnest gestarteten Applikationen ist sie ein Server.

Gestartet wird Xnest mit dem Befehl »Xnest« und zusätzlichen Parametern. Eine kurze Auflistung der verfügbaren Argumente erhalten Sie durch die Eingabe des Befehles Xnest -help. Wir starten nun Xnest als Bildschirm 1 (ihre »richtige« Session hat die Nummer 0) und testen die Funktionen mit dem Befehl:

Xnest :1

Es sollte ein Fenster aufgehen, in dem Sie einen funktionierenden X-Server zu Gesicht bekommen. Im Moment sehen Sie also noch nichts Spektakuläres. Sie können nun eine Anwendung in Ihrem neuen Server starten. Zum Test können Sie xterm starten. Geben Sie dazu in einem Terminal folgenden Befehl ein:

xterm -display :1

Nach der Eingabe des Befehls sollten Sie nun ein Xterm in Ihrem neuen Server sehen. Da sie (noch) keinen Fenstermanager gestartet haben, können Sie das Fenster auch nicht verschieben.

Beachten Sie bitte, dass »Xnest« sich wie ein gewöhnlicher Xserver verhält und dessen Zugriffe auch freigegeben werden müssen. Ist Ihr Xserver restriktiv konfiguriert, so kann es passieren, dass Ihnen die Ausgabe verwehrt bleibt. Im solchen Falle sollten Sie entweder die Zugriffsrechte für Ihren Xserver ändern, oder mittels der Option -ac alle »access control«-Restriktionen ausschalten (Vorsicht! In diesem Fall darf jeder auf ihre Xnest-Session Bildschirmausgaben umleiten).

Xnest :1 -ac

Wie können Sie aber einen Fenstermanager oder gar eine Umgebung wie Gnome oder KDE in Ihrer neuen Session starten? Die Antwort ist nicht schwer - Sie leiten alle Ausgaben einer Session um.

Zuerst sollten Sie die DISPLAY-Variable ändern. Nachdem dies passiert ist, können Sie KDE oder Gnome unter Xnest starten. Geben Sie dazu folgende Befehle ein (beachten Sie bitte, dass Xnest bereits gestartet werden muss, als Bildschirm 1):

export DISPLAY=localhost:1
startkde

Nach der Eingabe dieser Befehle sollte in Ihrem Xnest-Fenster das »K Desktop Environment« gestartet worden sein. Achtung! Starten Sie nicht das Environment, unter dem Sie gerade arbeiten. Sollten Sie also unter KDE arbeiten, so können Sie Gnome oder einen beliebigen Window-Manager starten, aber keinesfalls KDE.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten