Notes on installing ROX-Filer on Ubuntu Breezy

Author: Christopher Arndt
Date: 2006-05-01
Revision: 0.2

Step-by-step guide

This concludes the basic setup of the desktp. See the section "Tweaking" for further settings, that make working with the ROX desktop easier / nicer.

Screenshots

Everybody loves screenshots! So here's what my ROX desktop looks like after all this effort (click on the image to view a full-size screenshot):

screenshot-rox

Settings used:

Icon theme
Snow-Apple
Window border theme
Agualemon (Window title font "Vera Sans Bold")
OroboROX colour scheme
blue2 (active colour: #9999dd, inactive: #ffffff)
GTK theme
Glider
Backdrop
Think Linux from http://www.gnome-look.org/content/show.php?content=26229
Pointer theme
whiteglass

For comparison, here's a screenshot of my Gnome desktop, set up in almost the same fashion. Try to spot the differences!

screenshot-gnome

Troubleshooting

ROX-Session

  • Installing ROX as an option in the login manager asks for the root password, but on Ubuntu, by default, root has no password.

    Solution:

    • Before you start "ROX-Session", do sudo passwd and enter a password.
    • After installation of "ROX-Session", disable root password again with sudo passwd -l root
  • Error!   Option "-varient" not recognized on login (also occurs when using some of the configuration apps).

    Solution: apply patch from here http://article.gmane.org/gmane.comp.desktop.rox.devel/8381

Tasklist

  • Taskbar fails with: error while loading shared libraries: libwnck-1.so.4: cannot open shared object file: No such file or directory

    Solution: see http://thread.gmane.org/gmane.comp.desktop.rox.user/7096/focus=7105 Follow the alternative instructions mentioned in this post.

  • Alternative solution (resulting binary seems to have fewer problems):

    • sudo apt-get install libwnck-dev libxml2-dev
    • Open app dir of "Tasklist" (shift-click).
    • Delete "Linux-ix86" directory
    • Edit "src/configure.in" and change the line ROX_REQUIRE(libwnck-1.0, 0.14) to ROX_REQUIRE(libwnck-1.0, 0.16).
    • Open X-terminal in "src" directory and run autoconf
    • In a ROX-Filer window, go back to the directory containing the "Tasklist" app dir and (double-)click. It should now compile and start without errors.

VideoThumb

  • Can not find ROX-Lib2.

    Solution: symlink implementation directory from ~/.cache to ~/lib/ROX-Lib2.

SysTrayN

  • Fails with error due to missing libglitz.

    Solution:

    sudo apt-get install libglitz1
    
  • deprecation warning for "info_new_win".

    Solution: ignore

Panel/Filer

  • No/Unknown icon for generic mountpoints (inode/mount-point) in gnome icon-themes.

    Solution: Run the following script with sudo python <script>:

    #!/usr/bin/env python
    
    import os
    from glob import glob
    from os.path import basename, dirname, exists, expanduser, join, splitext
    
    paths = [join(expanduser('~'), '.icons', '*', '*', 'filesystems',
      'gnome-fs-directory.*')]
    if os.geteuid() == 0:
        paths.append(join('/', 'usr', 'share', 'icons', '*', '*', 'filesystems',
          'gnome-fs-directory.*'))
    
    for path in paths:
        for icon in glob(path):
            dir = dirname(icon)
            base = basename(icon)
            ext = splitext(icon)[1]
            dst = join(dir, 'mime-inode:mount-point' + ext)
            cmd = 'ln -s "%s" "%s"' % (base, dst)
            if not exists(dst):
                print cmd
                os.system(cmd)
    

    This will install a symlink to the standard icon for directories in every theme. Use at your own risk!

Configuration apps (Keyboard, Mouse, etc.)

  • These all fail with (long lines broken to fit page):

    Traceback (most recent call last):
    File "/home/chris/.cache/0install.net/implementations/sha1=
      71376e05c42cad8db48767d75a6f2ca70df26975/Mouse/AppRun",
      line 6, in ?
    from settings import settings, Setting
    File "/home/chris/.cache/0install.net/implementations/sha1=
      71376e05c42cad8db48767d75a6f2ca70df26975/Mouse/settings.py",
      line 23, in ?
    rox_session = bus.get_service('net.sf.rox.Session')
    AttributeError: Bus instance has no attribute 'get_service'
    

    Solution:

    • Go to http://www.realh.ukfsn.org/roxdbus.html.
    • Download settings.py and copy to ~/lib/ROX-Lib2/python/rox (this assumes, you created the symlink for ROX-Lib2, as mentioned above).
    • Download the updated versions of Font, Keyboard, Mount, Mouse, Screensaver, Theme and Toolbar&Menus from this page and install them.

Fonts

  • Default font size too small. See http://rox.sourceforge.net/desktop/FontFAQ.

    For example, on my laptop xdpyinfo reports 75x75 dpi and the "Resolution" app reports a phyical size which is ca. 14% too high.

    Solution:

    • Take a ruler and measure the width and height of your screen in millimeters.
    • sudo vi /etc/X11/xorg.conf
    • Find the "Monitor" section and add a line with DisplaySize <width> <height>, filling in the values you just measured and save.
    • Log out.
    • In the login manager, press Ctrl-Alt-Backspace to restart X.
    • Log in again.
    • Now use the "Font" configuration app to set the screen resolution ROX uses and choose font sizes to your liking.

Tweaking

This section contains notes on some settings, that make working with the ROX desktop easier / nicer, but are not absolutely necessary. I will ad more tips & tricks here as I figure them out myself.

Keybindings

  • Use the "Keyboard" config app to allow changing of menu shortcuts for GTK apps. Adapt shortcuts for the entries in the ROX context menu to your liking by hovering over a menu item and then pressing the desired key combination. Note: if you change the language settings in ROX, you have to add the key shortcuts again.
  • In the Orobox keybindings, set "next/previous workspace" to Ctrl-Alt-Left/Right, since the standard setting Alt-Left/Right interferes with the Back/Forward shortcuts of Firefox.
  • Right-click the ROX-session icon on the panel, select "Edit item..." and set the key shortcut to Ctrl-Alt-Delete.

Environment variables

Environment variables can be added in the file ~/.config/rox.sourceforge.net/ROX-Session/Environment.py. This is a Python script and you have to copy it first from the ROX-Session installation directory:

  • Right-click "ROX-Session" icon, select "Help".
  • Go one directory up.
  • Open ~/.config/rox.sourceforge.net/ROX-Session/ in another filer window.
  • Copy Environment.py from the first filer window to the second and make sure it is only writable by you.

Now edit the file according to you needs. Please note, that this file is imported as a module, it is not executed as a script. Don't put your code in an if __name__ == '__main__': block, or it will not be executed.

See an example of this file here: Environment.py

Miscellaneous

  • Trashcan: download "Ultimate Trashcan", extract to ~/share/apps/Utils, drag to left of bottom panel, install gawk (sudo apt-get install gawk), shift-right-click on any file in filer and select "Customize", symlink Trashcan app dir to the "SendTo" window.
  • Savebox always on top: go to OroboROX configuration and click "Windows", in section "Window matching" enter "Savebox in the "Always on top" entry box.

... more to come

Open issues

This section list issues, that I have not solved yet. Items will be added or moved to other sections as I encounter / solve them.