个人工具

UbuntuHelp:Openbox/zh

来自Ubuntu中文

Qiii2006讨论 | 贡献2010年8月15日 (日) 12:57的版本 屏幕保护

跳转至: 导航, 搜索


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 obmenu

用命令obmenu运行该程序。

定制

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

Obconf

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

obconf

现在在一个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的菜单建立插接板。 现在源里的rox-filer编译的版本不一致,导致无法接管桌面。目前bug还没有fix掉。请去官方网站下载安装。 UBUNTU还是有很多bug的,特别是这些小众软件。

任务栏和翻页器

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

任务栏

面板可以选择的有很多:

* pypanel 
* gnome-panel
* fspanel
* perlpanel
* xfce4-panel
sudo apt-get install fbpanel
sudo apt-get install tint2

翻页器

* bbpager
* neap

系统监视器

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

  • 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的autostart.sh运行。

自动挂载

欲自动挂载外部卷——如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开启了若干屏幕保护选项打包,但没有安装。因此,当守护程序启用一个不能找到的屏幕保护时,你可能会看见简短的错误信息。加上那些包,把缺少的屏幕保护放到适当的位置,是比禁用缺乏的更容易的方法。

为了在引导时启动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的教程可在这里找到。
  • compiz:Compiz是一个现代的窗口管理器,拥有像动画、半透明装饰的许多特效和自己提供的合成管理器。
  • E17:Enlightenment提供完整的桌面环境,围绕速度和外观。这包含窗口管理器和桌面shell。

独立的

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

  • FVWM:FVWM是一个在Linux社区有着长久历史的传统的窗口管理器。它高度可制定,非常灵活并且有着十分苗条的配置文件。
  • FVWM-Crystal:FVWM是一套用于FVWM的配置文件,可安装为一套完整的桌面环境,附随整合的音频控制、屏幕保护选项与桌面壁纸设置。它也是可为老硬件选择的,最漂亮的选项之一。
  • Fluxbox:Fluxbox是一个有意成为疾速的窗口管理器,它基于Blackbox 0.61.1的代码。它实现以上所有的东西,还有更多。如果你发现你享受着与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