广州吉盛伟邦家具:Arch Linux--定制自己的Linux操作系統(乙-國際化&桌面安裝篇)

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 04:50:23
Arch Linux--定制自己的Linux操作系統

    ----乙-國際化&桌面安裝篇

    相信大家看了《甲-安裝篇》之後,Arch Linux系統已經可以正常運行了吧?不過,Arch Linux默認是不支持任何locale的,因此系統默認是英文環境。咱是漢人吶,當然得講漢語、寫漢字啦。別慌,慢慢來。

一、設置locale
    編輯/etc/locale.gen文件,你可以看到裡面已經預設了很多locale,只不過全部都註釋了,我們需要做的就是找到自己需要的locale,去掉前面的"#",保存退出。我把en_US和zh_CN、zh_TW、zh_HK、zh_SG打頭的全部取消註釋了。如果你只需要支持簡體中文則只需要把zh_CN gb2312去掉註釋即可,想支持繁體中文的就去掉zh_TW big5前面的註釋。當然你有可能對utf8支持很感興趣,你應該知道怎麼做了。
    編輯好locale.gen文件後,運行locale-gen來生成選擇的locale。這個過程很慢,特別是生成中文locale那是相當的慢啊!你可以去喝杯茶或是去趟五谷輪回之所。
    完成locale-gen之後,可以運行locale -a看看系統現在支持哪些locale了。選擇一個你所希望的設置成系統默認locale,我選擇的是zh_CN.utf8。編輯/etc/rc.conf文件,找到LOCALE那一行,改成:LOCALE = "zh_CN.utf8",找到TIMEZONE,改成TIMEZONE = "Asia/Shanghai",亞洲上海,這是系統所支持的時區之一。設置完畢後,reboot,再次用root登錄,locale看看,是不是已經變成了zh_CN.utf8。

二、安裝xorg
    以前XFree86是Linux系統下最流行的X WINDOW環境,隨著時代的發展,很多Linux發行版都已經不用XFree86了,改用更為強勁的xorg做為X服務,我們也就與時俱進吧!
    執行pacman -Sy xorg,系統將會從預設的Arch軟件源網站下載並安裝xorg,如果你是用ADSL上網的話,那麼趁這個機會去洗個澡吧。
(注:如果在安裝時基本軟件包選擇不全的話,還需要安裝xorg-server包,否則進不了桌面,會提示xorg服務沒有啟動)

三、安裝一個你感興趣的桌面系統
    Linux的桌面系統可以說是多如牛毛,最著名的要屬GNOME和KDE了,但是越是著名體積就越龐大,啟動、運行的速度就越慢,既然我們安裝的是Arch Linux,那麼簡潔、快速、高效就是我們的目標,我看中了xfce4,它是一個輕量級的桌面系統,就用它吧。
    執行pacman -Sy xfce4 xfce4-goodies 這又是一個漫長的過程,打個盹先。。。

四、安裝顯示驅動包
    因為我是用vmware虛擬機安裝,所以就安裝xf86-video-vmware顯示驅動包。
pacman -Sy xf86-video-vmware
(注:現在用virtualbox了,不需要這麼做了,直接mount virtualbox的增強功能ISO文件,mount後運行VBoxLinuxAdditions.run文件就搞掂了)五、自動檢測硬件並配置xorg
   
經過以上步驟之後,一個可用的桌面環境已經具備,再經過一些小的調整就可以正常工作了。
    安裝硬件自動檢測軟件包hwd:
pacman -Sy hwd
    檢測硬件並生成xorg主配置文件,執行hwd -xa 將生成/etc/X11/xorg.conf文件,編輯此文件,找到如下部分:
Section "Device"
    Identifier "Card0"
    Driver     "vesa"
    VendonName "All"
    BoardName  "All"
EndSection
將其中的vesa改成vmware即可,意思是讓X桌面環境使用vmware這個顯示驅動程序。
(注:現在archlinux的軟件源中都沒有hwd了,如果你想繼續使用它自動偵測硬件和生成xorg.conf文件,那麼你得加入一個yaourt軟件源,詳細過程後面會說)

六、將xfce4設定為默認啟動的桌面
    如果想將當前用戶的默認桌面系統設置成xfce4,則需要在當前用戶主目錄下創建兩個文件,.xinitrc和.xsession,有一個比較好的做法,先增加一個普通用戶系統會自動在該用戶的主目錄下生成這兩個文件,將之複製到當前用戶主目錄下即可。
