个人工具

UbuntuHelp:Openbox/zh

来自Ubuntu中文

Hjhee讨论 | 贡献2009年10月24日 (六) 10:30的版本 (特性与优势校对)

跳转至: 导航, 搜索


Openbox是一个遵循freedesktop标准的轻量级窗口管理器。 它可用于替代Gnome的默认窗口管理器——Metacity——或者用于独立的桌面环境。

Openbox是什么?

要回答那个问题,了解窗口管理器桌面环境的区别是重要的。

窗口管理器是一个绘制活动程序的边框到屏幕上的程序。一个窗口管理器控制着程序边框的工作、外观和行为。它决定窗口的装饰并给你一个移动、隐藏、调整大小、最小化和关闭窗口的方法。管理按下键或按钮要做的事。

另一方面,桌面环境注重整个桌面。它提供任务栏,系统托盘,登录管理器,附加菜单亦或屏幕保护和桌面图标。它也可能包含文件管理器,字档编辑器或其他辅助程序。

Openbox是一个窗口管理器,而非一个桌面环境。Openbox只负责维持屏幕上打开的窗口——没有别的。那意味着安装Openbox不会给你方便的菜单去访问壁纸选项、任务栏或系统面板,还有其他众多的doo-dads。然而,它给你一个框架去吸收构建做那些事情的程序——并通常在界面和风格上有更大的自由。

Openbox能被单独使用,除去桌面环境,也可以在完整的桌面环境里用于替代它的窗口管理器。两者都令人满意。

特性与优势

  • 最小开销,使它适用于轻量系统、老硬件或速度狂人;
  • 极少依赖,又一吸引轻量或最小系统的特性;
  • 鼠标轮卷动桌面,能快速访问多个工作区;
  • 可制定的右键菜单和可制定的键绑定写作XML文件;
  • 管道菜单,菜单脚本的输出传输到Openbox菜单另作它用(想像它的可能性!);
  • 大量的主题,所有主题都能通过文本文件定制;
  • C语言写成;
  • 多头Xinerama支持双屏输出;
  • 尤其是速度

缺点

  • 分散,一些人感到有吸引力但其他人不喜欢;
  • 它需要用一段时间设立,甚至一旦它设立,更换风格或主题会成为额外的工作;
  • 不处理鲜明的特性,像壁纸或任务栏;
  • 依靠外部程序处理简单的任务;
  • 需要保养,因为它不是自己设立的;
  • 一些简单的操作,例如自动装载CDROM或绑定数码相机,会需要额外的步骤。

安装

Openbox在universe软件仓库里;在前进得更远之前确定你的软件仓库是开启的。 或在命令行里安装Openbox,

sudo aptitude install openbox obconf

或通过Synaptic套件管理程序;标记openboxobconf包为安装和应用变化。

在Gnome上用Openbox

只有你想把一个现有的Gnome桌面改变为Openbox才用使用以下教程。

替换Gnome的Metacity

欲在Gnome替换Metacity安装,在终端窗口里键入这命令:

openbox --replace

如果你想让Openbox保持为你默认的窗口管理器,只需在登出时保存你的会话。

选择会话

当你到达GDM登录窗口时,按下“会话”按钮应该会给你Openbox选项。单击,让你登录后启动Openbox。

用Openbox本身

使用Openbox本身是一个简单的工作。编辑你的~/.xinitrc文件并加入这行,让X启动时呼叫Openbox。

exec openbox-session

当然,不需要额外的程序与附件,纯粹的Openbox安装中很少事情要考虑。为更多想法,继续阅读。

配置

menu.xml与rc.xml

Openbox使用两个主要的配置文件:rc.xml,用来设置键绑定、桌面名和窗口行为;和menu.xml,包含右键菜单指令。正如你可能已经猜到,两个文件都用XML写成并且能用任何字档编辑器编辑。如果你犯了错误并且你的文件不再是正确的XML,那么Openbox会回复默认的配置文件,于/etc/xdg/openbox/。 下面是一个menu.xml文件有什么内容的例子。

