您尚未登录。

#1 2011-08-21 09:46:24

archblue
会员
注册时间: 2011-08-21
帖子: 73

5分钟openbox指南

先申明下, 这个是我以前发在红联的贴子. 原创的, 不是转载他人的 :em01

如果你厌倦了gnome,kde这样的复杂桌面环境, 可以尝试下openbox这个轻量级的DE.
最大的优点就是占用资源少, 运行效率高.

安装所需软件
openbox: 最基本桌面环境, 必须的
slim   : 轻量级图形登录管理器, 可以替代gdm/kdm
tint2  : 提供下面板
wbar   : 提供一个dock
feh    : 设置壁纸
obconf : openbox的图形化设置工具
obmenu : openbox的图形化菜单编辑工具
tint2conf: tint2的图形化设置工具
wbarconf: wbar的图形化设置工具
lxappearance: lxde的外观设置工具, 可同样用于openbox, 设置主题, 窗口字体等.
pcmanfm: 文件管理工具
obmixer: 托盘区音量图标
nm-applet: 网络连接管理器
scrot  : 截屏工具

除openbox是必须的外, 其它软件均有替代品. 可以在熟悉之后自由更换.

1. 安装openbox相关软件
各大发行版源中应该都有, 这里以archlinux为例

pacman -S openbox slim tint2 wbar feh obconf obmenu lxappearance pcmanfm scrot
#以下需要从aur安装, 可以用yaourt
wbarconf obmixer 

2. 修改/etc/inittab
在最下方的引导工具中, 注释掉gdm/kdm语句, 并取消slim语句注释
改完如下所示

#x:5:respawn:/usr/sbin/gdm -nodaemon
#x:5:respawn:/usr/bin/kdm -nodaemon
x:5:respawn:/usr/bin/slim >/dev/null 2>&1

3. 修改~/.xinitrc, 加入这一句

exec openbox-session

以便开机启动openbox进程

注: 在同一台机上, gdm/kdm/openbox环境是可以并存的. 由引导器决定到底启动哪个DE.
2,3二步的目的就是在保留gnome/kde环境的前提下, 引导openbox.
同理, 如果你又想切回gnome/kde环境又该怎么做呢?
很简单, 只要把2,3二步反向操作下就可以了, 即注释掉slim和openbox-session二句,
并取消gdm/kdm的注释即可. 这也是为什么推荐用slim的原因, 和原有的环境保持分离.

4. 创建~/.config/openbox/autostart.sh
openbox启动时, 默认会执行这个脚本, 所以可以把要启动的程序都写在这里
注意, 安装时不会自动创建这个文件, 需要自己手动创建
内容如下

nm-applet&
tint2&
(sleep 2 && wbar)&
ibus-daemon -rxd&
(sleep 2 && obmixer)&
feh --bg-scale picture.jpg

wbar, obmixer都要先等几秒再启动, 否则可能会有意想不到的错误. 个人经验,
也许你不用等待也会一切正常, 自行选择吧.

4. 重启电脑, 以便加载openbox环境

5. 输入帐号密码后, 你就可以看到openbox环境了, 是不是太简洁了?
没关系, 现在可以使用各个图形化设置工具了
openbox的配置文件主要有二个,
分别是~/.config/openbox/rc.xml和~/.config/openbox/menu.xml
前者可以由obconf更改, 后者可由obmenu更改
注意: obconf不能自定义rc.xml中的快捷键部分, 这里需要自行添加
obconf: 虽然可改项很多, 但实际上并没有多少要改的,默认即可
obmenu: 在桌面右键时, 会弹出一个菜单. obmenu就是自定义这个菜单的
lxappearance: 相对来说, 这个可能更适合大多数用户, 选择窗口主题, 鼠标主题等等.
tint2conf: 自定义tint2面板
wbar-conf: 自定义wbar

6. 附几个配置
a. rc.xml中的"显示桌面"快捷键设置, 这里用的windows+d

    <keybind key="W-d">
      <action name="ToggleShowDesktop"/>
    </keybind>

b. rc.xml中的"截屏"快捷键, 
截取当前窗口, ctrl+Print Screen

    <keybind key="C-Print">
            <action name="Execute">
               <command>scrot -s "/home/allblue/pictures/scrot/cut-%m.%d-%H%M%S.png"</command>
            </action>
    </keybind>

截取鼠标选定区域, ctrl+alt+Print Screen

    <keybind key="C-A-Print">
            <action name="Execute">
               <command>scrot -bs "/home/allblue/pictures/scrot/app-%m.%d-%H%M%S.png"</command>
            </action>
    </keybind>

全屏载取, Print Screen

    <keybind key="Print">
            <action name="Execute">
                <command>scrot "/home/allblue/pictures/scrot/screen-%m.%d-%H%M%S.png"</command>
           </action>
    </keybind>

c. rc.xml多媒体快捷键设置
音量放大

    <keybind key="XF86AudioRaiseVolume">
      <action name="Execute">
        <command>amixer set Master 5%+ unmute</command>
      </action>
    </keybind>

