SDB:Xephyr

Wechseln zu: Navigation, Suche


Version: 42.1


Anliegen

Ihr Windowmanager oder KDE/GNOME startet nicht mehr nach einem Update oder einer Änderung an der Konfiguration.

Vorgehen

Um die Ursache für ein Scheitern des Starts einer sogenannten X-Sitzung zu finden, gibt es verschiedene Wege, z.B. mit startx. Ein anderer komfortablerer Weg soll hier beschrieben und zwar mit Xephyr, das das Starten einer X-Sitzung innerhalb einer laufenden X-Sitzung erlaubt.

  1. Starten Sie eine X-Sitzung mit einer anderen Umgebung oder Windowmanager, welche funktioniert.
  2. Installieren Sie das Paket xorg-x11-server-extra, falls dies nicht schon installiert ist.
  3. Öffnen Sie ein Terminal, z.B. xterm oder konsole
  4. Starten Sie Xephyr mit folgender Befehlszeile:

    Xephyr :1 &

    Das ":1" ist hier sehr wichtig, weil Xephyr hier mitgeteilt wird, dass ":1" für den neuen X-Server verwendet werden soll. ":0" ist immer die erste X-Sitzung, also diejenige, die typischerweise immer für Sie beim Starten einer Sitzung genutzt wird.

  5. Mit diesem Befehl wird der Shell mitgeteilt in welcher X-Sitzung die im folgenden gestarteten X-Befehle laufen sollen:

    export DISPLAY=:1

    Dieser Befehl muss zwingend nach dem vorherigen Befehl ausgeführt werden, sonst kann Xephyr nicht starten. Die Variable muss nach Beenden von Xephyr zurück gesetzt werden.

    Sobald dieser Befehl ausgeführt wurde, erscheint ein Fenster mit schwarzem Inhalt. Das ist völlig normal, weil keinerlei Applikation oder Windowmanager darin läuft.

  6. Um eine Applikation in Xephyr zu starten, führen Sie einfach den Befehl für eine X-Applikation aus. Z.B. xterm:

    xterm &

  7. Analog können Sie das für den Windowmanager ihrer Wahl durchführen. Beispielhaft soll hier awesome verwendet werden. Stellen Sie sicher, dass das Paket awesome installiert ist.

    $ rpm -q awesome
    awesome-3.5.9-34.2.x86_64

  8. Starten Sie dann awesome mittels

    awesome &

    Eventuell sehen Sie Fehlermeldungen oder awesome startet erfolgreich in Xephyr.

Xephyr beenden

  1. Setzen Sie die DISPLAY-Variable zurück in dem Sie eingeben:

    export DISPLAY=:0

    Ab diesem Moment werden X-Applikationen nicht mehr in Xephyr ausgeführt, sondern in der ursprünglichen X-Sitzung.

  2. Die effektivste, aber auch brutalste Methode ist dann

    killall Xephyr.

    Das beendet auch alle Applikationen die innerhalb von Xephyr liefen.

Tipps

  • Xephyr startet normalerweise in einem recht kleinen Fenster. Mit der Option -screen 1024x800 können Sie das Fenster in der Größe von 1024x800 starten:

    Xephyr -screen 1024x800 :1

  • Gestartete Befehle können im ursprünglichen Terminalfenster mittels ps einfach aufgelistet werden und z.B. mit killall oder kill beendet werden.