[分享]真正的linuxer用的桌面-完全中文console--wmii

各种窗口管理器和美化相关
头像
密友
帖子: 64
注册时间: 2007-04-11 23:12
来自: 广东东莞虎门
联系:

[分享]真正的linuxer用的桌面-完全中文console--wmii

#1

帖子 密友 » 2007-06-02 20:32

厌倦了美化。受够了因为图型化,人性化而变得日益庞大复杂的桌面系统而带来的龟爬慢速。有时真想把那些gn…,k…什么的通通不要。全部的操作都从命令行进行。想想有时你要翻箱倒柜才能找到的程序和操作只用一个命令就解决了。那种感觉是不是很那个。 :wink: 。还有图型化的桌面带来的是对系统资源的占用。对于像我这样开着三年前的老爷车的玩家,特别是玩大型3D游戏时系统资源严重不足。那时候你真想一头撞过去跟他同归尽死了算。所以系统资源能省一点就省一点吧,最好就是全部都省。 :lol: 。对吧。说干就干。
一开始,我想干脆只留下控制台console。gnome桌面也不要了。但是不行。gnome有很多程序很不错的。还有上网啊,看电影啊,QQ啊,等等。都要用到图型化的,虽说文本界面也有相应的工具。但是也没有理由为了一时意气就弃之不用啊。一下子又回到了原始时代。那样就真的全都省了;而且玩3D游戏也要用到显卡驱动啊。好像是要启动X时才载入显卡驱动的。不用进入X也可以载入显卡驱动的方法。因为所学有限。未能找到。(如果那位大侠知道的,但求相告才是)所以最理相的情况就是既可以在纯控制台下工作又可以通过命令打开窗口图型化窗口程序,游戏等。当然还要用到老鼠。
假如是一开机就只进入控制台的话,那就还有一个问题。因为我是中国人。大家都是中国人。虽说要提昌国际化。但是不能也不应该放弃本土化吧。所以console下的中文支持也是一个必须的艰难的令人头都大的了问题。为了这个问题小弟我查资料整整查了个两天两夜。到现在还没搞定。你说这是什么事呀,那些洋鬼子搞出这些叫电脑的东西,又搞出些叫作操作系统的东西。搞就搞了,问题是他们搞出来我们还要花时间去学习。更要命的是这些东西都是用他们的语言写的。咱还得花时间去把他翻过来炒过去的。那一天咱也搞一个“脑电”“统系”什么的。让那些洋鬼子也去学他几十年。翻他几十年,这样才解恨。言归正传。网上流传的console汉化的方法无非两种。一种是用程序虚拟一个控制台来显示中文,其中的代表就是zhcon.不过这样显示出来的界全奇丑。就不考虑了。另一种就是内核级的汉化。因为汉字是双字节编码。E文是单字节编码,而洋鬼子的“电脑”和“系统”是以E文单字节编码写的。所以对于汉字这种庞然大物是无法直接显示的。你有碼表也不行。这是内核决定的。中文gdk的码表是cp936.(.psf文件)你在网上跟本找不到现成的。自己弄出来的又用不了……。所以有的程序就是通过给内核打补丁然后重编译实现汉字显示支持的。像unicon。但是不瞒您说。我最头痛编译内核了。而且也没编过。听说一般要半个小时的。嘿嘿,我这老爷车就更不用说了。(我没做过你也不能阻止我讨厌是不)。
话说回来。就算给你把console汉化了又怎样。图型化程序怎么办?3D游戏怎么办?
不过。我始终相信条条大路通罗馬。(小路可不敢说)至少也通北京吧。而且现在火车大提速。这不,在翻看新立得的时候终于给我发现一个超轻量级的窗口管理器可以说基本把以上那些文问解决了。(啊?什么问题?……就知道你没老老实实的从头看起。赶紧回过头去看。)就是这个wmii。有图在下面。大部分的操作都是通过键盘完成。最重要的是他小得就像颗花生米那么大。才20多k。对系统来说根本微不中道。但是可不要小看他啊。支持虚拟桌面,窗口自动排列:这可是最大特点。wmii可是不会给你一点空的地方的。
你可以完全保留你的G。以及所有程序。因为在wmii里你还可以更酷的使用他们。不知道K里面怎样。用K的朋友可以试一下。以及其他。
源里有,你可以apt,我装的是wmii2。wm系列的有好多版本,以及类似的比如。wmii3.5 evilwm aewm++ dwm pdmenu…都是基于9menu 9wm。不同的版本有很大的不同。主要是在快捷键上的不同。.经选择试用,小弟弟认为源里的wmii2。比较好用基本不用配置就可以用了。

