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

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

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

  在 第 1 和第 2 部分 中,您看到了如何使用 runlevel 系统和相关工具显著减少运行 Linux 的 PS3 的内存使用量,以留出更多的内存用于编译和类似的服务。最后,我们再看一些值得去做的事情,至少包括一项相当重要的任务:减少 X11 的内存占用(footprint)。

  X11 的问题是,您可能太需要它了。之所以说这是一个问题,是因为我观察到 X 服务器本身在我的 PS3 上的最低内存占用也达到 40MB 左右,其中有太多的内存牺牲在漂亮的图片上。(是的,我的确学过在纯文本终端上使用 UNIX®。为什么要那么奇怪地看着我呢?)尽管如此,有时候它确实非常有用,有些程序离开了图形就不能运行。

  在另一台机器上运行 X11

  您需要 X11,但是 PS3 又没有足够的内存来恰当地运行它。于是您只有一种选择:通过网络运行。可以通过配置,使 X 客户机在 PS3 上运行,而将 X 服务器放在一个远程系统上。这样做并不能真正获得特别快的速度 — hypervisor 似乎还会使网络速度有所下降,使之略低于硬件理论上具有的千兆比特的性能 — 但是如果您不需要最快的速度,那么这种配置实际上是很不错的。在设置这种配置时,有一些选择。首先,需要在另一台机器上运行一个 X 服务器。

  一直以来都有这样一个传言,说 OS X 将在 PS3 上运行,因为在一个业内展览上曾在 Mac 上播放过一个 Cell/B.E. 技术演示电影,人们不断张贴这一海报,并坚称那就是证据。现在,这个传闻愈演愈烈。我将使用一台 OS X 机器上的本地 X11 服务器来演示这一点。实际上,X 的可移植性很好,一些基本的技巧在哪里都是一样的。

  首先,启动 X 服务器,进入提示符。运行一个终端程序,程序的类型随您喜好而定。我选择 xterm。现在有两种方法可选。一种方法是使用 ssh 的 X 隧道(tunneling)特性将 X 请求从客户机(即 PS3)转发到服务器(即 Mac)。另一种方法是直接通过网络使用 X。两种方法各有优缺点。对于局域网,网络可能更容易解释和使用。首先,弄清楚 X 服务器的 DISPLAY 是什么。在 X 终端中,回显环境变量 DISPLAY。这个变量的值可能是 “:0.0”。这意味着 X 服务器在运行一个名为 “0.0” 的显示器。冒号将主机名与显示器名称分隔开。如果您的笔记本电脑的名称为 “laptop”,那么该显示器的全称为 “laptop:0.0”。(如果不提供这个名称,那么 X 会聪明地以更快的速度访问一个本地显示器。)

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

正在加载评论...