音量缩小

    <keybind key="XF86AudioLowerVolume">
      <action name="Execute">
        <command>amixer set Master 5%- unmute</command>
      </action>
    </keybind>

静音

    <keybind key="XF86AudioMute">
      <action name="Execute">
        <command>amixer set Master toggle</command>
      </action>
    </keybind>

打开主页

    <keybind key="XF86HomePage">
      <action name="Execute">
        <command>firefox</command>
      </action>
    </keybind>

打开邮件客户端

    <keybind key="XF86Mail">
      <action name="Execute">
        <command>thunderbird</command>
      </action>
    </keybind>

多媒体快捷键配的难点主要在于确定该键位的表示名称, 大多数名称都是通用的.
XF86AudioPlay 多媒体播放
XF86AudioPause 多媒体暂停
XF86AudioMute 静音
XF86AudioRaiseVolume 增大音量
XF86AudioLowerVolume 降低音量
XF86HomePage 浏览器打开主页
XF86Mail 邮件
XF86Sleep 休眠
XF86Calculator 计算器

d. 一个随机壁纸脚本, 有bash和python二种写法. 可以任选一个放到crontab里, 实现壁纸定时更换
bash写法

#!/bin/bash
#set -x
dir_wallpaper="/home/allblue/pictures/wallpapers"
cd "$dir_wallpaper"

#du比ls更适合列出子文件路径, 只要删出行首的大小与空格, 就可得到子文件的完整相对路径.
pic=$(du -a . | sed -r  's/^[0-9]+//' | sed -r 's/^[ \t]+//g' | sed -n -r '/png|jpg|jpeg/Ip'  | shuf | head -1)
echo ""
date
echo "$pic"
if [ -f "$pic" ]; then
#crontab运行时,需指定DISPLAY变量
        DISPLAY=:0 feh --bg-center "$pic" &
        killall wbar
#wbar默认会以英文环境启动, 需指定LANG变量
     env LANG=zh_CN.UTF-8 DISPLAY=:0 wbar  --pos top-left --isize 35 --zoomf 1.8 --jumpf 1 --bpress &··
fi

python写法

#!/usr/bin/python
#encoding=utf-8
import os
import random

def filepath(v,fdir):
    h=os.path.abspath(fdir)
    if os.path.isdir(h):
         for subdir in os.listdir(h):
            filepath(v,os.path.join(h,subdir))
    else:
            v.append(h)
            #print(h)
········
if __name__ == "__main__":
        sdir="/home/allblue/pictures/wallpapers"
        u=[]
        filepath(u,sdir)
        item=""
       item=random.choice(u)
        #print(item)
        if item.split(".")[-1].lower() == "jpeg" or item.split(".")[-1].lower() == "jpg" or item.split(".")[-1].lower() == "png" :
            item = '"'+item+'"'
            cmd="DISPLAY=:0 feh --bg-center  "+item+" &"
            os.system(cmd)
            os.system("killall wbar")
            os.system("env LANG=zh_CN.UTF-8 DISPLAY=:0 wbar  --pos top-left --isize 35 --zoomf 1.8 --jumpf 1 --bpress & ")

最后附一张截图吧
[attachment=0:2xw44xp8]<!-- ia0 -->2011-06-01-014347_1280x800_scrot.png<!-- ia0 -->[/attachment:2xw44xp8]

离线

#2 2011-08-21 10:36:40

majia321
会员
注册时间: 2011-08-20
帖子: 53

Re: 5分钟openbox指南

找到组织 :em05
rc.xml 我的部分快捷键

<keybind key="XF86AudioRaiseVolume"><action name="Execute">
     <command>amixer set Master 1%+ unmute</command></action></keybind>
<keybind key="XF86AudioLowerVolume"><action name="Execute">
     <command>amixer set Master 1%- unmute</command></action></keybind>
<keybind key="XF86AudioMute"><action name="Execute">
     <command>amixer set Master toggle</command></action></keybind>
<!-- <keybind key="XF86AudioMute"><action name="Execute"><execute>ossvol -t</execute></action></keybind>
 <keybind key="XF86AudioRaiseVolume"><action name="Execute"><execute>ossvol -i 1</execute></action></keybind>
 <keybind key="XF86AudioLowerVolume"><action name="Execute"><execute>ossvol -d 1</execute></action></keybind>  -->

<keybind key="XF86PowerOff"><action name="ShowMenu"><menu>exit-menu</menu></action></keybind>
<keybind key="Print"><action name="Execute">
      <execute>scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/ &amp; mirage ~/$f'</execute></action></keybind>
<keybind key="A-Print"><action name="Execute">
     <execute>scrot -d 10 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/ &amp; mirage ~/$f'</execute></action></keybind>
<keybind key="C-A-l"><action name="Execute">
     <command>xscreensaver-command -lock</command></action></keybind>

