新一轮折腾:让系统启动完成后就一个黑屏幕,没有鼠标光标,没有面板,没有桌面,没有图标,没有任何菜单,可是还能用。
这些想法不是突然出现的,因为我最近看了很多大家对linux“折腾”的结果,以及网上很对linux的截图,发现:不管是windows还是linux,启动到图形界面以后基本都是下面这些东西:
鼠标光标
桌面(壁纸)
桌面图标
嵌入桌面上的其他(时钟、内存、网速、CPU使用、CPU温度....)
开始菜单(出现形式不同,有的在面板上,有的在桌面上左(右)击鼠标出现)
状态栏
面板以及上面的快捷按钮(也有人用dock)
系统托盘tray以及上面的活动程序图标
我是想让这些东西尽量都不出现,屏幕上干净干净加干净。即使实在没法去除的,也要隐藏隐藏再隐藏,不到用他的时候不要出现。
所有我想“折腾”出里个linux,然后用“春天里”的声调唱道:
还记得许多年前的夏天
那时的我折腾出一个系统
没有桌面也没有图标
没有菜单没有面板
可当初的我是那么快乐
虽然只有一个黑屏幕
在街上在桥下在田野中
唱着那无人问津的歌谣
如果有一天我老无所依
请把我留在在那时光里
如果有一天我悄然离去
请把我埋在这夏天里
还记得那一个系统
那时的我还是个菜鸟
没有时钟也没有托盘
没有我那可爱的桌面控件
可我觉得一切没那么糟
虽然我只有对爱的幻想
在清晨在夜晚在风中
唱着那无人问津的歌谣
也许有一天我老无所依
请把我留在在那时光里
如果有一天我悄然离去
请把我埋在这夏天里
凝视着此刻烂漫的夏天
看着那系统黑色的屏幕
我动动鼠标做了些手势
曾经的苦痛都随风而去
没出现桌面却出现图标
没出现面板没出现菜单
可是这些都可以被代替
我要做有个性的系统
也许有一天我老无所依
请把我留在在那时光里
如果有一天我悄然离去
请把我埋在这夏天里
如果有一天我老无所依
请把我留在在这夏天里
如果有一天我悄然离去
请把我埋在这夏天里
夏天里
(以下是解决方案,要在4楼配置正确的前提下,才能继续下面的安装和设置)
openbox+trayer+unclutter+apwal
代码: 全选
sudo apt-get install openbox trayer unclutter apwal parcellite kdocker gpe-clock
介绍:
parcellite:全局剪切板
Apwal:一种图标式的,透明的浮动程序启动器
Apwal 是一种简单的图标式程序启动器,它包含两个部分:程序启动器本身和配置编辑器。
在启动之后, Apwal 会将图标显示在鼠标指针处。用左键单击图标运行所选的程序,用右键单击打开 Apwal 编辑器。
Apwal 编辑器是一个简单易用的图形化 Apwal
配置程序。其中的图标选择窗口显示在您的系统里可供选用的图标,您也可以使用若干的过滤器来简化搜索过程(根据扩展名、大小、文件名等等)。
trayer 一个小型linux托盘,可以脱离面板独立使用。
trayer要想实现动态调整宽度和透明,就使用如下的命令行启动:
代码: 全选
trayer --expand true --transparent true --alpha 255 --edge bottom --align right --expand true --SetDockType true --widthtype request
KDocker:将应用程序缩小到系统托盘
KDocker 是个很小的桌面工具,它的主要功能是将应用程序的窗口缩小到系统托盘。KDocker 能用于包括 KDE、GNOME、Xfce、Fluxbox 等在内的许多桌面环境及窗口管理器。
gpe-clock:一个时钟。
unclutter:用于隐藏鼠标,鼠标5秒不动则自动隐藏。
选择openbox原因:
1,他默认没有面板和桌面,符合我的要求
2,配置文件简单
3,支持全局快捷键,可以通过快捷键切换已经打开的程序
4,鼠标中键激活桌面/窗口切换
5,轻量级,占用资源少。
文件 /minilinux/etc/slim.conf 加上openbox的sessions ,
sessions default,jwm,openbox,startxfce4,ion3,icewm,wmaker,blackbox,awesome
openbox有3个配置文件,需要从/etc/xdg/openbox中拷贝到~/.config/openbox下,分别是rc.xml、menu.xml、autostart.sh,
menu.xml不用去管他
rc.xml的配置只需要找到如下内容:
<action name="ShowMenu"><menu>client-menu</menu></action>
<action name="ShowMenu"><menu>root-menu</menu></action>
全部替换为:
<action name="Execute"><execute>apwal</execute></action>
即:让apwal代替openbox的菜单。
autostart.sh需要加上以下内容:
gpe-clock &
unclutter &
parcellite &
trayer --expand true --transparent true --alpha 255 --edge bottom --align right --expand true --SetDockType true --widthtype request &
经反复测试,把调用openbox-session的语句写入initrc有时不能自动调用sutostart.sh,而把openbox需要执行的语句直接写入/etc/X11/Xsession.d/20slim_locale,反而效果更好。如下:(重点是. /etc/environment和openbox对应部分)
代码: 全选
#!/bin/sh
. /etc/default/locale
. /etc/environment
for lt_var in $(env -i locale | sed -e 's/=.*$//') LANGUAGE
do
eval "if test \"\${$lt_var+set}\" = set; then
export $lt_var
fi"
done
case $1 in
kde)
exec startkde
;;
xfce4)
exec startxfce4
;;
icewm)
icewmbg &
icewmtray &
exec icewm
;;
wmaker)
exec wmaker
;;
blackbox)
exec blackbox
;;
jwm)
wine c:/ipmsg/ipmsg.exe &
rox-filer -p default &
parcellite &
;;
openbox)
exec openbox-session &
;;
*)
exec $DEFAULT_SESSION
;;
esac
然后注销,登录到openbox下。
就会出现一个灰色的屏幕,一个鼠标光标闪烁一下然后消失,屏幕右下角有一个时钟和一个剪切板图标。
这个kdocker作为没有状态栏的一个补充,可以把打开的程序最小化到trayer里面去,我们给他定义一个快捷键:
修改文件 ~/.config/openbox/rc.xml 找到
<keyboard>
在他下面加上以下内容后保存:
代码: 全选
<keybind key="C-k">
<action name="Execute">
<execute>kdocker</execute>
</action>
</keybind>
也加上一个鼠标动作绑定(绑定在右键双击),找到这一句:
代码: 全选
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximizeFull"/>
</mousebind>
在他下面加上:
代码: 全选
<mousebind button="Right" action="DoubleClick">
<action name="Execute">
<execute>kdocker</execute>
</action>
</mousebind>
然后只要想最小化窗口,就按一下ctrl-k,再在窗口上点一下鼠标。
或者在标题栏右键双击,出现方框型鼠标后再点击窗口一次,窗口就最小化到tray里面了。
或者在已经最小化到tray的窗口图标上右击,选“Dock another”,再点一下其他程序的窗口。
没有最小化到tray的窗口需要用alt-tab切换,或者用鼠标中键点击桌面切换。
现在的问题:
1,屏幕是灰色的,不是黑色的,我正在找怎么让屏幕完全变黑。
2,右下角的小图标有点违反我的原则,不过我感觉还是带着好,还要依靠他配合kdocker使程序最小化,方便恢复。
下图是我在桌面点下鼠标右键的样子,为了截图我打开了一个终端,chrimium已经最小化到了tray中。
正常时整个屏幕就只有右下角那点内容,其他地方都是黑的。
2011-08-02-163732_1280x1024_scrot.png
后面的主要工作是设置apwal,在黑色桌面上点击鼠标,在出现的图标上右击,然后去设置吧。不难,真的。
以下内容仅供参考,我没有亲自测试:另外,安装以下程序会破坏这个环境的整体风格。
如果大家觉得这个openbox太简陋,可以加一些外部程序
openbox是一个功能单一的WM(符合UNIX哲学中的KISS).
如果需要一些额外的功能,比如面板,背景等等就需要其他的程序来支持,这对gnome/kde用户来说也许比较难以理解,但这正是"一个程序完成一个目标"的集中体现.
以下程序如果希望随openbox一同启动,需要将其加入autostart.sh
3.1 文件管理器
GUI的文件管理器有很多选择:
nautilus,pcmanfm,rox-filer,thunar,xfe,gnome-commander…
nautilus会自动接管桌面,所以最好不要选它.推荐使用pcmanfm或者thunar.
具体可以去google它们.
安装都只要apt-get install就行了.
我实际使用的是一套kde的组合:dolphin(文件浏览)+arc(解压缩)+gwenview(kde看图)+dragonplay(视频播放)+okular(文档察看,pdf等格式用的)+kate(文本编辑),这样可以不用特别设置就点击打开绝大多数文件。只是安装包有点大,需要安装kde支持库,总共超过500M。
桌面背景
最简单的设置就是用feh来实现
# apt-get install feh
$ feh --bg-scale [path-to-picture]
feh是一个轻量的图片查看器,非常实用.
为了每次启动openbox后都有背景图片,需要将下面一行写入autostart.sh
feh —bg-scale [path-to-picture] & ##注意&符号别漏了
feh还有几个和设置背景有关的参数:
bg-tile
bg-center
bg-seamless
还可以在桌面贴图,参考ee大神:
[
viewtopic.php?f=33&t=252178]
需要安装habak
3.3 面板
面板也有不少选择:
pypanel,bmpanel,tint2,lxpanel,fbpanel,perlpanel,fspanel,xfce4-panel,gnome-panel
推荐其中的tint2和xfce4-panel
xfce4-panel的配置很简单,功能还算可以.
tint2是最适合跟openbox搭配的,它的外观定制性很高,功能不多,但必要的功能全都有了
fbpanel也不错,看你自己的需要了。不过安装了面板就一般不要启动trayer了,面板上基本都自带tray。
tint2已经经过测试,安装后拷贝/etx/xdg/tint2目录到~/.config下,修改~/.config/tint2/tint2rc文件如下,然后在autostart.sh里面加上一句:
tint2 &
# Tint2 config file
# Generated by tintwizard (
http://code.google.com/p/tintwizard/)
# For information on manually configuring tint2 see
http://code.google.com/p/tint2/wiki/Configure
# Background definitions
# ID 1
rounded = 7
border_width = 2
background_color = #000000 60
border_color = #FFFFFF 16
# ID 2
rounded = 5
border_width = 0
background_color = #FFFFFF 40
border_color = #FFFFFF 48
# ID 3
rounded = 5
border_width = 0
background_color = #FFFFFF 16
border_color = #FFFFFF 68
# Panel
panel_monitor = all
panel_position = bottom center horizontal
panel_size = 30% 30 #这里有改动,原来是94%
panel_margin = 0 0
panel_padding = 7 0 7
panel_dock = 0
wm_menu = 0
panel_layer = bottom #这里有改动,默认是top
panel_background_id = 1
# Panel Autohide
autohide = 1 #这里有改动,为迎合我们的风格,加上了自动隐藏
autohide_show_timeout = 0.3
autohide_hide_timeout = 2
autohide_height = 2
strut_policy = follow_size
# Taskbar
taskbar_mode = single_desktop
taskbar_padding = 2 3 2
taskbar_background_id = 0
taskbar_active_background_id = 0
# Tasks
urgent_nb_of_blink = 8
task_icon = 1
task_text = 1
task_centered = 1
task_maximum_size = 140 35
task_padding = 6 2
task_background_id = 3
task_active_background_id = 2
task_urgent_background_id = 2
task_iconified_background_id = 3
task_tooltip = 0
# Task Icons
task_icon_asb = 70 0 0
task_active_icon_asb = 100 0 0
task_urgent_icon_asb = 100 0 0
task_iconified_icon_asb = 70 0 0
# Fonts
task_font = sans 9 #字号,原来是7
task_font_color = #FFFFFF 68
task_active_font_color = #FFFFFF 83
task_urgent_font_color = #FFFFFF 83
task_iconified_font_color = #FFFFFF 68
font_shadow = 0
# System Tray
systray = 0 #这里有改动,原来是1,我们有trayer,面板上不用现实tray
systray_padding = 0 4 5
systray_sort = ascending
systray_background_id = 0
systray_icon_size = 16
systray_icon_asb = 70 0 0
# Clock
time1_format = %H:%M
time1_font = sans 9 #这里有改动,加大了字号
time2_format = %B %d %A #这里有改动,改成符合中国人习惯的排序
time2_font = sans 7 #加大了字号
clock_font_color = #FFFFFF 74
clock_padding = 1 0
clock_background_id = 0
clock_rclick_command = orage
# Tooltips
tooltip_padding = 2 2
tooltip_show_timeout = 0.7
tooltip_hide_timeout = 0.3
tooltip_background_id = 1
tooltip_font = sans 10
tooltip_font_color = #000000 80
# Mouse
mouse_middle = none
mouse_right = close
mouse_scroll_up = toggle
mouse_scroll_down = iconify
# Battery
battery = 0
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
battery_hide = 98
bat1_font = sans 8
bat2_font = sans 6
battery_font_color = #FFFFFF 74
battery_padding = 1 0
battery_background_id = 0
# End of config
补充说明:这个环境中没有有退出图形界面、关机和重启的项目,关机和重启用以下方法:
1,Apwal中建立一个图标,命令是“killall openbox”(不包括引号),点击他退出图形界面,到slim登陆界面
2,用户名处输入“halt”或者“reboot”(不包括引号,分别表示“关机”和“重启”)
3,密码输入root的密码。即完成关机和重启。
代码: 全选
sudo apt-get install kdesudo
(发现一个BUG:使用gksu会在~目录遗留一个 .gksu.lock ,这个文件的存在会引起下次重启时在slim登陆界面输入用户名后直接跳出到字符界面,所以请安装kdesudo代替gksu。----2011.08.06)