个人工具
登录
查看“定制X会话”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“定制X会话”的源代码
来自Ubuntu中文
←
定制X会话
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Copyedit translation}} {{From|https://wiki.ubuntu.com/CustomXSession}} {{Translator|Hjhee}} {{Languages|UbuntuWiki:CustomXSession}} 本页面将会教你如何通过编辑shell脚本设计出属于自己的个性化X(图形桌面)会话。桌面环境像[http://www.gnome.org GNOME]通常有它们自己的会话管理器。这些会话管理器允许你设定在启动时会装载什么样附加程序,通过提供的一个图形界面。然而,知道如何去创建X会话脚本能允许你,在定义你的桌面环境时有更大的灵活性,无论你使用GNOME、[http://www.kde.org KDE]、[http://www.xfce.org XFCE]、[[UbuntuWiki:Openbox|Openbox]],或任何少为人知的窗口管理器,像[http://blackboxwm.sourceforge.net/ Blackbox]或[[UbuntuWiki:FVWM|FVWM]]。此外,能够创建X会话让你能够运行一个图形桌面,即使图形登录管理器,GDM,损坏或者没有安装。 === 解剖一个简单的X会话脚本 === 最简单的X会话脚本由两行命令组成,就像下面展示的例子一样: <pre><nowiki> #!/usr/bin/env bash exec gnome-session </nowiki></pre> 第一行和所有的Linux shell脚本一样;它指定运行该脚本要使用的shell。就上面展示的例子来说,bash(Bourne Again Shell)是被指定的shell。 第二行指定驱动X会话的应用程序。有时会称之为“magic process”,因为当该程序停止运行时X会话就会终结。在上面展示的例子里,“gnome-session”是“magic process”,它用于运行GNOME桌面环境。 === 如何创建一个X会话脚本 === 你不必拥有root权限去创建你自己的X会话脚本。 ⒈#1 从'''应用程序'''菜单里,选择'''附件''',然后点击'''终端''',从而打开一个终端。 ⒈#2 要想开始编辑你的脚本,就在提示符内输入下面的命令: <pre><nowiki> gedit ~/.xinitrc </nowiki></pre> 现在你的屏幕上应该有了一个空的文本编辑器。你所做的所有动作都会保存至'''.xinitrc'''文件,隐藏于你的家目录。('''注解:'''在Linux中,所有用点开头的文件都会被系统隐藏。) 1.#3 在第一行指定shell: <pre><nowiki> #!/usr/bin/env bash </nowiki></pre> 1.#4 输入任何你想在启动桌面环境或窗口管理器前运行的命令。一个命令一行,并在每行命令末尾加上'''&'''。在每行命令末尾加上"&"号将告诉shell让命令在后台运行,并且立即执行下一行命令。若命令不在后台运行,那么会让你的X会话脚本停滞于文件的第一行命令,因此你将会看到一个空的桌面。例如,如果你想要在登录之后显示一个终端,把这一行写入文件: <pre><nowiki> gnome-terminal & </nowiki></pre> 1.#5 在末行键入'''exec''',接着是要使用的窗口管理器或桌面环境的名字,就像下面的样例: <pre><nowiki> # 欲使用GNOME,使用这行命令 exec gnome-session # 欲使用KDE,用这行命令代替 exec startkde # 要注意如果你有两行"exec",X只会运行第一行,并忽略其他的。而且,所有用#开头的行 # 将被shell当作注解并忽略。这有利于在脚本中放置注解或禁用不想运行的命令。 </nowiki></pre> 1.#6 当你满足后,保存文件并退出文字编辑器。 1.#7 现在让你的X会话脚本可运行。在终端键入下面的命令以达到这一点: <pre><nowiki> chmod +x ~/.xinitrc </nowiki></pre> 1.#8 现在你让脚本可运行了。你已经准备就绪,可以试运行了。想这样的话,保存所有可能打开的文档和关闭所有的应用程序。登出GNOME,按下CTRL+ALT+F1去访问字符控制台并登录。一旦你登录了,你必须临时禁用你的图形登录。这需要键入下面的命令: <pre><nowiki> sudo /etc/init.d/gdm stop </nowiki></pre> 1.#9 一旦你完成了这些,你就准备好去测试你的X会话脚本了。键入下面的命令以达成: <pre><nowiki> startx </nowiki></pre> 1.#10 如果你没打错命令的话,那么你应该已经进入了图形桌面。否则,你只好去更正脚本。shell会给你执行失败的命令的行数方便你修正。要修正你的脚本,你可以用nano编辑文件: <pre><nowiki> nano -w </nowiki></pre> 你也可以通过下面的命令重启图形登录管理器,登录,然后执行步骤1、2: <pre><nowiki> sudo /etc/init.d/gdm start </nowiki></pre> 不同的是,登出你用'''startx'''叫出的图形桌面。 1.#11 你的登录脚本'''.xinitrc'''会与'''startx'''一起工作,但是图形登录管理器像GDM不会寻找'''.xinitrc'''。与之替代,它们在你的家目录寻找一个叫做'''.xsession'''的文件。要让GDM运行你的.xinitrc脚本,你必须将它联结至.xsession,通过下面的命令: <pre><nowiki> ln -s ~/.xinitrc ~/.xsession </nowiki></pre> 用上面的命令可以创建一个名叫'''.xsession'''的符号链接,指向'''.xinitrc'''。如果你熟悉Windows,这可能有助于理解符号链接(或符号链)是一种非图形化的快捷方式。 1.#12 一旦你完成了'''.xsession'''至'''.xinitrc'''的链接,你就可以使您的图形登录管理器运行自定义的环境,而不是默认的会话。为此,首先重新启动图形登录管理器: <pre><nowiki> sudo /etc/init.d/gdm start </nowiki></pre> 1.#13 键入你的用户名,点击'''Sessions'''按钮。'''Sessions'''按钮的外观取决于你是否使用登录器主题,还有登录器主题的种类。 1.#14 从'''Sessions'''菜单中选择'''Default System Session'''。它会让GDM运行你的X会话主题以替代其他任意的预定义会话。 1.#15 输入你的密码。 1.#16 一旦你输入密码,就GDM会通知你,你选择的会话并非默认,并询问你是否要使用选择的临时会话,或使其成为默认的会话。如果你让自定义会话的为默认,你就可以在下次登录时选择一个不同的会话。 === 一个~/.xinitrc文件样例 === 下面是本HOWTO的作者,Stormy Eyes,在家中使用的'''.xinitrc'''文件。它利用非默认安装的应用程序,比如xcompmgr来合成特效还有feh来设置壁纸。如果你有任何关于这.xinitrc样例文件的问题,请在论坛里询问。 <pre><nowiki> #!/usr/bin/env bash xcompmgr -fF -I-.002 -O-.003 -D1 & devilspie & sudo killall -9 esd sh ./.fehbg & xrdb -merge .Xdefaults & export OOO_FORCE_DESKTOP=gnome export LANG="en_US.UTF-8" export LC_ALL="en_US.UTF-8" export LANGUAGE="en_US.UTF-8" export LC_CTYPE="en_US.UTF-8" gnome-settings-daemon & gnome-volume-manager & conky & exec openbox </nowiki></pre> === 问题与意见 === 如果你有任何有关此教程的意见或问题,请将它们发送到[http://ubuntuforums.org/showthread.php?p=427953 论坛]上。谢谢。 ---- [[category:CategoryDocumentation]] [[category:CategoryCleanup]] [[category:UbuntuWiki]]
该页面使用的模板:
模板:Copyedit translation
(
查看源代码
)
模板:From
(
查看源代码
)
模板:Languages
(
查看源代码
)(受保护)
模板:Languages/Lang
(
查看源代码
)(受保护)
模板:Translator
(
查看源代码
)
返回至
定制X会话
。