menu.xml 截图菜单 + obdevicemenu obfilebrowser pipe menu

		<menu id="graphicsScreenshots" label="Take Screenshot">
			<item label="Now">
				<action name="Execute">
					<execute>
							scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/ &amp; mirage ~/$f'
					</execute>
				</action>
			</item>
			<item label="In 5 Seconds...">
				<action name="Execute">
					<execute>
							scrot -d 5 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/ &amp; mirage ~/$f'
					</execute>
				</action>
			</item>
			<item label="In 10 Seconds...">
				<action name="Execute">
					<execute>
							scrot -d 10 '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/ &amp; mirage ~/$f'
					</execute>
				</action>
			</item>
			<item label="Selected Area... (click &amp; drag mouse)">
				<action name="Execute">
					<execute>
							scrot -s '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/ &amp; mirage ~/$f'
					</execute>
				</action>
			</item>
		</menu>
    <separator/>
    <menu execute="obm-xdg" id="xdg-menu" label="Applications"/>
    <menu id="obfb-home" label="Home Folder" execute="obfilebrowser ~ --term 'xterm -e %s'" />
    <menu id="devices" label="Devices" execute="/usr/bin/obdevicemenu" />

obdevicemenu https://aur.archlinux.org/packages.php?ID=47192
obfilebrowser https://aur.archlinux.org/packages.php?ID=28956
新推荐:openbox-menu https://aur.archlinux.org/packages.php?ID=31605


喵~Zz

离线

#3 2011-08-21 12:05:45

phoenixlzx
晩ご飯だよー
注册时间: 2011-08-19
帖子: 1,789
个人网站

Re: 5分钟openbox指南

不错.
:em02

离线

#4 2011-08-22 11:54:08

Snake
会员
注册时间: 2011-08-20
帖子: 3

Re: 5分钟openbox指南

迅速马克!正在用openbox.
PS:现在的ibus 不用加在autostart.sh 中去启动了。已经很智能,在系统的/etc下已经有全局设定。 :em01

离线

#5 2011-08-28 11:08:58

nerver
论坛版主
注册时间: 2011-08-19
帖子: 114

Re: 5分钟openbox指南

来顶  :em11
ps:去掉tint2,用中键代替,系统托盘用trayer,再补个启动器dmenu,时间用conky,见下图。


我基本算是个eva控了。。。

离线

#6 2011-09-05 12:02:42

ideasygoing
会员
注册时间: 2011-09-05
帖子: 3

Re: 5分钟openbox指南

给推荐一个好点的主题呗

离线

#7 2011-09-05 15:18:18

tenzu
论坛版主
注册时间: 2011-08-21
帖子: 148

Re: 5分钟openbox指南

dmenu还是要的,嗯嗯


I'm not a geek

离线

#8 2011-09-05 15:45:13

jk_1
会员
注册时间: 2011-08-20
帖子: 68

Re: 5分钟openbox指南

那个时钟不错
给个 :em01

离线

#9 2011-09-06 20:45:59

nerver
论坛版主
注册时间: 2011-08-19
帖子: 114

Re: 5分钟openbox指南

jk_1 说:

那个时钟不错
给个 :em01

是俺的?这个conky来自 http://www.deviantart.com/
自己搜索 conky clock,各种花样自己选  :em04
ps:dmenu安装aur的dmenu-xft可以自定义字体。


我基本算是个eva控了。。。

离线

#10 2011-09-16 20:10:33

长头发的和尚
论坛版主
注册时间: 2011-08-19
帖子: 54

Re: 5分钟openbox指南

不错,等G3玩腻味了,就上openbox :em06

离线

#11 2011-09-20 15:48:10

lix
会员
注册时间: 2011-08-23
帖子: 20

Re: 5分钟openbox指南

Mark!学习! :em11

离线

#12 2011-09-23 19:45:39

majia321
会员
注册时间: 2011-08-20
帖子: 53

Re: 5分钟openbox指南

配套安装,轻巧秀美,强烈推荐!!
http://razor-qt.org/    :em38


喵~Zz

离线

#13 2011-09-23 20:10:46

ReiFFEXzyx
古悠行者
注册时间: 2011-08-20
帖子: 187

Re: 5分钟openbox指南

majia321 说:

配套安装,轻巧秀美,强烈推荐!!
http://razor-qt.org/    :em38

Mark!


[fracting的大作]Wine使用中的一些常见误区
http://forum.ubuntu.org.cn/viewtopic.php?f=121&t=363147
顺便学习一下对待开源软件的正确态度

离线

#14 2011-11-05 07:10:19

tusooa
论坛版主
注册时间: 2011-08-21
帖子: 138
个人网站

Re: 5分钟openbox指南

咋都用feh设壁纸的。

离线

#15 2011-11-06 10:32:29

tenzu
论坛版主
注册时间: 2011-08-21
帖子: 148

Re: 5分钟openbox指南

tusooa 说:

咋都用feh设壁纸的。

那你用啥?


I'm not a geek

离线

页脚