Work and Play with Arch (Chinese)
From ArchWiki
Article summary |
---|
打造Arch桌面! 本文面向初学者,主要针对使用中文的个人用户,旨在简介如何在Arch上构建一个的工作和娱乐的桌面环境,重点介绍使用的方法和主要用到的工具(软件),同时给出链接,以方便读者自行查阅参考。 |
Available Languages |
正體中文 |
Related articles |
Beginners Guide |
Beginners Guide Appendix |
Post Installation Tips |
Contents |
安装 Arch Linux 基础系统
对 Arch 提出的 原则 欣赏和认同,往往是走入、使用和参与 Arch Linux 的原因。如果你还不知道 Arch Linux 是什么,那么请务必参阅 Getting Started ,你会发现这实在是个让人放不下的优秀 Linux 发行版。
Arch Linux 的安装媒介有三种:CD-Rom,网络,和U盘等可移动存储设备。这三种安装程序的映像文件(ISO/IMG 文件)均可以从 这里 下载得到。
如果你之前使用过 BSD 系统(尤其是 FreeBSD),那么你肯定不会对 Arch Linux 的文字式安装界面感到陌生。如果你没用过 BSD 系统,并且也没遇见过文字式的安装界面,或者你是第一次安装 Arch Linux 系统,那么你最好去参阅 Beginners Guide 和 Official Arch Linux Install Guide,其中包含许多有用的帮助。
如果你还需要图形化的指导,这里还有一份相当详细的 安装截图。
Arch Linux 特有的一些名词术语可参见 Arch术语。
由此,安装 Arch Linux 的具体过程,本文就不再赘述了。
安装时可能遇到的一些特别的或重要的情况,如 LVM 分区,磁盘加密问题等,将在下文中简述一二。
基于 Arch Linux 的发行版
当前,除了官方的发行版,还有十种基于官方 Arch Linux 的发行版,以方便多种多样的用户环境。请参阅 Arch-based Distros。
LVM 与分区
- 分区
分区工具有很多种,其中简单易用的要数 “cfdisk”。
Arch Linux 可以只有一个分区,即“根分区”(/)。但是很多情况下,为了保证系统稳定、可靠,安全和高效,还要再多分几个区。常见的分区及其大小如下所示:
/boot:这是启动分区,Grub 就安装在这里。50-100M已经足够了。文件系统可选用 JFS (JFS 对小文件的读写效率很高)或 EXT2。启动分区可以不必单独分出来。
SWAP:这是与内存之间作交换的分区,相当于 Windows® C盘下的页面文件pagefile.sys。个人使用,如果内存超过1G,可以不分 SWAP 分区(不过这样就不能使用休眠了),如果是小内存,1G的 SWAP 也足够了;如果是服务器用,一般是内存大小的两倍。
/:这是根分区,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.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 /vmlinuz26 root=/dev/sda5 ro vga=789 quiet initrd /kernel26.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/inittab
这也是一个启动配置文件。参看 Inittab。
- /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 的帮助手册。
- /etc/sysctl.conf
这个配置文件可用来控制或改善内核的行为。也因此可以用作优化系统。
例如,可以优化网络行为,硬盘的读写行为,等等。
这个文件的内容,网上谈论的比较多。但只有适合自己的,才是最好的。
pacman,AUR 与 abs
这三个东西,可是 Arch 的得意之作,体现了 Arch 的简洁灵活的特性,兼顾了社区和维护者的需要。
更新系统
Arch Linux 的一大特点就是能让你的系统和程序始终处于最新、最前沿的状态。所以安装完系统之后,需要立即更新系统,以同步所有的二进制安装包。
初次更新整个系统时,首先要同步源和更新 pacman 安装包:
# pacman -Sy pacman
然后,
# pacman -Su
即可。
编译新内核
一般情况下,是没有必要编译新内核的。除非是有特别的硬件需要支援才会去编译它。可自行在 Wiki 上以 kernel 为关键词搜索,来查看相关资料。
系统安全
Linux 本身已经具备了相当的安全性,但并不意味着它就是牢不可破的。资讯安全 的重要性不言而喻,但安全是相对的,而且很难一劳永逸,应经常加以维护。参看 Linux Security HOWTO。
磁盘加密
密码原则
- 密码不得包含全部或部分用户帐户名。
- 密码长度至少为十二个字符。
- 密码包含以下四类字符中的三类:
- 拉丁文大写字母 (A - Z)
- 拉丁文小写字母 (a - z)
- 10 个基本数字 (0 - 9)
- 键盘上的其它非字母数字的字符,如: !, @, #, $, %, ^, &, *, 等等。
- 密码是有期限的,定期更改密码。
密码生成工具:apg,pwgen,spassgen。
管理密码:keepassx,keysafe,pwmanager。
破解密码:john,djohn,fcrackzip,crark。
权限管理
参看 Su、Sudo、Disable root password 和 Groups
SElinux
参看 SELinux
防火墙
参看 Firewall
备份与恢复
同步文件
删除与恢复
- bcwipe - military-grade procedures to surgically remove all traces of any file
- secure-delete - tools that can wipe files, free disk space, swap and memory, from The Hacker's Choice (THC)
- File Recovery
安装后的配置
对 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
参看 Xorg 和 input hotplugging。
显卡驱动
据显示芯片的型号安装显卡驱动。
字体
中文字体字符数量极大,单个字符笔画繁多,它所遇到的问题要比英文字体复杂得多。但无论中英文,都是要选好字体,并灵活使用字体渲染 (Linux 下是 Hinting 和 Anti-aliasing 技术),中文字体尽量少用字体渲染。
建议先了解字体的基础知识,不然会晕头的。参看 字体设置。
字体分为 矢量字体 和 点阵字体 两种,矢量字体可以内嵌点阵字体。Type1,TrueType 和 OpenType 都是与平台无关的矢量字体。OpenType 可同时嵌入 Type1 和 TrueType,所以无论是打印还是屏幕显示,都非常好看。
TrueType Fonts (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 等系统下使用;字体的笔划,比较倾向中国大陆的宋体。可从 AUR 安装其高解晰度字体:
yaourt -S ttf-hannom-usong
安装了 Han Nom A 和 Han Nom B 字型的用户,可使用 Firefox 到以下网页测试 CJK Ext A 和 Ext B 之字码可否正常显示:
Unicode Ext-A 汉字代码页
Unicode Ext-B 汉字代码页
- 文泉驿字体
Linux下常用的自由中文字体有文泉驿系列:文泉驿点阵字体和文泉驿黑体。事实上,后者己经包含了前者。在Arch下的安装:
pacman -S 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。
PostScript Type1
OpenType Fonts (OTF)
有版权的字体
- 确认你已经合法获得该字体的使用权。即使你已经购买了正版的 Windows®,在 Linux 下使用 Windows® 的字体也是违反授权许可的(微软特别许可的字体除外);
- 在 /usr/share/fonts 下建立一个新文件夹(例如:MSfonts),然后将此字体复制到该文件夹下;
- # fc-cache -f > /dev/null
# mkfontscale /usr/share/fonts/MSfonts
# mkfontdir /usr/share/fonts/MSfonts - 编辑 /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
这个文件对于屏幕上文字的显示至关重要。一般不直接编辑 /etc/fonts/fonts.conf,而是在 $HOME 下新建一个 .fonts.conf。
如果英文能正确美观的显示出来,那么,只要安装了文泉驿正黑字体,中文也是很漂亮的。但是中文点阵字、中文粗体字的显示,以及显示屏的 DPI 值,可能需要特别优化。
另外 .fonts.conf 中有通常一小节是确定字体优先顺序用的,需要将已安装的中文字体加入此节中,并排好先后顺序。例如:
... <match target="pattern"> <edit name="dpi" mode="assign"> <double>96</double> </edit> </match> ... <alias> <family>serif</family> <prefer> <family>DejaVu Serif</family> <family>Bitstream Vera Serif</family> <family>WenQuanYi Zen Hei</family> <family>HAN NOM A</family> <family>HAN NOM B</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>DejaVu Sans</family> <family>Bitstream Vera Sans</family> <family>Verdana</family> <family>Arial</family> <family>WenQuanYi Zen Hei</family> <family>HAN NOM A</family> <family>HAN NOM B</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>DejaVu Sans Mono</family> <family>Bitstream Vera Sans Mono</family> <family>WenQuanYi Zen Hei</family> <family>HAN NOM A</family> <family>HAN NOM B</family> </prefer> </alias> ... <!--// 对文泉驿正黑字体的显示作优化 //--> <match target="font"> <test qual="any" name="family"> <string>WenQuanYi Zen Hei</string> </test> <!--// 启用轻度微调 //--> <edit name="hintstyle" mode="assign"> <const>hintslight</const> </edit> <!--// 打开内嵌的点阵字体 //--> <edit name="embeddedbitmap"> <bool>true</bool> </edit> </match> ...
字体的名称可以用 fc-list
指令获知。
推荐:~/.fonts.conf from the Forum,在这个基础上,对字体设置作出微调,会更加方便。
并参看 Xorg Font Configuration 、 Fonts 以及 Linux 字体微调。
音效
ALSA
OSS
Jack
安装桌面套件
常用的桌面套件有:GNOME,KDE (KDE-Mod),Xfce 和 LXDE。
不过对Arch爱好者来说,也许会嫌上述桌面套件资源占用较大,不够轻量,于是更偏爱自行组合一个桌面环境。
Window Manager (窗口管理器)
- Openbox
- Fluxbox
- Tiling Window Manager
- Dwm
- Awesome3
- Xmonad
File Manager (文件管理器)
Archive Manager (档案管理器)
Panel (桌面面板)
Icons (桌面图标)
Gadgets (桌面小工具)
- google-gadgets
- conky
Graphical Login Manager (图形登录管理器)
- XDM
- GDM
- KDM
- SLIM
- Entrance
- Qingy
- WDM
Themes (主题)
arch-stuff
gnome-look
kde-look
鼠标指针
工作环境
Linux 下的工作软件一点也不逊色于 Windows,只是不一定是同名的软件。许多人因为不熟悉 Linux 从而一时找不到代替品,请参阅 Common Apps,也可参阅 视窗软件的 Linux 类似/替换/相近品,但后者略有过时之嫌。参看一下 Best Freeware for Ubuntu Linux and for Windows XP 也是不错的。
这里也给出一些 Windows 软件的代替品,安装时请先以 pacman -Ss 搜索以下列表中的 Linux 软件名称:
轻量级的应用程序
轻量级的 Arch 系统,当然要 首选 轻便的应用程序。参看 Lightweight Applications,其中包含很多 CLI 下的程序,相当方便实用。这才是 Unix-like 系统的特色所在,也是在体现 Arch 系统的 KISS 原则。
中文输入法
- 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 的拼音输入法具有快速输入特殊词语、临时的英文输入模式、以词选字、拼音纠错等功能;形码输入法则包含快速的输入速度、方便用户自定义词组、拼音反查等特点。此外,还包括支持全拼、简拼和双拼的整句输入法。官方主页[2] 在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被称为新一代的输入法,官方网站为[3] 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
网络应用程序
网页浏览
- Firefox
- Icecat
- Swiftfox
- Opera
- Konqueror (KDE)
- Epiphany (GNOME)
- 其它
收发邮件
- Thunderbird
- Evolution (GNOME)
- Mutt
RSS
Google App
办公软件
常用套件
- 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语言的一种实现,专注于统计,有强大的计算和绘图功能。可跨平台使用。 入门:R导论,R语言中文论坛。
- S
S是Statistics(统计)的首字母。S是一种语言,历史悠久,功能强大,作什么的还用说么?想用的话往上看。
SciGraphica 是开源的数据分析与作图工具,它自称是一个 Microcal Origin 的克隆版,但其目的是要形成一个功能齐全、用户友好、跨平台的科学用套件,因其开源性质,从而可被用户扩展,和/或及时修复臭虫,也可通过自带的 Python 模块而被用户扩展。
计算机语言编译环境与解释环境
Shell
C/C++
Python
PHP
Java
Perl
其它
集成开发环境 (IDE)
图形处理
音频处理
参阅 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盘或移动硬盘
手写设备
扫描仪
摄像头
打印机
搭建服务器
Arch Linux 无意成为一个服务器操作系统,但不表示它不能。事实上,Arch 具有成为一个优秀服务器操作系统的坚实基础,而且可以很方便的变成一个服务器。参看 Comprehensive Server Guide。
FTP 服务
HTTP 服务
WebDav 服务
网络文件系统
可以更方便的从网络共享文件与共享打印。
网络文件系统有多种类型,例如: ftpfs, sshfs, shfs, smbfs, davfs 和 nfs 等。 如果不使用它们,而用 ftp 或 http 服务来共享文件也未尝不可。
- Shfs
sshfs 可以开机自动挂载,关机和重启时也可以自动卸载 sshfs 文件系统,但是它不能用 mount 来直接指定 -t 参数来挂载,因此也不能直接加到 /etc/fstab 中,而且用 df 也不能列出那样的分区。
但是shfs解决了这个问题,它能像挂载普通分区那样挂载sshfs文件系统。它是通过内核的 shfs 模块来实现的,参看 shfs。
- Samba
可帮助实现跨平台(Linux <--->Windows)
的文件共享和打印共享。
参看 Samba,samba.org。
- NFSv4
参看 NFS。
- rsync
Rsync用于两台机器上文件的同步备份,它本身不算是共享程序,但它能起到共享的作用。通常与 ssh 合用。
参看 rsync,Rsync + SSH。
辅助建站
- 内容管理平台(CMS):
Modx、SilverStripe、Drupal、Joomla、Tiki,参看 CMS列表 - 博客(Blog):
Habari、wordpress,参看 Weblog - 论坛(Forum):
phpbb3,参看 forum 比较 - 共笔系统(Wiki):
mediaWiki,PmWiki。参看 wiki 比较