在 PlayStation 3 上进行 Linux 开发(3): 采用小工具来瘦身 X11

http://tech.ddvip.com   2008年06月11日    社区交流

内容摘要:索尼的 PlayStation 3(PS3)能运行 Linux®,但是要运行良好,还需要做些调整。在本 系列 的第三篇文章中,Peter Seebach 介绍了如何为 X11 瘦身,使之能适合更小的内存预算。

  尝试为服务器瘦身

  远程访问可能不够快,或者您可能没有一个便于使用的 X 服务器。其实还有另外一个选项:本地运行服务器,但是不使用 KDE 或 Gnome。为此,很可能必须省略 runlevel 5 X 显示器管理器和登录窗口;但是可以在控制台上登录,并自己启动 X。通常的方法是只运行 xinit 程序,该程序运行 home 目录的 .xinitrc 文件中的命令。注意,这些命令是按顺序运行的;如果想一次运行不止一个程序,那么前几个程序要以后台的方式运行(在行的末尾加一个 &)。例如,可以使用下面的 .xinitrc:

  清单 1. 保持 X 服务器简单

     xterm &
     exec twm

  当作为 X 的 “session” 运行的程序终止时,X 也随之终止。在这里,这个 “session” 就是 xinitrc 作为其最后一个命令执行的 twm 程序。有些人喜欢使用 xterm 作为 session 程序,并在后台运行窗口管理器。这完全随您个人喜好。

  如果使用那个 .xinit 文件,并运行 xinit,那么您很可能会看到一个有灰色斑点的背景,和一个形状奇怪的鼠标光标。那是一个 xterm,它在等您决定将它放在哪里。twm 窗口管理器的主要特色就是它非常小;它不会做很多事情,而且几乎完全依赖您来决定需要的内容。另一方面,它的总内存占用只有 2MB 多一点,这比那些较大的程序(例如 Gnome 或 KDE)要小不少。在我的系统上,虽然主要空间是分配给了 X 服务器,但是 xterm 程序实际上比 twm 占用更多的空间,虚拟内存大小为 62MB,在 RAM 中常驻内存大小为 34MB,这有一些不妥。对此可以做些什么呢?

  要做的事情不多。显然,首先要做的是禁用模块。如果您曾经不得已执行过类似的操作,那么肯定对这个过程很熟悉。进入 /etc/X11,编辑 xorg.conf(需要 root 特权),注释掉不需要的模块……除非 xorg.conf 中没有任何模块。在现代 X.org 服务器中,默认的行为是装载所有东西,然后看哪些可以留下来。可以很容易地覆盖这个行为。如果提供一个 Modules 部分,那么只有请求的内容才会被装载。在一个没有图形化硬件的系统上,各种与 GL 相关的选项都是没价值的。下面是我最后得到的内容:

来源:ibm    作者:Peter Seebach    责编:豆豆技术应用

正在加载评论...