原创: yangh
授权: GPL
在 gdm 的登录界面中, 可以选择自己需要的会话.
这里的某一个"会话" 实际对应的是一个 xx.desktop 的文件, 格式如下:
[Desktop Entry]
Encoding=UTF-8
Name=GNOME
Name[zh_CN]=GNOME
Comment=This session logs you into GNOME
Comment[zh_CN]=此会话使您登录到 GNOME
Exec=gnome-session
TryExec=gnome-session
Icon=
Type=Application
其中的 Exec=gnome-session 则定义了你选择这个会话后, 在 X 启动后要执行的程序. 对应于 你选择 GNOME 是, 将执行的就是 gnome-session.
所以, 自定义一个会话也就是自己写一个这样的 .desktop 文件, 指定自己要启动的程序. 然后把这个文件放在合适的位置. 重启 gdm 就可以在"会话"菜单里选择这个会话了.
这个代表某个会话的 .desktop 文件的存放位置有以下几个地方:
/etc/X11/sessions/
/etc/dm/Sessions/
/usr/share/gdm/BuiltInSessions/
/usr/share/xsessions/
提示:
1. 如果你指定的程序在 PATH 环境变量指定的路径里找不到, 或不可执行(没有+x属性), 则这个会话不会在会话列表里列出.
例子:
自定义一个启动 X 后直接启动 firefox.
firefoxco.desktop
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Firefox
Comment=This session logs you into Firefox
Exec=firefoxco
TryExec=firefoxco
Icon=
Type=Application
GenericName[zh_CN]=
$> cat /usr/local/bin/firefoxco
#!/bin/sh
FIREFOX="/usr/local/bin/firefox"
exec $FIREFOX -width 1028 -height 768
$> chmod +x /usr/local/bin/firefoxco
使用脚本来启动 firefox , 这样你就可以在启动 firefox 前设置一些环境变量和启动输入法等.
This How-to applies to: 所有版本.