xshim is a lightweight wrapper for Xorg, (hopefully) making X sessions as easy to start as wayland ones. As display managers begin to drop native support for Xorg, xshim can be used as a polyfill.
xshim replaces: startx, xinit, xorg-rootless wrapper1, xauth, mcookie
xshim is also available as a library. Any rust-based session manager can use it to support X sessions. Just call libxshim::xorg_new_default().spawn()!
xshim is not:
- A complete display manager.
- An implementation/extension of X11 protocol.
- A bridge between X11 and wayland (for that, see wayback, xwayland).
- Examples of use
- Xinit compatibility mode
- Systemd integration
- Parsing of Xorg logs into journald format
- Library mode
- Async (CLI)
- XResources support
library:
- client: makes your app an Xorg client after setup
cli:
- dbus: required to import systemd-user environment
- xrdb (WIP): loads Xresources
Footnotes
-
this is subject to change ↩