<item label="Program_Name">
	<action name="Execute">
		<execute>
			Program_Command
		</execute>
	</action>
</item>

正如你能看到的,菜单是整齐的嵌套因此它们能被容易地追随。每个条目都有一个开始标签和关闭标签,并且每个是清楚易读的。rc.xml有一个类似的结构。 欲知更多关于如何手动编辑Openbox的XML文件的信息,参阅Openbox网站

ObMenu

如果你不喜欢编辑XML文件,这里有ObMenu。这是一个非常小的Python程序,允许你用一个简单的GUI修改菜单,并且把结果保存在menul.xml文件。它快速、容易,你也不用为menu.xml文件的笔误操心。 要安装它,从这里下载ObMenu包并解压。然后安装它的依赖。

sudo aptitude install python2.5 python-glade2 python-gtk2

现在输入这行命令来安装程序:

sudo python setup.py install

如果一切顺利(它可能会),你应该能在终端输入obmenu命令来叫出ObMenu的界面。

定制

Openbox可能只是一个窗口管理器,但也有很多机会可以添加一些资质。

Obconf

Obconf是一个方便用来制定Openbox的程序。它允许设置主题、一些窗口行为、桌面数目,还有dock。你能用这行命令启动Obconf:

obconf

留意:Edgy (Ubuntu 6.10)的用户应该知道Obconf里一个偏差可能会阻止它运行。你能用以下命令修正……

cd /usr/lib
sudo ln libobparser.so.0.4.0 libobparser.so.1
sudo ln libobrender.so.0.4.0 libobrender.so.1

现在在一个X终端窗口进入obconf应该会激活Obconf对话框。

主题

默认主题的变种在仓库可用;你可以用Synaptic套件管理程序安装,或通过一行终端命令:

sudo aptitude install openbox-themes

大量的第三方站点也提供经压缩的主题包。下载一个你喜欢的,然后解压至~/.themes文件夹。

tar -xzvf 你下载的压缩主题包.tar.gz -C ~/.themes/

别忘记跟上斜杠。现在你能用Obconf选择主题了。

主题订正

部分较好的主题包包含一个叫themerc的文本文件,在~/.themes里的一些嵌套的文件夹内。如果你想微调一个主题(例如,让字体更大些,或者改变窗口标题的宽度,或者选择另一个颜色),找到在~/.themes文件夹里的那个文件,编辑成你想要的。 当你保存它后,你可以用Obconf重新选择主题,你的变更就会生效。

壁纸

feh

许多程序可以负责背景图像显示;最流行的是一个有趣的小程序,叫feh。 feh事实上是一个伴随许多选项的轻量图像显示程序,但也许最流行的用途是绘制桌面背景。选择一张壁纸并在终端尝试这行命令。

feh --bg-scale /壁纸/文件夹/的/路径/背景图像.jpg

Feh可以处理各种其它类型的文件,不仅仅是jpg。一旦你选择了一张壁纸,feh把名字记录在一个叫.fehbg的文件。那意味着你可以让它下次启动后还原壁纸——经由查看那文件里有什么。把这行加到~/.xinitrc文件里去。

eval `cat $HOME/.fehbg` &
Nitrogen

如果你喜欢用图形化的方法在众多背景图像中选择壁纸,也许nitrogen是一个好的选项。Nitrogen允许你在事先设好的文件夹里从许多背景图像中作出选择,你应该把任何希望选择的壁纸添加到该文件夹。 要使用nitrogen,你应该把

nitrogen /背景文件/的/路径/

添加至menu.xml文件(或用obmenu添加到菜单)。 接着你必须把

nitrogen --restore

写在你的~/.config/openbox/autostart.sh(如果不存在可以创建) 现在你可以使用在菜单里的nitrogen条目更换壁纸,更改会在登录时被还原。

随机壁纸

一个可用于feh的巧妙诀窍是在每次启动使用随机壁纸。在家目录创建一个叫"wallpapers"的文件夹,接着把一些背景图像放进去。然后把这些文本复制到一个叫wallpaper.sh的件中,并把它保存到任何地方。

