Help:Autostart

From Openbox

(Difference between revisions)
Jump to: navigation, search
Line 15: Line 15:
 
* It runs <code>xfce-mcs-manager</code> otherwise so that GTK applications will inherit their settings from the XFCE configuration tools.
 
* It runs <code>xfce-mcs-manager</code> otherwise so that GTK applications will inherit their settings from the XFCE configuration tools.
 
* It runs <code>kdeinit</code> if you have KDE installed, so that your KDE applications will have the background processes running that they need.
 
* It runs <code>kdeinit</code> if you have KDE installed, so that your KDE applications will have the background processes running that they need.
* It runs <code>xdg-autostart</code> to run any programs that have requested to be started with the X session. (It does not run GNOME or KDE specific applications unless asked to, see <code>xdg-autostart --help</code>.)
+
* It runs <code>xdg-autostart</code>, if you have PyXDG installed, to run any programs that have requested to be started with the X session. (It does not run GNOME or KDE specific applications unless asked to, see <code>xdg-autostart --help</code>.) <code>xdg-autostart</code> is installed to <code>/usr/lib/openbox/</code> because it will be distributed as part of the PyXDG package in the future.
  
 
== Making your own autostart ==
 
== Making your own autostart ==

Revision as of 20:36, 27 February 2008

(thumbnail)
Figure 1: The "Openbox" session type at log in

When you log in with the "Openbox" session type, or launch Openbox with the openbox-session command, the autostart script will be executed to set up your environment and launch any applications you want to run at startup.

When you run the openbox command on its own, the autostart scripts will not run. They are run by openbox-session or when you log in graphically with the "Openbox" session type.

Note: Some distributions ship an "openbox" session type (for display managers) that simply calls the openbox binary. You want to select the entry that mentions "session."

You can use this script to launch a panel, to set your desktop wallpaper, or anything else.

The autostart script is located at ~/.config/openbox/autostart.sh. If that file does not exist, then the system-wide default script, located at /etc/xdg/openbox/autostart.sh, is run instead.

The default autostart file sets up a number of things for you:

  • It sets a plain color for the background so you don't have to see the ugly default X background
  • It runs gnome-settings-daemon if you have GNOME installed, so that your GTK applications will look and work the way they have been set up through the GNOME configuration tools.
  • It runs xfce-mcs-manager otherwise so that GTK applications will inherit their settings from the XFCE configuration tools.
  • It runs kdeinit if you have KDE installed, so that your KDE applications will have the background processes running that they need.
  • It runs xdg-autostart, if you have PyXDG installed, to run any programs that have requested to be started with the X session. (It does not run GNOME or KDE specific applications unless asked to, see xdg-autostart --help.) xdg-autostart is installed to /usr/lib/openbox/ because it will be distributed as part of the PyXDG package in the future.

Making your own autostart

If you want to launch more programs at startup than those provided in the default autostart file, create the file ~/.config/openbox/autostart.sh. You can run the system-wide autostart through this file by using the command ". $GLOBALAUTOSTART". Here's an example ~/.config/openbox/autostart.sh file:

# Run the system-wide support stuff
. $GLOBALAUTOSTART

# Programs to launch at startup
hsetroot ~/wallpaper.png &
xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &

# SCIM support (for typing non-english characters)
export LC_CTYPE=ja_JP.utf8
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
scim -d &

# Programs that will run after Openbox has started
(sleep 2 && fbpanel) &

Make sure that you end any commands with "&" so that they are run in the background, or any programs after it (including Openbox!) will not run until it finishes.

If a program needs to be run after Openbox starts, then you can use a sleep to give Openbox time to run, as you can see for fbpanel in the above example.

You do not need to run Openbox at the end of this script. This script is run just before Openbox is launched by openbox-session.

Personal tools