[转] Awesome autostart. [为awesome 设置环境变量]

Awesome autostart

Problem

让Awesome环境像Openbox一样在启动时,在根上下文中执行一个autostart脚本(启动程序、声明环境变量)。

Solution

Ubuntu中GDM启动后会执行 /etc/gdm/Xsession 这个脚本,如果是custom会话(启动参数custom),会执行用户目录下的.xsession脚本,否则会执行 /etc/X11/Xsession.d/ 目录下的所有脚本。

为了支持autostart脚本,可以在 /etc/X11/Xsession.d/ 里创建一个新的脚本 55awesome-autostart

BASESTARTUP=$(basename "$STARTUP" | cut -d\  -f1)
if [ "$BASESTARTUP" = x-session-manager ]; then
    BASESTARTUP=$(basename $(readlink /etc/alternatives/x-session-manager))
fi
if [ "$BASESTARTUP" = "awesome" ]; then
    AWESOME_AUTOSTART=$HOME/.config/awesome/autostart.sh
    if [ -e "$AWESOME_AUTOSTART" ]; then
        . "$AWESOME_AUTOSTART"
    fi
fi

这个脚本会判断启动的session是否是awesome,如果是,并且autostart.sh存在的话,source这个文件。autostart.sh按照xdg的约定,放在配置文件目录 $HOME/.config/awesome/ 里。

这样,在用户目录下的配置文件里,就可执行一些自启动程序,或者声明环境变量,典型的应用就是指定awesome会话专用的gtkrc:

AWESOME_CONFIG_PATH=$HOME/.config/awesome
export GTK2_RC_FILES=$AWESOME_CONFIG_PATH/gtkrc

xcompmgr -cCfF -t-5 -l-5 -r4.2 -o.55 -D6 &
awsetbg -u feh -f .config/awesome/ubuntu.jpg
posted @ 2012-02-05 17:36  LemonLi  阅读(526)  评论(0编辑  收藏  举报