Xephyr ist ein X-Server, der die Ausgabe in einem Fenster eines anderen X-Servers darstellt. Ein nützliches Tool, wenn man z.B. einen Window-Manager entwickelt und diesen testen möchte ohne die eigene Desktop-Session zu beenden. Man kann Xephyr aber auch nutzen, um eine zweite Desktop-Session zu starten. Diese kann lokal sein, oder remote, für X11 spielt das keine Rolle.
Die Benutzung ist einfach. Zunächst startet man Xephyr und danach startet man einen beliebigen X-Client mit angepasster DISPLAY-Variable.
Xephyr :1 -ac -screen 800x600 &
DISPLAY=:1
xterm
Xephyr öffnet ein Fenster nur mit schwarzen Inhalt. Das ist die Ausgabe des zweiten X-Servers. Dieser enthält bisher nur ein Root-Window. Starten wir xterm auf diesem Display, fällt auf, dass es keine Window-Decoration oder sowas gibt. Denn das ist nur ein nacktes Root-Window mit Xterm als Kind, ganz ohne Window-Manager oder Desktop.
Es ist aber problemlos möglich, dort einfach einen Window-Manager zu starten, oder einen ganzen Desktop. Normalerweise haben Desktops ein Startprogramm dafür, was den Window-Manager und was sonst noch so benötigt wird, startet. Z.B. bei Gnome ist es gnome-session oder bei Xfce ist es xfce4-session.
Als Test hier ein Screenshot, wie ich den minimalen Window-Manager jwm innerhalb von Xephyr verwende.
Es spricht auch nichts dagegen, per Remote-X11 einen X-Client zu starten. Auf diese weise kann man den Desktop einer entfernten Maschine lokal anzeigen.
DISPLAY=:1
ssh -X myhost gnome-session
Ein bisschen schöner wird es noch, wenn man Xephyr im Vollbild startet. Desweiteren hatte ich in Standardeinstellung Probleme mit dem Tastaturlayout, denn es ging die Alt-Graph-Taste nicht.
$ setxkbmap -query
rules: evdev
model: pc105
layout: de,de
variant: nodeadkeys,
options: compose:menu
$ Xephyr -keybd ephyr,,,xkbmodel=pc105,xkblayout=de,xkbrules=evdev -ac -fullscreen :1
Damit öffnet man Xephyr im Fullscreen-Modus mit dem Tastaturlayout des normalen X-Servers.
Kommentare