sudo apt-get install wmii2

重启一下X看看。login的时候选一下会话,你会看到wmii2,然后手动hit入用户名密码,请问是多少? :lol:
当然,你装完之后跟我的是有点不一样的。你的所有配置都要修改源代码实现。当然别担心,不是内核源代码。是wmii2的源代码。你想想20K能有多大呢。所有的东要都在/etc/Xii/wmii/里了。包括
cd /etc/X11/wmii/ && ls
wmiirc ------这是主程序,就是改他了。不改他改谁。
welcom------这是第一次进入的时候,告诉你都有哪些快捷键的。可要仔细看哦。不然不会用不要找我。
status------这是右下角时间和系统。改他可以个性化时钟以及加入各种工能。比如说计划任务。mp3时间曲目等
quit--------这是退出用的。照改
extern------好像也是退出
kmode-------键复位
用root修改wmiirc。做好备份哦。坏了就到这里下我的回去用吧。(ps:以下的操作全部要以root权限,或者sudo)

sudo gedit /etc/X11/wmii/wmiirc

把开始那几行改成我这样的。主要是把边框干掉,把下面的横条弄得看不出来。就像没有一样。

#!/usr/lib/9base/bin/rc
# configure wmii

TAB_HEIGHT=0
BAR_HEIGHT=11
BORDER_WIDTH=3

SELECTED_BG_COLOR='#000000'
SELECTED_FG_COLOR='#eeeeee'
SELECTED_BORDER_COLOR='#000000'
NORMAL_BG_COLOR='#000000'
NORMAL_FG_COLOR='#bbbbbb'
NORMAL_BORDER_COLOR='#111111'
TEXT_FONT='fixed'

…… …… ……
成了,不用重启。CTRL+ALT+a 走到wmiirc回车就可以看看结果

当然,要让我们的桌面,看起来就像是在终端里一样。你还要让一个虚拟终端开机自动运行并且最大化,且无边框(刚才我们做了不是吗)无菜单无下拉(这要你自修改一下虚拟终端的配置文件,右键可以关菜单)。最大化:wmii会让你的程序一打开就是最大化。我说了他是不会给你一点空地的。
我的做法是先在/etc/X11/wmii/下新建一个脚本文本,我们叫他autorun。内容如下:

#!/bin/bash
#autorun
#001
extern x-terminal-emulator
#002
#003

保存之后。我们再给他可执行能力

chomd +x autorun

然后再打开wmiirc

拉到最下面。在status &下面空一行。一定要空一行。加入

#autorun
autorun


像这样:

…… ……

# MISC

xsetroot -mod 2 2 -fg '#000000' -bg '#111111'
status &

#autorun
autorun &

#end

注意,autorun &下面一定要空一行。不然他不理你。

当然,当你以上都做好之后,开心得不得了,准备发张图上来让大家也高兴一下。于是你怀着兴奋激动和迫不急待的心情按下了print screen键。等了半天你却发现全没反应。天啊全世界公认的抓图功能。在这里竟然就没有了。别急别急。wmii作为一个超轻量级的wm,正是因为小和不是很为人知(不信你GoogleGoogle看)还有很多的不足之处。但就是因为他的小。所以给了我们很多自由修必和发挥想像力的空间。下面是加入抓图功能的方法。你就可以发图上来了吧
还是打开/etc/X11/wmii/wmiirc。在下面这一组加入PRINTKEY=Print以作声明

