Work and Play with Arch (正體中文)
本文面向初學者,主要針對使用中文的個人用戶,旨在簡介如何在Arch上構建一個的工作和娛樂的桌面環境,重點介紹使用的方法和主要用到的工具(軟體),同時給出鏈結,以方便讀者自行查閱參考。
Contents
安裝 Arch Linux 基礎系統
對 Arch 之道 (正體中文) 的欣賞和認同,往往是走入、使用和參與 Arch Linux 的原因。如果你還不知道 Arch Linux 是什麼,那麼請務必參閱 About Arch 裏面的文章,你會發現這實在是個讓人放不下的優秀 Linux 發行版。
Arch Linux 的安裝媒介有三種:CD-Rom,網路,和U盤等可移動存儲設備。這三種安裝程式的映射檔(ISO/IMG 檔)均可以從 這裏 下載得到。
如果你之前使用過 BSD 系統(尤其是 FreeBSD),那麼你肯定不會對 Arch Linux 的文字式安裝介面感到陌生。如果你沒用過 BSD 系統,並且也沒遇見過文字式的安裝介面,或者你是第一次安裝 Arch Linux 系統,那麼你最好去參閱 Beginners' guide 和 Installation guide,其中包含許多有用的幫助。甚至有個別內容你還可以參看 Arch Linux安裝筆記和步驟簡述。
如果你還需要圖形化的指導,這裏還有一份相當詳細的 Arch Linux 安裝截圖。
由此,安裝 Arch Linux 的具體過程,本文就不再贅述了。
安裝時可能遇到的一些特別的或重要的情況,如 LVM 分區,磁片加密問題等,將在下文中簡述一二。
基於 Arch Linux 的發行版
當前,除了官方的發行版,還有十種基於官方 Arch Linux 的發行版,以方便多種多樣的用戶環境。請參閱 Arch-based Distros。
LVM 與分區
- 分區
分區工具有很多種,其中簡單易用的要數 “cfdisk”。
Arch Linux 可以只有一個分區,即“根分區”(/)。但是很多情況下,為了保證系統穩定、可靠,安全和高效,還要再多分幾個區。常見的分區及其大小如下所示:
/boot:這是啟動分區,Grub 就安裝在這裏。50M已經足夠了。檔系統可選用 JFS (JFS 對小檔的讀寫效率很高)。啟動分區可以不必單獨分出來。
SWAP:這是與記憶體之間作交換的分區,相當於 Windows® C盤下的頁面檔pagefile.sys。個人使用,1G足夠了;如果是伺服器用,一般是記憶體大小的兩倍。
/:這是根分區,500M已經足夠了。檔系統可選用 EXT4, JFS 或 XFS。
/var:這個分區都是一些雜七雜八的小檔,但數量非常多。Pacman(Arch包管理系統)和ABS(Arch編譯系統)所下載的文件也都存放在這裏。一般4G已經足夠了,最多不超過10G。檔系統可選用 EXT4 或 JFS。
/tmp:這是暫存檔案所在的分區。Arch 在用ABS系統編譯程序的時候會使用此分區,所以不能太小了。一般1G已經足夠了。檔系統可選用 EXT4 或 JFS 或 tmpfs。
/usr:這是應用程式所在的分區。一般8G已經足夠了,最多不超過15G。檔系統可選用 EXT4 或 JFS。。
/opt:這個分區用來存放尚未整合到 /usr 的應用程式。一般2G已經足夠了,最多不超過5G。檔系統可選用 EXT4 或 JFS。
/home:使用者的檔就存放在這裏,分多大的空間就看個人需要了,是不嫌多的。檔系統可選用 EXT4 或 XFS (XFS 兼顧了大檔和小檔的讀寫,且可以清理磁片上的檔碎片)。
分區的原則是:
1.把系統最常訪問的分區,放到磁片柱面的中間。
2.如果一定要有 /boot 分區,那麼最好將它作為第一分區,且不作加密。
- LVM
從直觀上來看,有了 LVM 後,就不需要在硬碟上分出大大小小的多個分區了,只要專門分出一個大分區作為 LVM 分區就行了,從而大大簡化了硬碟分區表。像 /var,/home 等等這樣的分區,將作為 LVM 分區上的虛擬分區而存在。
LVM 是 Linux 下的高級磁片管理工具,功能多多。它可以簡化你的磁片分區(都到 LVM 分區下去了,因為一個 LVM 分區中,會包含許多虛擬的小分區:logical volume),跨磁片管理分區(將多個硬碟作為一個分區來管理),還能方便的增減分區大小。還有其他一些有用的功能。請務必參閱 LVM,以確保得到有用的幫助。如果想查閱更多的資訊,可以參閱 LVM-HOWTO。
需要指出的是,Arch Linux 使用的是最新的 LVM2,它已經包含在安裝盤上了,但使用前需要載入內核模組:
# modprobe dm-mod
另外,當前 Arch 下使用 LVM2 的具體指令時,前面需要加上“lvm”,例如:
# lvm pvcreate /dev/sda2
LVM2 的具體指令,請直接用 “lvm” 命令查詢。
如果你已經有了一個 LVM 分區,但是 /dev/ 中卻沒有這個設備(這種情況還是有的,比如,創建好 LVM 分區後,就關機了,再開機時就會遇到;或者用安裝光碟啟動已有 LVM 分區的電腦時),那麼在確保已經載入 dm-mod 內核模組的前提下,可以使用如下指令,通常就會正常載入 LVM 設備了:
# lvm vgchange -ay
用 LUKS 加密分區
當前,Linux 下最成熟可靠的加密程式就是 LUKS。它既能全盤加密,也能對分區加密,包括 LVM 分區。LUKS 所用的密碼,既可以是個人指定的任意長度複雜字元,也可以是電腦隨機生成的一段資料(此段資料可稱為 密鑰,它可以帶在USB移動存儲設備上)。
使用 LUKS 時,要先載入內核模組:
# modprobe dm-crypt # modprobe aes-i586
注意:x86_64 用戶可能需要載入 "aes-x86-64" 會比較好。
LUKS 加密指令都以 “cryptsetup luks...” 打頭,例如:
# cryptsetup luksFormat <device>
將某分區創建為 LUKS 加密分區。
# cryptsetup luksOpen <device> <name> [-d keyfile]
開啟某 LUKS 加密分區。此分區開啟後,其名稱會出現在 /dev/mapper 裏面。
# cryptsetup luksAddKey <device> <key>
為某 LUKS 加密分區添加一個密鑰(或密碼)。
# cryptsetup luksRemoveKey <device> <key>
在某 LUKS 加密分區上刪除一個密鑰(或密碼)。
詳細內容請參閱 System Encryption with LUKS。
配置檔
Linux 喜歡將一切都放在明處。配置檔控制著程式甚至整個系統的運行狀態,它所起到的作用,有點像 MS Windows® 下的 註冊表,但顯然要比 “註冊表” 更具有可讀性,自然也更方便人類修改。
配置檔有兩種類型:影響整個系統的 全局配置檔,和只影響個人的 用戶配置檔。前者通常都位於 /etc 下面;後者都在個人檔夾(~)中,並且以 “.” 這個字元開頭,例如:~/.bashrc(這是一個檔), ~/.config(這是一個檔夾,裏面存放著許多配置檔)。
有些 系統配置檔 在安裝系統時就要求配置好,請參閱 Configuration Files。有些則是使用的時候才想到要去動它,以優化程式的運行或提升用戶體驗。
有的時候,特別是當某個程式升級之後,會發現該程式運行起來不那麼好用了,似乎總有點什麼小問題。這往往是因為舊有的配置檔己經不能適應新版程式的需要了。而解決的辦法則可以是,刪除該程式的 用戶配置檔(或檔夾)。
安裝系統時需要配置的檔
- /etc/rc.conf
這是一個非常 BSD 風格的配置檔,許多 Linux 發行版都沒有這個檔(BSD 下自然是有的了)。它控制著 Arch Linux 的啟動過程:用哪個時區,什麼鍵盤語言,載入(或不載入)哪些內核模組,如何連接網路,開啟(或不開啟)哪些守護進程,等等。功能相當之豐富。它是一個經常要用到的配置檔。
請參閱 rc.conf。
- /etc/mkinitcpio.conf
它是 mkinitcpio 這個腳本程式的配置檔。Arch Linux 己經用 mkinitcpio 來代替 mkinitrd 和 mkinitramfs 這兩個腳本程式。前者的性能明顯要優於後兩者。
這些腳本程式都是用於創建一個可以初始化 Linux 內核的 ramdisk 環境,它是一個 IMG 映射檔(位於 /boot 分區下),也就是說通過這個映射檔來啟動內核,進而啟動整個系統。
如果你的系統有特別的硬體要求,例如:作了 LUKS 全盤加密,有 LVM 分區,等等,那麼就需要認真配置 /etc/mkinitcpio.conf 了,否則,開機時被初始化的 Linux 內核將不能引導和啟動你的系統。
請參閱 Configuring mkinitcpio,還可以用 man 指令來查看 mkinitcpio 的幫助手冊。
- /etc/fstab
這個檔記錄了 Linux 系統上各個分區的資料,一個分區一行。每一行的內容從左到右依次是:
- 將要掛載的設備(例如 /dev/sda1)
- 掛載的位置(例如 /mnt)
- 檔系統的類型(例如 jfs)
- 該檔系統的掛載選項
- 該檔系統是否需要被 dump
- 重啟時該檔系統是否需要被 fsck 檢查
請參閱 Fstab,還可以用 man 指令來查看 fstab 的幫助手冊。
- /etc/modprobe.d/modprobe.conf 和 /etc/modprobe.d
它們是 modprobe 指令的配置檔。 modprobe 指令用來載入(卸載) Linux 內核中的模組(Modules)。Linux下的設備驅動都是模組化的,所以用起來很方便。
不過 Unix-Like 系統的程式設計講究小巧專一,各行其事,不搞重複建設,於是產生了程式之間的 依賴性。 Linux Modules 之間也具有依賴性,這樣就需要 modprobe.conf 來控制模組的載入(卸載)了。
請用 man 指令來查看 modprobe.conf 的幫助手冊。
- /etc/resolv.conf
它是 resolver 指令的配置檔。 resolver 指令向 功能變數名稱伺服器(DNS,Internet domain name servers)發出請求,並解讀 DNS 的回應。而這個 DNS 的位址就記錄在 resolv.conf 中。例如:
nameserver 168.95.1.1
如果你通過 DHCP 服務自動獲取 IP 位址(也就是動態 IP),那麼在獲取 IP 的同時,也通常會自動獲取 DNS。於是你會發現自己指定的 resolv.conf 被自動修改了。解決辦法可以是這樣:創建 /etc/resolv.conf.head 這個檔,加入你的 DNS 位址。例如加入: “nameserver 168.95.1.1” 。
請用 man 指令來查看 resolv.conf 的幫助手冊。
- /etc/hosts
這個檔是主機名的靜態列表,它將 IP 位址和主機名(或主機的別名)關聯在一起,一個 IP 一行。關聯後,系統就無需從 DNS 伺服器上查詢該主機名對應的 IP 位址了。
你最好去配置好它,並且跟 /etc/rc.conf 中的主機名保持一致。例如:
#<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost 127.0.0.1 foo.YourDomain.org foo 209.237.226.90 www.opensource.org
請用 man 指令來查看 hosts 的幫助手冊。
- /etc/hosts.allow 與 /etc/hosts.deny
這兩個文件來自 tcp_wrappers 安裝包,用來控制外部 TCP/IP 連接到本機,或本機上的某個服務進程。 hosts.allow 允許外部某 IP 或某網段連入本機;而 hosts.deny 則是拒絕一切 hosts.allow 中未列出的 IP 連入本機。
缺省情況下,hosts.allow 是空的,即不允許任何 IP 連入本機。而 hosts.deny 中的缺省內容是:
ALL: ALL: DENY
意思是,拒絕所有外部連接,除非是 hosts.allow 中己經列出的 IP。如果這兩個檔的內容有衝突,則以 /etc/hosts.deny 為准。
檔的格式如下:
服務進程名: 主機名(或主機IP)列表: 規則匹配時採用的操作
“規則匹配時採用的操作” 只有兩個:ALLOW 或 DENY。 ALLOW 是允許連接;DENY 表示拒絕連接。
以 /etc/hosts.allow 為例:
ALL: 127.0.0.1: ALLOW
允許本機訪問本機所有服務進程。
smbd: 192.168.0.0/255.255.255.0
允許 192.168.0.0~192.168.0.255 網段連接本機上的 smbd 服務進程。沒有加上 ALLOW,但因為是在 hosts.allow 中,所以缺省表示允許。
ALL 關鍵字匹配所有情況;EXCEPT 匹配要排除的情況;PARANOID 匹配你想控制的 IP 位址和它的功能變數名稱不匹配時(功能變數名稱偽裝)的情況。
可參閱 TCP Wrappers 。
- /etc/locale.gen
它是 locale-gen 指令的配置檔。此檔中包含系統要用到的 locale。當系統需要顯示非英語文字時,就要設置好它了,否則肯定亂碼。
設置的方法就是把裏面的注釋字元 “#” 去掉即可。用到哪個,就去掉哪個。中文用戶能用到的如下所示:
en_US.UTF-8 UTF-8 en_US ISO-8859-1 en_US.ISO-8859-15 ISO-8859-15 zh_CN.UTF-8 UTF-8 zh_CN.GB18030 GB18030 zh_TW.UTF-8 UTF-8 zh_TW BIG5
如果你在完全安裝好 Arch Linux 之後才來設置這個檔,那麼還需要以 root 身份運行指令:
# locale-gen
- /boot/grub/menu.lst
這是 grub 或 grub-gfx 的配置檔。
Grub 是 Linux 系統上的啟動管理器,能支援多種作業系統的啟動。它在硬碟的零磁軌上寫入一段資料來引導系統啟動,並通過載入 /boot 分區下能初始化 Linux 內核的 IMG 映射檔來引導和啟動整個系統。
Grub-gfx 是可以在啟動時支援背景圖片的 Grub。
無論是 Grub 還是 Grub-gfx,都需要直接安裝在硬碟上(比如 /dev/sda,/dev/sdb ...),而不是硬碟上的某個分區(比如 /dev/sda1,/dev/sda2 ...)。否則 grub 將不能正常啟動系統。
如果系統上只有一個硬碟,且安裝了 Grub-gfx,並假設背景圖片 splash.xpm.gz 存放於 /boot/grub/ 中,那麼某 /boot/grub/menu.lst 檔可能如下所示:
timeout 5 default 0 splashimage /grub/splash.xpm.gz color light-blue/black light-cyan/blue # (0) Arch Linux title Arch Linux root (hd0,0) kernel /vmlinuz-linux root=/dev/sda5 ro vga=789 quiet initrd /initramfs-linux.img # (1) Windows title Windows XP rootnoverify (hd0,1) makeactive chainloader +1
從 menu.lst 中看, Grub 需要啟動兩個系統。
其中,root (hd0,0) 表示 Arch Linux 的 /boot 分區在 第一塊硬碟上順數第二個分區上(即相當於 sda1);
“kernel” 一行中,root=/dev/sda5 表示 Arch Linux 的根分區(/)在 sda5 上(sda5 表示第一塊硬碟上順數第五個分區)。
而 rootnoverify (hd0,1) 則表示 Windows® 的 C 盤所在的分區是第一塊硬碟上順數第二個分區(即相當於 sda2)。
當前,MS Windows® 在安裝時,會很霸道的覆蓋 Grub 在硬碟零磁軌上寫入的資料,從而使 Grub 看上去消失了,於是 Linux 無法啟動,電腦上好像只剩下了 Windows®。因此,如果需要安裝 Windows® 和 Linux 雙系統,最好先安裝 Windows®,再安裝 Linux。以便 Grub 能正常運作。
萬一出現上述這種 Arch Linux 無法啟動的情況,可以用 Arch 安裝盤啟動電腦,再安裝一次 Grub 即可,並檢查 /boot/grub/menu.lst 是否正確設置。
# grub-install /dev/sda
- /etc/lilo.conf
Lilo 也是 Linux 下的一種啟動管理器。但不如 Grub 好用。
請參閱 Lilo。
集中存放系統配置檔的地方
- /etc/rc.d/* 和 /etc/conf.d/*
這兩個檔夾的設立是 Arch Linux 的特色之一,吸取了 BSD 系統的優點。/etc/rc.d/ 存放系統開機時所要啟動的 daemons 程式(守護進程)檔,而某個 daemons 程式的配置檔,就存放在 /etc/conf.d/ 中。
- /etc/udev/* 和 /lib/udev/*
udev 是 Linux 2.6 系列內核的設備管理器,它在創建和管理 /dev 下設備節點的同時,載入該設備的內核模組(相當於硬體驅動),從而增加了啟動速度。
請務必參閱 Udev。
- /etc/profile 和 /etc/profile.d/*
/etc/profile 檔中的內容直接影響系統啟動時的全局環境變數。而針對某個程式的特定設置檔就存放在 /etc/profile.d/ 中。
其他重要的配置檔
- /etc/crypttab
如果使用了 LUKS 來加密磁片分區,那麼 /etc/crypttab 就有意義了。它含有解密磁片分區的密碼或密鑰的路徑。還可以對 SWAP 分區作隨機加密。參見 LUKS#Exit Install Luks。
- /etc/group
Linux 是多用戶,多進程的作業系統,當然不同的用戶要有不同的操作許可權,或者某幾個用戶會具有相同的操作許可權。如果將特定的操作或對特定檔的訪問許可預先分配給特定的“組”(Group),那麼所有加入該組的用戶就具有了該組的操作許可權。從而省掉了許多重複操作,也提高了系統的安全性。
請務必參閱 Groups。
- /etc/sudoers
sudo 程式的配置檔。參看 Sudo。
- /etc/pacman.conf 和 /etc/pacman.d/mirrorlist
Pacman 是 Arch Linux 的包管理程式,簡單而完美的解決了程式間的依賴問題。無論是安裝刪除程式,還是查詢搜索一個程式,又或者是查看某個檔歸屬(於哪個程式),都無比得心應手。/etc/pacman.conf 是 pacman 的配置檔,/etc/pacman.d/mirrorlist 中存放 Arch Linux 安裝包程式的位址。
請務必參閱 Pacman,並用 man 指令來查看 pacman.conf 的幫助手冊。
- /etc/abs.conf 和 /etc/makepkg.conf
Arch Linux 不僅可以用 pacman 安裝預編譯的二進位程式,還可以極方便的從程式的原始碼來編譯和安裝它。那就是利用 Arch 所特有的 ABS 系統。/etc/abs.conf 是 abs 的配置檔。/etc/makepkg.conf 是系統編譯環境的配置檔。
請務必參閱 ABS 和 Makepkg,並用 man 指令查看 abs, makepkg 和 makepkg.conf 的幫助手冊。
這個檔的內容,網上談論的比較多。但只有適合自己的,才是最好的。
pacman,AUR 與 abs
更新系統
Arch Linux 的一大特點就是能讓你的系統和程式始終處於最新、最前沿的狀態。所以安裝完系統之後,需要立即更新系統,以同步所有的二進位安裝包。
初次更新整個系統時,首先要同步源和更新 pacman 安裝包:
# pacman -Sy pacman
然後,
# pacman -Su
即可。
編譯新內核
一般情況下,是沒有必要編譯新內核的。除非是有特別的硬體需要支援才會去編譯它。可自行在 Wiki 上以 kernel 為關鍵字搜索,來查看相關資料。
系統安全
Linux 本身已經具備了相當的安全性,但並不意味著它就是牢不可破的。一套良好的安全體系有時會顯得相當之重要。
一個比較安全的電腦系統是要經常加以維護的。它由以下幾個部分構成:
- 物理安全。就是保證物理接觸時的資料安全。也就是說,重要的文件要加密存放,或者含有重要文件的分區要加密,或者全盤加密。而且加密的密碼要有相當的複雜成度,例如密碼包含大寫字母,小寫字母,數位和特殊字元;密碼長度至少超過十六位。
- 訪問安全。這個又包括本地和遠端的訪問安全。前者只要設置好檔訪問許可權就可以了;後者不但要有嚴格的訪問許可權,還要有運作良好的防火牆程式,甚至是專門的硬體防火牆,還應當能抵禦網路釣魚(Spoofing Attack)。訪問密碼也要有相當的複雜成度,並且密碼要定期(比如每隔三個月)更換一次。
- 嚴防惡意代碼的威脅。這個一般來說,只要惡意代碼沒有獲得運行許可權就不怕,所以說不要隨便運行來歷不明的二進位檔;如果原始碼是開源的,那麼還是看一看再來編譯會比較好。還有,惡意代碼通常都是沖著系統中某個有 bug 的程式去的,所以也要關注程式的安全公告。
- 同 Arch 社區保持密切聯繫。也許你需要經常訪問 Arch Linux,Arch Wiki,和 Arch BBS,並訂閱 Arch Mailing Lists。
- 良好的資料備份,並且 把備份放得遠遠的。人算不如天算,所以有備無患才是王道啊。而且有了完整的備份,才能參照評估損失情況。
磁片加密
- Luks
- Truecrypt
密碼複雜性
許可權
Sudo
SElinux
防火牆
備份
安全刪除
安裝後的配置
對 Shell 的配置
連接網路
有線網路
- 使用 Modem
- 使用網卡
- ADSL
- DHCP
無線網路
在 Linux 上配置無線網路,只要解決兩個問題就行了,即:無線網卡驅動,和無線網路管理程式。
請參閱Wireless Setup。
VPN 與 SSH
- VPN
- SSH
有關筆記本電腦
請參閱 Laptop。
用戶介面
鍵盤與滑鼠
- 選擇鍵盤語言
- PS/2 與 USB 連接方式
- 筆記本電腦快捷按鍵
- 筆記本電腦觸摸板
文字介面(Console)
在這個介面下,和我們打交道的其實就是 Shell。Linux 下默認的 shell 是 bash,而功能最強大的 shell 是 zsh。
Console 字體
- 英文字體
- 中文字體
- 其他語言字體
- 中文 LOCALE
- 正確顯示中文檔案名
圖形介面
X.org
顯卡驅動
TTF字體
- Han Nom 字體
The Institute of Vietnamese Studies(越南語研習院)於2005年釋出了一套能夠支援 CJK Ext A 和 Ext B 的字型,名為 Han Nom--其中又分成高、低兩種解晰度。
可參閱 New tools for Nom Characters
點擊這裏下載
其中:hannomH.zip 是高解晰度字體;hannom.zip 是低解晰度字體。
此字型也有 Windows® 安裝程式供下載。
該套字型是以 Freeware、非商業用途的授權方式釋出(GPL),完全能在 Linux、Mac OS X 等系統下使用;字體的筆劃,比較傾向中國大陸的寫法。
安裝了 Han Nom A 和 Han Nom B 字型的用戶,可使用 Firefox 到以下網頁測試 CJK Ext A 和 Ext B 之字碼可否正常顯示:
Unicode Ext-A 漢字內碼表
Unicode Ext-B 漢字內碼表
- 文泉驛字體
Linux下常用的自由中文字體有文泉驛系列(文泉驛點陣字體和文泉驛黑體),在Arch下的安裝:
pacman -S wqy-bitmapfont wqy-zenhei
- Firefly New Sung
這是 FireFly 製作的「文鼎PL新宋」字型。中文名稱為『文鼎PL新宋』,英文字型名稱為『AR PL New Sung』,內含半形英數位、全形特殊符號、BIG5、GB2312 共一萬六千餘字。
TrueType 字型部份,是利用『文鼎PL細上海宋』與『文鼎PL簡報宋』合併而成,再依據這兩個合併後的字型,自行繪製 12點(9pt)、13點(10pt)及 15點(11pt)、16點(12pt) 這四個 Size 的點陣字,將之嵌入,完全沒有版權問題,用得最安心。
點陣字本身另外單獨另以 GNU GPL release。
Type1字體
OTF字體
有版權的字體
- 確認你已經合法獲得該字體的版權。比如,你已經購買了正版的 Windows®,那麼自然可以在 Linux 下合法使用 Windows® 字體;
- 在 /usr/share/fonts 下建立一個新檔夾,然後將此字體複製到該檔夾下;
- fc-cache -fv
- 編輯 /etc/X11/xorg.conf,將上面新建的檔夾路徑添加進去。
- UniFonts
即中日韓漢字超大字元集(SuperCJK),全部漢字都採用了標準 宋體 字形,避免了大陸與臺灣兩類字形的不諧調。當前最新版本是 5.3。
以收錄漢字的多少來排序,UniFonts > Han Nom > 文泉驛。
UniFonts 完整支援國際標準超大字元集全部七萬多中日韓越漢字,包含近10萬標準字元,其中,中日韓越通用中文字元75814個:
CJK基本 [4E00-9FFF] 20992碼位 實際20924字 CJK擴展A [3400-4DBF] 6592碼位 實際6582字 CJK擴展B [20000-2A6DF] 42720碼位 實際42711字 CJK擴展C [2A700-2BA7F] 4224碼位 實際4219字 CJK相容擴展 [2F800-2FA1F] 544碼位 實際542字 CJK部首擴展 [2E80-2EFF] 128碼位 實際116字 CJK康熙部首 [2F00-2FDF] 224碼位 實際214字 CJK筆劃 [31C0-31EF] 48碼位 實際36字 CJK相容 [F900-FAFF] 512個碼位 實際474字
字型版權:中易&華康,由深圳大學傳播學院•傳媒與文化研究中心 孫海峰 博士製作。
點擊這裏下載,這是一個 EXE 檔,用 Wine 來執行後就能得到字體檔了。
fonts.conf
音效
ALSA
OSS
Jack
安裝桌面套件
桌面套件分解:
Xorg
sudo pacman -S xorg xorg-xinit
OpenBox
sudo pamcan -S openbox
LXDE
sudo pacman -S lxde
Gnome
sudo pacman -S gnome
KDE 與 KDE-Mod
sudo pacman -S kde kde-l10n-zh_tw
XFce
請參閱 LXDE
組合一個桌面
視窗管理器
- Openbox
- Fluxbox
- Tiling Window Manager
- Dwm
- Awesome3
- Xmonad
File Manager (文件管理器)
Archive Manager (檔案管理器)
Panel (桌面面板)
Icons (桌面圖示)
Gadgets (桌面小工具)
- conky
Graphical Login Manager (圖形登錄管理器)
- XDM
- GDM
- KDM
- SLIM
- Entrance
- Qingy
- WDM
Themes (主題)
工作環境
Linux 下的工作軟體一點也不遜色於 Windows,只是不一定是同名的軟體。許多人因為不熟悉 Linux 從而一時找不到代替品,請參閱 Common Applications,也可參閱 視窗軟體的 Linux 類似/替換/相近品,但後者略有過時之嫌。參看一下 Best Freeware for Ubuntu Linux and for Windows XP 也是不錯的。
這裏也給出一些 Windows 軟體的代替品,安裝時請先以 pacman -Ss 搜索以下列表中的 Linux 軟體名稱:
中文輸入法
- fcitx
即小企鵝輸入法。包含拼音、五筆、二筆、倉頡等等。碼表的結構很簡單,一個編碼對應一個字(詞)。如果有某種輸入法的碼表,還能自己添加輸入法。小巧,但基本無所不能。在Arch下安裝
pacman -S fcitx or yaourt -S fcitx-svn
詳見 FCITX
- scim
Scim輸入法框架主要包含scim-pinyin(拼音輸入法)scim-table(包含五筆、二筆、形碼等輸入法),一度成為大多數發行版本的主要輸入法。scim輸入框架還可以涵蓋日文及韓文輸入法. scim-python 是一個 SCIM 的 Python 包裝,它允許開發人員通過 Python 語言來編寫自己的輸入法引擎。目前,scim-python 已經提供了包括拼音、五筆、二筆、鄭碼、倉頡等在內的多種中文輸入法。這對咱們 Linux 用戶來說,無疑提供了新的中文輸入法選擇機會。基於 scim-python 的拼音輸入法具有快速輸入特殊詞語、臨時的英文輸入模式、以詞選字、拼音糾錯等功能;形碼輸入法則包含快速的輸入速度、方便用戶自定義片語、拼音反查等特點。此外,還包括支持全拼、簡拼和雙拼的整句輸入法。官方主頁[1] 在Arch下安裝
pacman -S scim-pinyin or pacman -S scim-table or pacman -S scim-python
詳見 SCIM
- fitx
Fitx全名是Fun Input Toy for Linux,Fitx的姐妹版Fun Input Toy, 是Mac OS X下最流行的輸入法之一, 同時Fitx還為iPhone版本WeFIT提供強勁的輸入引擎。Fitx的目標和FIT一樣,旨在為Linux的用戶提供流暢的輸入體驗。Fitx的特點包括:
- 同時支持拼音,雙拼,全雙混拼;五筆,五筆拼音混合輸入
- 智能短句
- 自動記憶拼音片語,自動詞頻調整
- 支持南方模糊音
- 海量詞庫, 拼音詞條37萬條,五筆詞條8萬條
- 支援五筆自定義片語
- 支持簡寫拼音縮寫
官方主頁是 FITX
安裝方法:
yaourt -S fitx
或者 從源代碼安裝
- ibus
ibus被稱為新一代的輸入法,官方網站為[2] ibus-pinyin為拼音輸入法,ibus-table包含二筆、五筆、倉頡等輸入法。在Arch下安裝
yaourt -S ibus-pinyin or yaourt -S ibus-pinyin-git
或者
yaourt -S ibus-table or yaourt -S ibus-table-git
網路應用程式
網路瀏覽器
- Mozilla Firefox
- Icecat
- Swiftfox
- Opera
- Konqueror (KDE)
- Epiphany (GNOME)
- 其他
收發郵件
- Thunderbird
- Evolution (GNOME)
- 其他
RSS
Google App
辦公軟體
常用套件
- LibreOffice ( OpenOffice.org )
- Go-OpenOffice.org
- EIO-Office
- Abiword
- Gnumeric
檢視文件
- 文字文件
- 壓縮檔
- 圖片
- CHM
- 音樂、視訊檔
詞典
- Stardict
文字處理與排版
- Vi/Vim
- Emacs
- Texlive
- Lyx
數學,工程與統計
數學
功能強大的電腦代數系統,致力於構建開源電腦代數平臺。你可以把它看作是6.0以後的Mathematica,也可以看作是有幾個G那麼大的Matlab,因為默認的安裝大小是1G多。前端是基於web的,也有基於Emacs的擴展。AUR裏的Sage包有兩種,一種是預編譯的Sage-mathematicas-bin,一種是從源碼編譯的sage-mathematics,這就要求默認的安裝目錄/opt/sage至少4G。比較奇怪(或者獨特,或者噁心?)的是Sage本身有一套編譯手段,還提供了最大有2~3G的擴展包,這個包裏也有bzip之類常見的Linux工具,可以安裝到sage的目錄裏,不過這些工具大多是過時的。個人認為Sage在計算上功能確實強大,在擴展上有重複發明輪子的嫌疑。 Sage的文檔很豐富,容易入門。
Maxima是偏重於形式計算和符號計算的開源電腦代數系統,類似於Mathematica。Gui是wxMaxima,還支持Emacs和XEmacs。Maxima功能強大,體積小巧,默認是沒有擴展的。
Maxima的擴展,本身己包含Maxima,符號計算和數值計算並重。只有 Windows 版,但可以在 wine 下良好運行。
從名字就可以猜到,scilab是要模仿matlab,事實上也正是如此,scilab模仿的還比較成功。
沒用過,據說很好很強大。
模仿Origin,也算比較成功。不過最近好像在向商業的方向走,開始收費了。Windows版本已經在功能上有限制了,比如不能保存project,每次會話不超過10分鐘。Linux版本還沒有限制,但是……我還是老老實實作看客,因為我沒錢,我也沒技術,只能受人擺佈。
工程製圖
- QCad
Professional CAD System - BRL-CAD
Constructive Solid Geometry (CSG) solid modeling system - Open CASCADE
Technology, 3D modeling & numerical simulation - FreeCAD
3D-Solid and general purpose design CAD/CAE - VARKON
Parametric CAD-tool - Electric
The Electric VLSI Design System
統計(與作圖)
字母R排在S的前面。GNU R是S語言的一種實現,專注於統計,有強大的計算和繪圖功能。在windows和linux平臺可用,其他平臺我不瞭解。 入門R導論
- S
S是Statistics(統計)的首字母。S是一種語言,歷史悠久,功能強大,作什麼的還用說麼?想用的話往上看。
SciGraphica 是開源的資料分析與作圖工具,它自稱是一個 Microcal Origin 的克隆版,但其目的是要形成一個功能齊全、用戶友好、跨平臺的科學用套件,因其開源性質,從而可被用戶擴展,和/或及時修復臭蟲,也可通過自帶的 Python 模組而被用戶擴展。
電腦語言編譯環境與解釋環境
Shell
C/C++
Python
PHP
Java
Perl
其他
集成開發環境 (IDE)
Eclipse
Qt Creator
圖形處理
Inkscape
音頻處理
參閱 Hydrogenaudio Knowledgebase (HAK)。
視頻處理
刻錄
K3B Brasero
生活娛樂環境
音樂
電影
- Codecs
- Mplayer
- Flash
聊天
- Irssi 與 Weechat
- Pidgin
- Galaxium
- Jabber
- ICQ
- OICQ
OICQ 就是俗稱的騰訊 QQ 了。據我所知,在 OICQ 出現以前,中國人是一直在用 ICQ 聯絡的。只是後來 ICQ 的國外伺服器被封鎖了,於是……
現已有 Linux QQ,去其官方網站下載tar.gz包,解壓即可用。 目前還可以 yaourt -S linuxqq 安裝
網路電話(Voice-over-IP phone)
- skype
- twinkle
- linphone
- ekiga
- gizmo
- zfone
zfone 本身不是網路電話,但它能讓網路電話變得非常安全,不受監聽的威脅。
理財
遊戲
模擬器及虛擬化系統
Wine & CrossOver
Xen
Emue
Kvm
Virtualbox
VMWare
外設
在內核(Kernel)支援的前提下,有兩個辦法可以自動掛載外設:
- 安裝HAL
- 設置 /etc/fstab 自動掛載存儲設備。
如果內核中沒有合適的模組(Module)支援此外設,那麼也許需要更新內核了,或直接安裝此外設的驅動(固件)。
移動存儲設備
即U盤或移動硬碟
手寫設備
掃描器
攝像頭
印表機
搭建伺服器
FTP 服務
HTTP 服務
WebDav 服務
網路檔系統
可以更方便的從網路共用檔與共用列印。
網路檔系統有多種類型,例如: ftpfs, sshfs, shfs, smbfs, 和 nfs 等。 如果不使用它們,而用 ftp 或 http 服務來共用檔也未嘗不可。
- Shfs
sshfs 可以開機自動掛載,關機和重啟時也可以自動卸載 sshfs 檔系統,但是它不能用 mount 來直接指定 -t 參數來掛載,因此也不能直接加到 /etc/fstab 中,而且用 df 也不能列出那樣的分區。
但是shfs解決了這個問題,它能像掛載普通分區那樣掛載sshfs檔系統。它是通過內核的 shfs 模組來實現的,
參看 shfs。
- Samba
可幫助實現跨平臺(Linux <--->Windows) 的檔共用和列印共用。
- NFS
參看 NFS。
- rsync
Rsync用於兩台機器上檔的同步備份,它本身不算是共用程式,但它能起到共用的作用。通常與 ssh 合用。
參看 rsync,Rsync + SSH。