2008-07-30
 
也许你听说过 Blackbox 和 Fluxbox,那么,Openbox 又是什么?Openbox 跟它们很相似。不过,我们还是来看看 Openbox 官方给出的说明吧。Openbox 官方称,Openbox 是一个可高度定制且包含广泛标准支持的下一代窗口管理器。近来,我玩 Openbox 是越来越上心,自以为有些小得,遂立此文,以助新手快速入门。
目录表
我喜欢 Openbox 的原因
如何安装 Openbox
运行 Openbox
配置 Openbox
设定键盘和鼠标绑定
控制应用程序
使用自动启动脚本
提示与技巧
参考资源
我喜欢 Openbox 的原因
从了解到学习,再到天天使用 Openbox,我主要基于以下理由:
速度非常快,资源占用极少。
可高度定制化,能够对应用程序加以灵活控制。
能够绑定键盘和鼠标。比如,你可以为程序设定启动快捷键,也可以为最小/大化窗口设置热键。对于鼠标,同样如此。
具有自动启动脚本,能够随机自动启动各种程序。
主题资源丰富,与 *box 类视觉样式兼容。Openbox 的外观是简约而不简单。
支持会话,可深入 GNOME、KDE、Xfce 等桌面环境使用。换句话说,Openbox 可替代这些桌面环境中默认的窗口管理器,而其他桌面组件仍旧保持原样。
如何安装 Openbox
要安装 Openbox 有两种方法:其一是直接从所用的 Linux 发行版中安装;二是下载其源代码,自行编译安装。前者的优势是省事,不过有时候安装的 Openbox 并非是最新版。而后者虽然稍显麻烦,但可以实现更加灵活的掌控。
从发行版安装
Openbox 已被包含到大多数流行的 Linux 发行版中。因此,使用该发行版的包管理工具来安装 Openbox 是一件十分容易的事情。
Archlinux 用户执行以下命令可以安装 Openbox:
pacman -S openbox
而 Debian/Ubuntu 用户可以执行下面的命令:
sudo apt-get install openbox
Fedora 用户也可以使用 yum 来安装 Openbox:
yum install openbox
从源代码编译安装
然而,有时候从发行版安装的 Openbox 并非是最新版本,或者在你所用的 Linux 发行版中不能找到 Openbox,这时候可以考虑从源代码编译安装它。
编译依赖
要从源代码编译安装 Openbox,首先要准备以下依赖包:
C 编译器(比如 GCC)
Libc
Xlib
Glib-2
LibXML-2
Pango
Startup-notification(可选,推荐安装)
XCursor(可选,推荐安装)
Pkg-config
不要被这些依赖包所吓倒,其实多数 Linux 发行版已经默认安装了。你所要做的就是一一检查和核对而已。
编译及安装
一旦准备好编译 Openbox 所需的依赖包,在下载并解包源代码文件后,便可按如下指令来编译并安装 Openbox:
.
./configure --prefix=/usr --sysconfdir=/etc #配置,更多选项可通过 ./configure --help 获取
m
make #编译
s
sudo make install #安装
 
 
 
 
哈,很熟悉的编译安装三步曲。
运行 Openbox
如果你使用了 GDM/KDM 之类的图形登录管理器,那么在系统登录时从会话类型菜单中选择 Openbox 相关条目即可启动 Openbox。
 
另一种启动 Openbox 的方式是命令行。只需向主目录中的 ~/.xinitrc 文件加入如下内容即可:
exec openbox
另外,包含会话支持功能的 Openbox 可以使用下面的内容代替:
exec openbox-session
Openbox 看起来像下面的样子:
 

窗口管理器 Openbox 入门指南的更多相关文章

  1. Web API 入门指南 - 闲话安全

    Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...

  2. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...

  3. yii2实战教程之新手入门指南-简单博客管理系统

    作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...

  4. 【翻译】Fluent NHibernate介绍和入门指南

    英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...

  5. ASP.NET MVC 5 入门指南汇总

    经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解 ...

  6. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

  7. 一起学微软Power BI系列-官方文档-入门指南(2)获取源数据

    我们在文章: 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍中,我们介绍了官方入门文档的第一章.今天继续给大家介绍官方文档中,如何获取数据源的相关内容.虽然是英文,但 ...

  8. 一起学微软Power BI系列-官方文档-入门指南(3)Power BI建模

    我们前2篇文章:一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍 和一起学微软Power BI系列-官方文档-入门指南(2)获取源数据 中,我们介绍了官方入门文档与获取 ...

  9. 一起学微软Power BI系列-官方文档-入门指南(4)Power BI的可视化

    在前面的系列文章中,我们介绍了官方有关获取数据,以及建模的原始文档和基本介绍.今天继续给大家介绍官方文档中,有关可视化的内容.实际上获获取数据和建模更注重业务关系的处理,而可视化则关注对数据的解读.这 ...

随机推荐

  1. ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)

    下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整 ...

  2. centos的linux内核源码下载方法

    http://vault.centos.org/ http://blog.csdn.net/xiongzhizhu/article/details/51816243

  3. mysql select语句执行顺序

        SELECT语句定义       一个完成的SELECT语句包含可选的几个子句. SELECT语句的定义如下: <SELECT clause> [<FROM clause&g ...

  4. Matlab Command Window 进度提示

    效果如下,

  5. Android源码大放送之material design类型

    本文转载自:http://www.apkbus.com/android-243232-1-1.html 鉴于大家对源码的渴望,就算自己辛苦一点也要满足大家的需求,查看了几百个源码之后终于筛选出了这些精 ...

  6. PHP:IIS下的PHP开发环境搭建

    背景 发现书柜中有好几本PHP的图书,决定还是学学PHP,本文介绍一下在Windows环境下PHP开发环境的搭建. 运行环境搭建 下载和安装下面三个软件: IIS. http://php.iis.ne ...

  7. 2014 百度之星 题解 1004 Labyrinth

    Problem Description 度度熊是一仅仅喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫仅仅能从矩阵左上角第一个方格開始走,仅仅有走到右上角的第一个格子才算走出迷宫,每一次仅仅能 ...

  8. 【php】利用php的构造函数与析构函数编写Mysql数据库查询类 (转)

    上次在<[php]利用原生态的JavaScript Ajax为php进行MVC分层设计,兼容IE6>(点击打开链接) 一文中,对于php查询Mysql数据库的model.php写法还不够完 ...

  9. easyui 后台页面,在Tab中的链接点击后添加一个新TAB的解决方法

    1.示例1 新增一个按钮 添加点击事件 onclick="self.parent.addTab('百度','http://www.baidu.com','icon-add')" 如 ...

  10. mysql求交集:UNION ALL合并查询,inner join内连接查询,IN/EXISTS子查询

    两个要求交集的表(列)的结构要一致,对应的字段数,字段类型都应该相同:将两个数据的数据列用 UNION ALL 关键字合并:将上面的所有需要比较的列 GROUP BY :最后 HAVING COUNT ...