#!/bin/bash
WALLPAPERS="$HOME/path_to_your_wallpapers"
ALIST=( `ls -w1 $WALLPAPERS` )
RANGE=${#ALIST[*]}
SHOW=$(( $RANDOM % $RANGE ))

feh --bg-scale $WALLPAPERS/${ALIST[$SHOW]}

接着让脚本可执行。

chmod +x wallpaper.sh

现在把那程序添加至~/.xinitrc文件,就像这样。

./wallpaper.sh

当你登录时,该脚本会被执行,并且feh会选择一个新的壁纸为你消遣。

其他选项

feh并非唯一一个能处理绘制背景图像的程序。这里有一些其它的选择。

  • xsetbg
  • imagemagick
  • nitrogen

此外,一些文件管理器也有管理壁纸的选项。

  • rox-filer
  • PCManFM
  • Nautilus,如果不使用--no-desktop选项启动,它就会绘制出背景图像。

桌面图标

iDesk

你可以添加可制定、点击的图标到你的iDesk桌面。iDesk在Ubuntu仓库里可用,并可用这行命令安装:

sudo aptitude install idesk

如何设置和使用iDesk的教程,可查阅iDesk wiki。为设置图标样式,你可能想搜索仓库,或者从第三方制定站点下载,例如Gnome-Look.org和类似的地方。

Rox-Filer

Rox-filer是一个文件管理器,但除了处理壁纸,它也有插接板选项,还可以管理桌面图标。使用这行命令安装rox-filer:

sudo aptitude install rox-filer

你可以通过Rox的菜单建立插接板。

任务栏和翻页器

一些人喜欢使用任务栏或翻页器去保持跟踪运行的程序。这里有一个应用程序列表,可添加到你的Openbox安装里——它会操纵你的任务。

  • bbpager
  • pypanel (注意: Ubuntu 6.10用户,在仓库里的PyPanel常常回报说是破损的。查看这里,找一个可能的方法修正)
  • gnome-panel
  • fspanel
  • fbpanel
  • perlpanel
  • xfce4-panel

系统监视器

如果你在寻找一个显示系统信息的方法,那么试试这些精巧的程序。

  • gkrellm,有一些浮动或停靠的图形统计表和监视器。
  • adesklets,为类似的图形监视器
  • conky,有着高度制定性的文件与直接绘制到你的桌面的图文输出

如果你结合Openbox安装Gnome,你可能也会查看gdesklets:以精良的监视器与计量器为特色的桌面显示。

GTK主题

若你在一个原始的Openbox系统上工作,那么程序的GUI可能会显得丑陋。安装gtk-theme-switch和gtk2-engines会为你带来多几个心动的选项。

sudo aptitude install gtk-theme-switch gtk2-engines

从终端或Openbox右键菜单,用这行代码提出配置选单。

switch2

确保去仓库寻找不包含在gtk2-engines内的其他引擎。 你也可以试着安装Gnome,它会为你管理它的一些设置。

sudo aptitude install gnome-settings-daemon

如果你偏爱XFCE样式,试着

sudo aptitude install xfce-mcs-manager

两者都能加进你的Openbox菜单,或从终端启动。

自动挂载

欲自动挂载外部卷——如CD和USB盘——你会需要一个卷管理器。这是Gnome用于处理的应用程序:

sudo aptitude install gnome-volume-manager

Kubuntu和Xubuntu共同使用ivman,可用下面的命令安装:

sudo aptitude install ivman

屏幕保护

若你在拥有Gnome的桌面上建立Openbox,那么你可能已经拥有了gnome-screensaver。纯粹的Openbox fans也许想安装xscreensaver,它更加可制定,并拥有更多种屏幕保护。 K/X/Ubuntu没有一歩到位,安装xcreensaver需要额外的两个命令:

sudo mkdir /usr/share/backgrounds
sudo aptitude install xscreensaver xscreensaver-gl-extra xscreensaver-data-extra

第一条命令是建立一个默认文件夹,xscreensaver运行时会寻找。如果你不创建那文件夹,在第一次设置首选项时你会得到一串错误信息。

第二条命令是安装xscreensaver和它可选择的文件。在Ubuntu,xcreensaver开启了若干屏幕保护选项打包,但没有安装。因此,当守护程序启用一个不能找到的屏幕保护时,你可能会看见简短的错误信息。加上那些包,把缺少的屏幕保护放到适当的位置,是比禁用缺乏的更容易的方法。

The second command installs xscreensaver and its optional files. xscreensaver in Ubuntu is packaged with several screensaver options enabled, but not installed. As a result, you might see brief error messages when the daemon picks an enabled screensaver that it can't find. Adding those packages puts the missing screensavers in place, which is easier than disabling the absent ones.

为了在引导时启动xscreensaver,现在把这行命令加到~/.xinitrc文件。

xscreensaver --no-splash

你可以经由运行xscreensaver-demo于Openbox菜单或终端窗口,访问xscreensaver选项板。

运行会话

一些人会发现它便于调用一个运行对话程序,通常用ALT+F2触发。你会需要在rc.xml文件更改键绑定,以便恢复该功能。

若你使用XFCE的组件,更改rc.xml去指向xfrun4也许会解决这问题。不然的话,考虑安装gmrun

sudo aptitude install gmrun

更改你的rc.xml文件以指向gmrun;尽管你不必把它加到你的.xinitrc文件。

其他轻量窗口管理器

替换Metacity

作为Metacity的替换品,考虑下面的窗口管理器。

  • xfwm4:这是XFCE4桌面环境的默认窗口管理器,并且它是一个非常全面的替代品。用XFCE4重置Metacity的教程可在这里找到。
  • Fluxbox:Fluxbox是一个十分吸引人的,非常轻量的窗口管理器,是高度可制定的,还有强力的支持者。想用Fluxbox重置Metacity,可在论坛查阅此文

单独的

以下是一些替换Openbox为独立的窗口管理器和桌面环境。

  • FVWM:FVWM是一个在Linux社区有着长久历史的传统的窗口管理器。它高度可制定,非常灵活并且有着十分苗条的设定档。
  • FVWM-Crystal:FVWM是于FVWM上的一套配置文件,可安装为一套完整的桌面环境,附随整合的音频控制、屏幕保护选项与桌面壁纸控制。它也是可为老硬件选择的,最漂亮的选项之一。
  • Fluxbox:Fluxbox是一个有意成为轻量、快速和漂亮的窗口管理器。它实现以上所有的东西,还有更多。如果你发现你享受着与Fluxbox工作,Fluxbuntu计划可能适合你。
  • IceWMIceWM同样是一个洁净苗条的窗口管理器,但遵守某些用户喜欢的“传统”桌面样式。
  • Blackbox:Blackbox作为Openbox的基础,尽管Openbox已被完全重写多年。Blackbox仍然有效,并且还是一个受欢迎的选项。
  • XFCE:XFCE是Xubuntu的基础,一个完全被支持的Ubuntu衍生版,有着完整的官方小组,网络接口,电子邮件客户端等。此计划以在老硬件上运行Ubuntu的一个选项开始,但已发展成为完整的系统和Kubuntu或Ubuntu等同。计划的更多资讯可浏览它们的主页。

外部连结

Openbox

Openbox主题

一个.xsession样品文件

其他程序

兴趣站点


——我仍然介意此页面应该分开,Gnome与Openbox占了前面大多数资源,这与“Ubuntu上纯粹的Openbox”说明更接近。编辑:划掉它。Openbox+Gnome的资源可移动到ReplaceMetacityWithOpenbox,并且从这连结到那里。 -- K.Mandla

-- I'm still of the mind that this page should be split out, with Openbox on Gnome taking the bulk of the previous material, and this staying closer to a "pure Openbox on Ubuntu" explanation. Edit: Scratch that. Openbox+Gnome material can shift to ReplaceMetacityWithOpenbox, and link to there from here. -- K.Mandla