useradd -md /home/shine shine
useradd為添加新用戶,d參數指定要添加的用戶的主目錄,m參數創建該目錄。我建的新用戶名叫shine,當然取什麼名你們自己決定。
修改.xinitrc文件,去掉exec startxfce4前面的#號。
好了,現在可以敲入startx進入xfce4的桌面環境了。

七、安裝字體
    進了桌面,是不是感覺字體看著不舒服?不要緊,趕緊裝一個新字體吧!執行pacman -Sy ttf-fireflysung 這是一個開源字體,arch的軟件源裡頭就有,我圖省事,就用這個吧。

八、安裝輸入法
    執行pacman -Sy scim scim-chewing scim-pinyin scim-tables 輸入法也是多如牛毛,我之所以選擇scim,僅僅是個人習慣問題,scim-chewing是繁體中文輸入法,scim-pinyin是拼音輸入法,scim-tables則是一個多語言輸入法支持包,裡面包括了我所習慣使用的五筆輸入法,還有簡繁轉換功能,打簡體出繁體正是我所需要的,我喜歡繁體。
    輸入法安裝了,還需要配置一下才能使用。我是用root用戶登錄的,因此我在root的根目錄中找到.xinitrc文件並編輯它:vi ~.xinitrc,在exec startxfce4的上一行加入如下內容:
    XMODIFIERS=@IM=scim
    GTK_IM_MODULE=scim
    QT_IM_MODULE=scim
    export XMODIFIERS GTK_IM_MODULE QT_IM_MODULE
    scim -d
第一行是指定要使用的輸入法,當然是scim了,第二行指定GTK程序使用scim輸入法,第三行指定QT程序使用scim輸入法,第四行使定義的系統環境變量生效,第五行以後台偵聽模式啟動scim。這樣在進入xfce4桌面之後就可以使用輸入法了。
(注:现在可能会出现进了桌面发现scim没能正确启动的问题,可以把以上配置注释掉,然后编辑全局的xinitrc文件,详见下面第九节)

九、讓所有的系統用戶都使用同一個桌面和輸入法
   
前面六和八所說的桌面系統和輸入法的安裝只是針對系統當前用戶的,如果想讓系統中所有的用戶都默認使用xfce4桌面和scim輸入法,可以修改/etc/X11/xinit/xinitrc文件,該文件的內容如下:
#!/bin/sh
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

#merge in defaults and keymaps

...
...
後面的內容就不列出來了,我們將設置和啟動scim輸入法以及啟動xfce4桌面的語句加到userresources這一行之前:
    XMODIFIERS=@IM=scim
    GTK_IM_MODULE=scim
    QT_IM_MODULE=scim
    export XMODIFIERS GTK_IM_MODULE QT_IM_MODULE
    scim -d

    exec startxfce4 &