MODKEY=M # M, M2, M3, WIN, or M5
NORTHKEY=k
SOUTHKEY=j
WESTKEY=h
EASTKEY=l
PRINTKEY=Print

然后,你可以查一下

kbind normal $MODKEY-t 'extern x-terminal-emulator'

这么长不要以为查不到。一定查得到的。查不到你找我。看到没有?这就是ALT+t打开terminal的意思了,那我们就在这一行的付近插入一行。付近是哪?就是上下左右,隔单隔双都行。在上面就好,方便以后看到。然后插入

kbind normal $PRINTKEY 'gnome-screenshot --interactive'

这样就成了。print试试吧。是不是不一样。不过多了个选项到还好。

当然还可以做进一步的自定义。因为小弟我对脚本语言不是很懂。所以请懂得的朋友,把自己的配置在下面补充下下。

这样就差不多的。接下来呢。您可以让您的爱机一开机就进入这个coolcoolcooool的桌面。就算不用户名密码就可以进入也没关系了。外行根本就不会用。还一定摸不着头脑,以为你用的是几十年前的DOS呢!哈哈,然后就看你大显身手了。那么你可以打开gdmsetup。也就gdm的登录管理器。到安全那里,把自动登录选上。选一个用户。

或许你想在终端里用starx进入wmii。而不是gnome。你可改一下这个/etc/X11/xinit/xinitrc

gedit /etc/X11/xinit/xinitrc

在./etc/X11/Xsession那一行之前加入下面的内容像这样:

until wmii; do
true
done
DISPLAY=:1 wmii

./etc/X11/Xsession

还有,如果你有时会用f1--fx来切换终端。但是当你切换到没有X的终端时发现显示分辨率变成了600x400,是不是很刹风景?做戏做全套。那我们就把终端的分辨率全设为跟X一样的。
#修改Linux文本模式下的显示分辨率
比如原来分辨率是800*600,改为1024*768,
修改grub的menu.lst;在kernel那一行加上vga=792就okb了。

gedit /boot/grub/menu.lst

title Ubuntu, kernel 2.6.20-16-lowlatency
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-16-lowlatency root=UUID=fc0270f8-abe2-44b8-a795-3b2f66f606a9 ro quiet splash vga=792
initrd /boot/initrd.img-2.6.20-16-lowlatency
quiet
savedefault

如果用lilo
在tabel行下加入一行:
vga=792
最后的vga=792表示1024x768,16M色彩,具体数值可以参见下表:

640x480 800x600 1024x768 1280x1024

256 769 771 773 775

32K 784 787 790 793

64K 785 788 791 794

16M 786 789 792 795

当然。现在我们用上了超轻量级的wm。可喜可贺。不过如果轻量级的wm配上一些轻量级的程序那就更好了哈哈。
文本editor我发现一个:leafpad,用起来比gedit还快。小弟以上的工作都是用的leafpad。不过为了大众化一点打出的都是gedit.不知有谁一开始就看到这里呢?哈哈
apt-get install leafpad
在网上查资料用firfox太大才小用了吧。如果只是查资料看图片的话,不比不知道一比下一跳。那个慢呀。查资料我用DILLO(滴漏)界面及输入的中文支持不是很好。但你输得进去就没错了。虽然显示不出来。
apt-get install dillo
要在线看电影听歌还是用firfox吧。毕竟功能全。还有吗?不知道。你知道吗。在下面补充吧……

怎么用呢。看上去空荡荡的。 :wink: 所以一定要仔细看清楚welcom了。会了就很简单了。。。

下面是wmii的脚本编程说明:


小節

