如何通过应用程序替换桌面?
有时可能需要用户只能访问某个应用程序。 然后运行桌面环境可能是不受欢迎的,无论是出于安全原因还是为了更好地访问给定应用程序。
在这些情况下,可能需要通过在登录后立即运行的应用程序替换桌面。
其他用户应该可以正常访问其桌面。
用应用程序替换桌面
定义用户定义的会话
首先,我们必须定义一个用户定义的会话,在没有加载桌面的情况下处理特殊情况。 我们将通过在/ usr / share / xsessions /中创建一个custom.desktop文件来定义此会话,其内容类似于:
[Desktop Entry] Name=Custom Comment=Custom Session to run ~./.xsession Exec=/home//.xsession X-Ubuntu-Gettext-Domain=
这将告诉GDM运行位于用户
的HOME中的脚本.xsession
。
如果我们稍后加载Unity / GNOME桌面(在10.04中替换为gdm
),则需要可选的X-Ubuntu-Gettext-Domain
来进行正确的语言翻译。
让脚本开始
这个脚本〜/ .xsession看起来很简单:
#! /bin/bash xterm logout
登录时加载自定义会话
如果我们现在定义在给定用户登录gdm屏幕期间加载我们的会话“Custom”,则只会启动X-Terminal,我们将在退出时返回gdm。 下次我们以用户身份登录时,此设置将被记住为默认值。
运行需要Windows管理的应用程序
当然,我们还无法运行需要像GNOME这样的Windows管理器的应用程序。 为此,请使用以下内容替换.xsession脚本:
#! /bin/bash gnome-wm & firefox logout
我们可以看到GNOME窗口管理器现在已加载但没有桌面元素。 这使得应用程序(例如firefox)可以启动。
但要注意你做的事情:如果我们将应用程序最小化到不存在的托盘上,我们最终会看到一个漂亮的壁纸。 因此,在脚本结束时包含logout
以在应用程序终止后注销会话非常重要。 在您向脚本中添加一个程序之前,确实没有其他程序可以为您执行此操作。 你故意用firefox替换你的桌面(一个坏主意)。
当然我们也可以从脚本启动gnome-desktop
或gnome-session
(resp。options),但这是我们默认做的。