保存退出,刪除當前用戶主目錄下的.xinitrc和.xsession兩個文件。reboot一次,然後再startx看看能不能正確的進入桌面?我startx之後就停在桌面初始化界面不動了,不知道是不是exec startxfce4 &後面加了一個&符號後台運行的緣故,反正我去掉這個&就可以了。
    如果發現設置了scim的簡繁轉換過濾器之後,工具條上不出現簡繁轉換的按鈕,那麼請locale -a看一下,你的系統中安裝了支持簡體中文和繁體中文的locale沒有?最近兩天我就被這個問題攪得頭疼,後來想到這個locale上面來了,經過一番試驗果然是這個問題。先前我裝了一個archlinux,將所有的中文locale都裝上了,scim的簡繁轉換按鈕自然很正常的出來了,後來我又裝了一個arch系統,這次我不想要那麼多的locale了,只裝了zh_CN.utf8和zh_TW.utf8,這問題就來了,因為utf8是一個大字符集,包括了所有的簡體漢字、繁體漢字以及拉丁字母和其他一些多字節的文字,所以即使你在scim裡設置了簡繁轉換過濾器也沒用,是不會出現那個按鈕的。我試著將zh_TW.utf8裝上,重啟X後,果然發現簡繁轉換按鈕出現了,只不過只有繁體到簡體轉換的功能鈕,接著我又將zh_CN.gbk裝上,再重啟X,發現scim的簡體到繁體的轉換功能鈕也出來了。(注:现在我们可以不直接编辑xinitrc文件,因为现在有一个/etc/X11/xinit/xinitrc.d目录,这个目录下的所有文件都是自动被xinitrc文件调用的,因此只需要在这个目录下新建一个文件并写入输入法的配置信息即可,具体内容如下:
vi /etc/X11/xinit/xinitrc.d/xinput
#!/bin/bash
GTK_IM_MODULE=SCIM
QT_IM_MODULE="scim"
export GTK_IM_MODULE QT_IM_MODULE
/usr/bin/scim -d
 
chmod +x /etc/X11/xinit/xinitrc.d/xinput

 十、安裝firefox瀏覽器
    桌面和輸入法都裝好了,可以上網看文章發貼子了。等等,貌似還沒有瀏覽器吧!Linux系統可沒有IE的,咱就裝另外一個大名鼎鼎的瀏覽器吧,它就是firefox,咱們都稱它為火狐。
pacman -Sy firefox firefox-i18n arch-firefox-search
firefox是firefox主程序包,firefox-i18n是firefox的國際化包,另外一個應該是arch系統下firefox搜索引擎插件吧。
    裝完之後,點擊屏幕下方面板上的那個地球,然後定位到firefox執行文件所在路徑,默認的應該是/opt/mozilla/bin/firefox,這樣每次要瀏覽網頁的時候就點一下這個地球就行了。
    可能你已經發現firefox的界面字體很難看吧?去http://addons.mozine.cn/firefox/484/下個插件吧!這是個編輯userChrom的插件,裝上之後要重啟firefox,然後到菜單項“工具-->chromEdit plus-->chromEdit”就可以編輯userChrom.css和userContent.css兩個文件,在這兩個文件的最後加上以下內容:
* {
     font-family: AR PL SungtiL GB !important;
     font-size: 9pt !important;
   }
保存退出,重啟firefox,再看看,firefox的界面已經都是漂亮的宋體字了,任意打開一個網頁,看看頁面上的文本框、下拉框和按鈕的文字是不是也都變成了漂亮的宋體?如果還沒有話,請打開firefox的字體設置選項,將所有的字體都設置成宋體,大小為9pt,保存重啟firefox,應該就可以了。
(注:僅安裝firefox-i18n包還不足以使firefox界面和菜單以中文顯示,還必須安裝firefox-i18n-zh-cn,想要顯示繁體的話就需要firefox-i18n-zh-tw,換成繁體界面的前提是系統locale要先換成zh-TW)

十一、安裝設置eva
    eva是一個linux平台下的QQ客戶端,在我看來,它是目前linux系統下最好的QQ客戶端軟件了。但是我在Arch Linux的軟件源裡沒有找到它,但是我在其他地方找到了for Arch Linux的pkg.tar.gz包,地址:http://www.linuxfans.org/bbs/archiver/tid-145225.html
不過我還是上最著名的一個開源軟件站去下載了一個編譯包:
http://sourceforge.net/projects/evaq/
我下載的是最新的0.41版,文件名是 eva-0.4.1.tar.bz2,先解壓:
bunzip2 eva-0.4.1.tar.bz2
tar -xvf eva-0.4.1.tar
解壓完成後,會在當前目錄下看到一個eva目錄,到這個目錄下運行:
./configure --prefix=/usr/local/eva
--prefix參數是指定安裝目錄,想裝到哪裡隨便你。
如果這一步沒有出現什麼錯誤的話,就可以運行make;make install進行編譯、安裝了。我在./configure時出現了一個錯誤,如下:
checking for Qt... configure: error: Qt(>= Qt 3.0) (headers and libraries) not found. Please check your installation!
For more details about this problem, look at the end of config.log.
這個錯誤提示是告訴我eva配置程序沒有檢測到Qt 3.0版本以上的圖形開發庫。因此安裝一下Qt 3.0再重新./configure就可以了。
安裝Qt:
pacman -Sy qt
重新編譯/安裝eva:
./configure --prefix=/usr/local/eva
make
make install

如果還說找不到QT,可以手動指定一下位置,一般用pacman安裝的QT,其headers文件在/opt/qt/include下,libraries文件在/opt/qt/lib下,像如下所示方法編譯即可:
./configure --with-qt-includes=/opt/qt/include --with-qt-libs=/opt/qt/lib --prefix=/usr/local/eva
安裝完後,/usr/local/eva/bin/eva啟動eva,要是運氣不好,界面上的漢字全都是方框,令人吐血!不過經過一番琢磨,我認為是中文字體安裝的問題,此前我只裝了ttf-fireflysung,於是用pacman -Ss ttf又搜索了一下,又找到兩個字體:ttf-arphic-uming和ttf-arphic-ukai,將之裝上。再啟動eva,漢字正常顯示了,不過與先前的firefox一樣是醜陋的楷體,這次就不能依樣畫葫蘆了。eva的GUI界面是用QT圖形庫開發的,是一個在KDE桌面環境下運行的軟件,現在我要讓它在xfce4桌面下完美的運行,xfce4是基於gtk2圖形庫的,因此沒法更改QT應用程序的字體,手工改吧!找到~/.kde/share/config/kdeglobals文件,這是一個KDE全局配置文件,將以下內容添加到文件末尾:
[General]
XftHintStyle=hintmedium
XftSubPixel=
fixed=文鼎PL新宋,9,-1,5,50,0,0,0,0,0
font=文鼎PL新宋,9,-1,5,50,0,0,0,0,0
menuFont=文鼎PL新宋,9,-1,5,50,0,0,0,0,0
taskbarFont=文鼎PL新宋,9,5,50,0,0,0,0,0
toolBarFont=文鼎PL新宋,9,-1,5,50,0,0,0,0,0

[KFileDialog Settings]
Automatically select filename extension=true
Height 768=306
LocationCombo Completionmode=5
PathCombo Completionmode=5
Recent URLs=$HOME/webdoc/
Separate Directories=false
Show Bookmarks=false
Show Speedbar=true
Show hidden files=false
Sort by=Name
Sort case insensitively=true
Sort directories first=true
Sort reversed=false
View Style=Simple
Width 1024=752

關鍵是[General]小節,其他的部分不用管。“文鼎PL新宋”就是剛剛新裝上的字體,後面的數字“9”表示字體大小為9pt。
    現在好了,啟動eva已經可以正常顯示9pt的漂亮宋體字了。不過我總是希望系統的其他用戶在使用eva時不用像我這樣很麻煩的重新配置自己的字體,因此我將這個文件中的內容剪切到了/opt/kde/share/config/kdeglobals文件中,而當前用戶主目錄中的這個文件內容恢復到初始狀態。
    我的eva在正常使用了幾天之後,突然調不出scim輸入法了,原因是eva是一個Qt程序,與scim有衝突,不過,令我想不通的是本來用得好好的,突然就不行了,按說有衝突的話,一開始就應該不行的。不過,既然有問題就想辦法解決吧。在/etc/X11/xinit/xinitrc文件頭部加入如下語句:
export XMODIFIERS="@im=SCIM"
export XIM="scim"
export XINPUT="xim"
export XIM_PROGRAM="scim -d"
export GTK_IM_MODULE="xim"
export QT_IM_MODULE="xim"
scim -d
再試一下,居然就好了,這個方法是linxusir.org上的朋友告訴我的。據我分析,這樣的寫法應該可以解決絕大多數軟件與scim衝突的問題。在此基礎上我又試驗了一下,要使scim在eva中正常使用,只需要如下幾行就可以了:
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
scim -d
第一行的SCIM一定要大寫才行,不過我先前寫的小寫也是可以的,不知道其他朋友情況如何。最後一行的scim -d一定不能掉。有很多資料都說在使用gnome和xfce時,不用寫這一行,進了桌面後會自動啟動,我試了一下,果然如此,但是啟動eva後就調不出scim了,看來這一行是不能省的。

十二、普通用戶不能關機/重啟的問題
    Linux系統權限控制很嚴格,一般情況下普通用戶沒有權限關機和重啟,在console環境下也就罷了,但是在X桌面下也如此就顯得不夠友好了。在xfce4的下面一個面板上有一個關機按鈕,點擊之後有三個選項--退出、重啟、關機,但是後面兩個選項是灰的,沒法選。解決這個問題的辦法有好幾種,不過我是這麼辦的:
pacman -Sy sudo
先裝上sudo,這是一個允許普通用戶以root或是其他系統用戶身份執行指令的工具,安裝後以root身份執行visudo編輯sudo的配置文件,在root ALL=(ALL) SETENV: ALL這一行下面加上如下內容:
%users localhost=(root) NOPASSWD: /usr/lib/xfce4/xfsm-shutdown-helper
下面來解釋一下,這一行的意思是“允許users用戶組的所有用戶在主機名為localhost的主機上以root身份、不需要密碼的執行/usr/lib/xfce4/xfsm-shutdown-helper命令”。
(注:現在xfsm-shutdown-helper文件的路徑變了,在/usr/lib/xfce4/session目錄下了)
我指定的用戶組是users,前面加上%是指明這是一個用戶組,不加%則表示users是一個用戶;localhost是我指定的主機名,如果你指定為ALL則表示所有主機;root是我指定以root身份執行,如果指定成ALL則表示以所有系統用戶的身份執行;NOPASSWD意思是執行的時候無需密碼,否則系統會提示用戶輸入密碼,注意這個密碼是當前用戶的而不是root的;最後一個部分則是要執行的指令,多個指令需要用逗號隔開,而且每個指令的路徑要寫全。
    好了,設置完成後別忘了檢查一下你的系統中有沒有users用戶組,以及你的當前用戶是否在該組中。
more /etc/group看一下,如果沒有users就groupadd users添加一下;查看當前用戶在不在users組裡頭,請執行groups,系統會列出當前用戶所屬組的清單,如果沒看到users請執行gpasswd -a users <當前登錄的用戶>,這樣就大功造成了!普通用戶已經可以在面板中點擊關機按鈕正常的退出、重啟和關機了。(注:現在這個辦法已經不靈了,不管你怎麼做,關機和重啟按鈕始終都是灰的,哪怕是root用戶登錄也是一樣!現在的解決辦法看下面) 先查看系統中有沒有下面這個文件!!沒有就創建一下,有就修改一下。。
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
內容如下:











保存,啟動xfce4,進入桌面再看,啥按鈕都出來了,不僅僅是注銷、關機和重啟,掛起和休眠也出來了,xfce4電源管理器也可以用了,不過,試了下,在virtualbox虛擬機裡頭掛起不起作用,休眠就是關機,不知道在筆記本上安裝這兩個按鈕會不會起作用。。另外還發現在系統啟動的菜單上多了“reset”和“power off”選項,這個倒是不錯的。。sudo已經成了浮雲,當然了你要運行一些只有root用戶才能運行的軟件和命令時,還得請sudo來解決。
 十三、收工
    至此,一個最基本、可用的Linux桌面環境就誕生了。至於其他日常辦公、學習所需要用到的電子郵件、文字處理、各類專業化的設計軟件等等就隨各人喜好隨便裝吧,在xfce4桌面下,基於QT的軟件就像設置eva字體一樣如法炮制,大同小異,應該說設置了/opt/kde/share/config/kdeglobals文件之後,所有基於QT的軟件中文字體都應該很漂亮了。 十四、添加yaourt源   前面說到現在hwd要在yaourt軟件中才能找到,現在就來添加這個源。編輯/etc/pacman.conf文件,在最後加入如下內容: [archlinuxfr]
Include = /etc/pacman.d/mirrorlist然後編輯/etc/pacman.d/mirrorlist文件,在最後加入如下內容:Server = http://repo.archlinux.fr/i686然後就可以使用yaourt安裝hwd了,直接運行yaourt hwd就可以了,然後按照提示一步步做就行了,碰到提示編輯選N,提示安裝選Y就可了。 十五、安裝了virtualbox增強工具包之後鼠標錯位的問題在安裝virtualbox增強工具包之後,進入桌面會發現鼠標錯位很嚴重,點東邊,西邊反應,點西邊東邊反應,完全沒法用。後來查看了一下/etc/X11/xorg.conf文件,發現virtualbox自動添加了顯卡的設置、顯示器的設置、鍵盤的設置等等,就是沒有添加鼠標的設置,那麼我們自己來加上吧,在xorg.conf文件的最後加下以下片段,保存退出,重啟X桌面即可:Section "InputDevice"
  Identifier "vboxmouse"
  Driver "vboxmouse"
  Option "CorePointer"
  Option "Device" "/dev/input/mice"
EndSection 十六、其他問題   1、由於我在安裝時基本軟件包沒有選全,結果安裝好後發現ifconfig沒有,hostname也沒有。。。最後發現這兩個命令在net-tools包和coreutils包中,pacman -Sy net-tools coreutils裝上就好了。。   2、運行startx進不了桌面,查看/var/log/boot日誌文件,發現有如下錯誤信息:         ** (gdm-binary:756): WARNING **: Couldn't connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: 没?\234\211?\202?个?\226\207件?\210\226?\233??\225         這個錯誤是因為dbus服務沒有啟動造成的,先用pacman -Ss dbus-core看一下dbus核心軟件包有沒有安裝,沒有就pacman -Sy dbus-core安裝一下。然後編輯/etc/rc.conf文件,把dbus服務加入到自動啟動中去,具體如下:            vi /etc/rc.conf            找到最後一行:DAEMONS=(sshd hwclock syslog-ng network netfs crond gdm alsa),加上dbus,DAEMONS=(sshd hwclock dbus syslog-ng network netfs crond gdm alsa),大功告成!  3、无线网络的问题:      请参看wiki:https://wiki.archlinux.org/index.php/Wireless_Setup_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)