* 6.1 語言
* 6.2 行為
* 6.3 wmiirc
* 6.4 改變風格
* 6.5 填充狀態條
* 6.6 加入新標記

6 wmii 腳本編程
本章,你將看到如何通過腳本控制 wmii。我將給你一些指點,從而你可以開始自己的腳本編程。

6.1 語言:
之前提到的,與 wmii 交互唯一需要的是訪問它的文件系統服務。實現的簡單方法,是使用 wmiir 工具。
因此,你可以用任何你想要的編程語言來控制 wmii。然而,wmii 預設的腳本是用 POSIX 相容的 "sh" 的一個子集進行編寫,這樣可以保持 wmii 儘可能地相容。
為了簡化,接下來的例子也堅持用 "sh",而不依賴於 phthon,tcl,ruby,...
6.2 行為
在 wmii 中,你可以組織幾個的任務至 行為。行為是可以在你的本地或者在預設的 wmii 配置目錄找到的簡單腳本。 通過按 MOD-ctrl-a ,你可以開啟 行為 選單。它工作起來像程式選單,不止是顯示 行為。
你也許想要通過在預設的 wmii 配置目錄或者在 $HOME/.wmii中寫 shell 腳本來加入你自己的 行為。
它能工作,因為在運行 wmiiwm 之前,在 wmii 的控制腳本中 輸出 變數:$PATH 為:$PATH=~/.wmii:$CONFPREFIX/wmii:$PATH,這樣在~/.wmii-3下的本地用戶 行為 優先於預設從 $CONFPREFIX/wmii中引出的預設 行為。

你可以隨意編輯此文件,意思是你在編輯前不必停止 wmii。在你完成編輯前,你可以簡單地運行 wmiirc , 同時更改將立刻生效。這樣做,只用開啟 行為 選單(按 MOD-a)並選擇 wmiirc 行為。也能直接從一個終端運行 wmii 行為, 這是一個從 wmii 啟動腳本中輸出的 $PATH 的結果而引起的巧妙效果。

6.3 wmiirc
wmiirc 是一個特殊的 'sh" - 腳本,於 wmii 開始時啟動來貼心配置和控制 wmii。
它通過寫數據到虛擬 wmii 文件系統的幾個文件來工作,通過讀取在 wmii 運行期間的事件報告。事件如按下快鍵,滑鼠點擊或用戶定義。事件在腳本的一個迴圈中執行。
因此,wmii 基礎的配置,像改變預設的修改鍵 MOD=Mod1 或者導航鍵,這個腳本是個能看到的地方。
wmiirc 的名字意味著 wmii 運行命令,因為 "rc" 是一個 "run command " 老式的 Unix 縮寫
6.4 改變風格
wmii-3 的風格通過 font 和 colour 值來定義,這些通過以下的環境變數低調地輸出。

WMII_SELCOLORS='#000000 #eaffff #8888cc'
WMII_NORMCOLORS='#000000 #ffffea #bdb76b'
WMII_FONT=static

WMII_SELCOLORS 定義選擇的客戶端視窗的標題和邊框顏色,反之 wmII_NORMCOLORS 定義未選擇的客戶端的顏色。。數字是16進位 rgb 元素值,你應該從 HTML 知道它們。舉例如你可以用 Gimps 顏色-選擇器 來抓取它們。
第一個顏色定義位於工具條和選單的文本顏色。第二個顏色定義工具條和客戶端的背景,第三個顏色定義圍繞於工具條和客戶端的 1px 邊框。
WMII_FONT 定義用於渲染文本的字體。位於標題條,狀態條,和 wmiimenu。舉例如你可以使用 xfontsel 來查詢不同的字體。

6.5 填充狀態條
wmii狀態條擁有自己的 /bar 目錄和為每個創建的標簽子目錄。於是編輯本文時,我的 狀態條 如:

$ wmiir read /bar
d-r-x------ salva salva 0 Mon Apr 17 14:19:51 2006 1
d-r-x------ salva salva 0 Mon Apr 17 14:19:51 2006 2
d-r-x------ salva salva 0 Mon Apr 17 14:19:51 2006 status

同時每個子目錄包含兩個文件,

$ wmiir read /bar/status
--rw------- salva salva 23 Mon Apr 17 14:22:14 2006 colors
--rw------- salva salva 23 Mon Apr 17 14:22:14 2006 data

第一個文件包含的顏色定義控制條如何被渲染,同時第二個包含誰能被顯示的數據。
現在你能夠自己建立一個新的表來作為實驗,用讀與寫它的 colors & data 值來擴展和修改它。條(和客戶端)一個很好的特性是對滑鼠在他們上面的點擊生成事件來響應。你可以開啟一個終端和運行 wmiir read /event 來看當你在狀態條上點擊時事件是如何生成的。這是一個允許直接從條上控製程序的機制。如果你完成實驗,且你希望去除你的標簽,一個 wmiir remove /bar/foo 命令就可以。
如果你希望學到更多,看看狀態條腳本以及訪問 <a href="http://wmii.de" class='external free' title="http://wmii.de" rel="nofollow">http://wmii.de</a> (譯者:似乎站點有問題)獲得更好的例子,如下例:

* status: 顯示剩餘電量、溫度,...在筆記本上
* status-mpd: 控制運行中的 mpd
* status-load: 顯示系統負載
* status-net: 顯示無線網訊號

現在打開預設的狀態條腳本,並且嘗試自己理解,它如何工作的。

#!/bin/sh
# periodically print date and load average to the bar

xwrite() {
file="$1"; shift
echo -n "$@" | wmiir write "$file"
}

wmiir remove /bar/status 2>/dev/null && sleep 2
wmiir create /bar/status
xwrite /bar/status/colors $WMII_NORMCOLORS

while xwrite /bar/status/data `date` `uptime | sed 's/.*://; s/,//g'`
do
sleep 1
done

第一行顯示控制 write 的函數聲明,以阻止你執行寫幾個文件的一些多餘問題。接下來的3行小心地建立和設置狀態條標簽。最後一部分是一個 while 迴圈,試圖寫一些系統負載和日期信息到狀態條上。
奇妙處是,它嘗試。如果出現寫錯呢?如果 xwrite 嘗試寫一個不存在(移除 )的標簽,那麼它會失敗,因而這個迴圈條件將會為假,並且這個狀態腳本會幹凈地退出,這將顯示因為沒人希望一個程式更新一個不存在的標簽。
現在回到腳本第一行,並註意在標簽移除和建立之間有一個 sleep 延遲。
這會確定狀態條將不存在,因此所有從任何之前運行的狀態條的寫模式都會失敗,如此他們將結束。這種方式讓我們能夠確定我們同時只能運行一個狀態條。因此我們在標簽和狀態腳本間保持一個1對1的對應。
6.6 加入新標記
之前描述的,你能夠用標記實現更強大的事情,超越標準的 鍵綁定。你可以使用任何字元串作為一個標簽。你甚至對一個客戶端使用超過一個的標記。這樣做,你需要用 "+" 來分開這些標記。

echo -n web+code | wmiir write /view/sel/sel/tags

這個命令將給當前聚焦的客戶端 "web" 和 "code" 標記
你現在能通過執行下麵的命令來顯示 "web" 標記:


echo -n view web | wmiir write /ctl

