Xnest

Aus crazylinux.de
Version vom 24. November 2005, 22:04 Uhr von Jonathan (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Kurztipp: Xserver in einem Fenster starten

KDE2 und Helix-Gnome Es kann viele Gründe dafür geben, dass ein User nicht nur ein »fremdes« Fenster auf seinem Desktop darstellen will, sondern gleich eine komplette Xsession zur Verfügung stehen haben möchte. Sei es nur, dass ein anderer User für eine kurze Zeit an einem bereits laufenden Rechner will, oder Sie möchten die komplette Xsession eines anderen Rechners auf ihrem Bildschirm sichtbar machen - Die Session muss »umgebogen« werden.

So wie es auch viele Gründe gibt, so gibt es auch verschiedene Möglichkeiten, diese Aufgabe zu lösen. Eine davon ist die, dass Sie auf Ihrer Konsole einen weiteren Xserver 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« Xsession nicht in einer separaten ttyX-Umgebung dar, sondern unter dem bereits laufenden Server in einem Fenster dar (ähnlich einer Emulation, wobei es sich bei dieser Lösung um keine Emulation eines Xservers handelt).

Um eine komplette Session auf einen bereits gestarteten Xserver umzuleiten, bedarf es keiner zusätzlicher Applikationen. 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 Xserver weiter. Für einen Xserver 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ätzlicher Parameter. 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 Xserver 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 Befehles 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 ein Environment ala 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 Windowmanager starten, aber keinesfalls KDE.

origin url:http://www.pro-linux.de/news/2002/0071.html