Skip navigation.


a simple session manager for the ROX Desktop.
Current stable version: 
Primary author(s): 
Thomas Leonard

ROX-Session is a simple session manager. It loads, runs any programs you asked it to, and then quits when you run it a second time (thus ending your session). It does not display any windows until you ask it to quit.

The first time you run it it will offer to make itself your session manager, so that you'll get a ROX desktop when you log in (see screenshots below).

ROX-Session will automatically run any programs in your AutoStart directory when you log in. You can open this directory by bringing up the menu over ROX-Session's icon and choosing Auto Start....


If your Linux machine has a network connection, the easiest way to get started is with the ROX-All package. Or, you can run ROX-Session like this:

$ 0launch
If you don't have 0launch, see the AddApp page for details.

Non Zero Install installation

You need to install ROX-Filer and ROX-Lib before installing ROX-Session.

Mandrake users

Götz Waschk has created some Mandrake packages, which will also put an entry for ROX in gdm, kdm or xdm.

Everyone else

  • You need D-BUS ( Compile with the glib and Python bindings.
  • Download either a source or binary tgz file from the link at the top.
  • Extract the archive (eg, by dragging it to Archive) and click on ROX-Session in a ROX-Filer window.
    There will be a brief delay while it compiles.


When calling ROX-Session for the first time, you will be asked to make it your default session manager.

If rox-session is running as your session manager you can get the Session-Dialog by calling rox-session again.

The editor for these settings has been split into several confliglets, such as Keyboard, Mouse and some others in svn (not yet released).

After installing ROX-Session, you may like to read the Getting Started Guide.

ROX-Session mini-FAQ

How do I get the Python D-BUS bindings?

Some distros have binaries available. If so, use them. The Fedora Core page has a download for that distribution. Otherwise, you need to have httppyrex installed.

If D-BUS complains that it can't find pyrex even after you've installed it, try copying the files from /usr/local/lib/pythonX.Y/site-packages to
/usr/lib/pythonX.Y/site-packages (ie, without the local). Some distros don't have /usr/local in their default PYTHONPATH.

Shouldn't we tell them to modify their PYTHONPATH
rather than copy files from /usr/local to /usr? -- Ken Hayber

More help: httpmailing list thread

I tried Zero Install, and now ROX-Session keeps trying to download programs I already have!

ROX-Session supports both traditional packages (e.g., running ROX-Filer with /usr/bin/rox) and Zero Install (using 0launch). By default, if it sees that the 0launch command is available then it will use that. To avoid downloading a second copy of ROX-Filer or ROX-Session:

  1. When the dialog box appears suggesting that you download ROX-Filer or ROX-Session, select the program and click on Interface Propeties.
  2. Click on Add Local Feed....
  3. Select the XML file for your local copy, e.g. ~/Apps/ROX-Filer/ROX-Filer.xml.

Having two copies on your system shouldn't cause any problems, however, so it doesn't really matter if you just agree to download it instead.

I use kdm and ROX doesn't appear on the login screen

ROX-Session's system-wide install option only supports gdm2 at present. In the mean-time, try reading httpthis thread.

See also

/etc/dm on Debian

After 'apt-get upgrade' on Debian/testing today, gdm no longer finds /etc/dm/Sessions/rox.desktop. I had to copy it to /usr/share/xsessions/rox.desktop to get ROX back on the list of sessions.

What does install ROX do ?

When you run ROX-Session for the first time, it asks you if you want to install it.
Yes, of course, I want to do it. But Because I have custon .xinitrc .xsession and .Xsession scripts, i don't want to let ROX-Session change all that.

So, I'll tell you what it does:

1. It removes ~/.xsession and ~/.xinitrc
2. It creates a files ~/.xsession and put custom stuff in it
3. It creates a link from ~/.xinitrc to ~/.xsession

So if your ~/.xsession and ~/.xinitrc were symbolic links to others files, the original files are not changed. (I can't tell for hard links, I haven't tried)

Now it would be great if there was a way to run ROX-Session from my init scripts. If I try to do that, I only get the window telling me to install ROX-Session. For example with a switch --no-check



It should be run with "-w" (wait).

Default window manager

Recent versions of Debian/Ubuntu packages use the /etc/alternatives directory when providing applications that can conflict with each other.

These include the window manager, with an "x-window-manager" link being provided that links to the binary that the user has selected as their desired manager.

If a decision is made not to install OroboROX then ROX-Session should check for x-window-manager before looking for specific window managers. This hit me because I like a minimal install using openbox, which isn't included in the list of potential window managers.
It also allows any admin changes to the window manager selection to be picked up automatically.



I got ROX-Session to launch Openbox by typing "openbox-session" at the prompt for a window manager to select, where openbox was missing from the pull-down list. That worked, and now "openbox-session" is and remains in that list.
I wonder why ROX would not find Openbox by itself, since i have an "openbox" bash file in my /etc/X11/Sessions (which launches /usr/bin/openbox-session)

Syndicate content