作為進行中的 wmii 開發,此 行為 會更通用變得清楚了,它會擁有自己的鍵綁定。 預設的 MOD-t 帶來一個選單以選擇一個 視區 並且 MOD-Shift-t 帶來一個選單來激活你以給聚焦的客戶端聯結新標記。
附件
这是刚进入gnome时运行free得到的。
这是刚进入gnome时运行free得到的。
这是刚进入wmii2时运行free得到的。
这是刚进入wmii2时运行free得到的。
窗口自动排列
窗口自动排列
wmii2-1.png
wmiirc.rar
把他cp到/etc/X11/wmii/(不用解压,把rar去掉就可以了)
(7.88 KiB) 已下载 198 次
上次由 密友 在 2007-06-05 17:39,总共编辑 5 次。
风之花时尚科技 http://www.huafs.com 致力于时尚与科技的完美结合
chasye
帖子: 333
注册时间: 2007-05-13 15:20

#2

帖子 chasye » 2007-06-02 21:04

弱弱问一下
既然是window manager,启动时不就要启动X了吗??
如果是,那就已经不是"20k, 对系统来说根本微不中道" 了
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2007-06-02 21:16

@@@没看到关键的意思。没看完。长
● 鸣学
头像
密友
帖子: 64
注册时间: 2007-04-11 23:12
来自: 广东东莞虎门
联系:

这样啊。

#4

帖子 密友 » 2007-06-02 22:00

我的意思是他本身的体积小很微不足道。但是相对于gnome窗口管理器来说不是小了很多吗。当然你还要运行X程序的话那就要进入X了。如果您有不用进入X也能运行X的程序方法的话,请告知。感激不尽
风之花时尚科技 http://www.huafs.com 致力于时尚与科技的完美结合
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#5

帖子 stlxv » 2007-06-03 1:22

:shock: 我就是真正的linuxer,但我不是cli狂人。

cli狂人或者看不起cli的往往是出于对gui的无知。
PHP是最好的语言!不服来战!
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

#6

帖子 leeaman » 2007-06-03 9:39

电脑之道在于应用,做人之道在于搵钱,何必苛求,日常应用gui绝对比cli效率更高,对一般用户来说,如果你cli比gui效率还高,不在我说的范围之内
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
Enigma
帖子: 209
注册时间: 2007-06-01 22:11

#7

帖子 Enigma » 2007-06-03 10:55

为什么不用fvwm或者ion?
头像
interskh
帖子: 203
注册时间: 2005-11-16 10:42
联系:

#8

帖子 interskh » 2007-06-03 23:31

看上去很不错哪@@>
头像
密友
帖子: 64
注册时间: 2007-04-11 23:12
来自: 广东东莞虎门
联系:

#9

帖子 密友 » 2007-06-04 16:30

见仁见智,人各有好,各取所需。
风之花时尚科技 http://www.huafs.com 致力于时尚与科技的完美结合
宇蠢
帖子: 4
注册时间: 2005-08-18 9:41

#10

帖子 宇蠢 » 2007-06-15 16:29

Enigma 写了:为什么不用fvwm或者ion?
ion 默认快捷键和很多程序冲突,又不会用 lua 来配置
wmii 就方便多了,把 $MODKEY 改成 Mod4(就是 Super_L,Win键),几乎不会有冲突
默认配置文件是熟悉的 Bash script,也可以用 ruby, python 等来写
头像
iuan
帖子: 119
注册时间: 2007-04-23 17:59
来自: 月球

#11

帖子 iuan » 2007-06-16 13:55

有些狂人老是分不清使用和学习的定义
走自己的路,穿别人的鞋,让别人找去...
ltkun
帖子: 1340
注册时间: 2006-01-10 19:09

#12

帖子 ltkun » 2007-06-16 14:01

不错不过内存还是太高
我用openbox+fcitx进桌面才3XM 开个xterm也不到40M
头像
Ghostboxer
帖子: 36
注册时间: 2007-06-09 15:29

#13

帖子 Ghostboxer » 2007-06-16 14:15

没看懂`
ole
帖子: 20
注册时间: 2007-04-22 18:49

#14

帖子 ole » 2007-06-16 19:00

这个老兄有点激愤
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#15

帖子 bones7456 » 2007-06-16 19:09

赞!我觉得思路很不错啊!
关注我的blog: ε==3
回复