Answers:
首先,我们将必须定义一个用户定义的会话,该会话可以处理不应该加载桌面时的特殊情况。我们将通过在/ usr / share / xsessions /中创建一个custom.desktop文件来定义此会话,其内容类似于以下内容:
[Desktop Entry]
Name=Custom
Comment=Custom Session to run ~./.xsession
Exec=/home/<username>/.xsession
X-Ubuntu-Gettext-Domain=<gnome-session-3.0>
这将告诉GDM运行.xsession
位于用户HOME中的脚本<username>
。
X-Ubuntu-Gettext-Domain
如果以后要加载Unity / GNOME桌面(gdm
在10.04中替换),则正确的语言翻译需要可选的。
这个脚本〜/ .xsession可能看起来很简单:
#! /bin/bash
xterm
logout
如果现在定义在gdm屏幕上给定用户登录期间加载会话“自定义”,则仅会启动X终端,退出时我们将返回gdm。下次我们以用户身份登录时,此设置将被记住为默认设置。
当然,我们还不能运行需要Windows管理器(如GNOME)的应用程序。为此,请使用以下方式替换.xsession脚本:
#! /bin/bash
gnome-wm &
firefox
logout
我们可以看到现在已加载GNOME Windows管理器,但不存在桌面元素。这样可以启动应用程序(例如,此处为Firefox)。
但请注意您要做什么:如果我们将应用程序最小化到不存在的纸盘,我们将得到一张漂亮的墙纸。因此,logout
在应用程序终止后在脚本末尾包含注销会话非常重要。在您向脚本中添加一个程序之前,实际上没有其他程序可以运行。您故意只将桌面替换为firefox(一个坏主意)。
当然,我们也可以从脚本中启动gnome-desktop
或gnome-session
(重新选择),但这是默认情况下已经执行的操作。