2011年10月20日星期四

Linux 字体的一些概念

google + baidu 得到的结果,不保证准确。

字体有矢量字体和位图字体两种类型。矢量字体中的字形由数学曲线描述,这种字体由于需要计算,因此显示速度慢,但是该字体可以任意缩放,主要包括Truetype,Type1,OpenType等;位图字体又叫点阵字体,字形由点组成,显示速度快,但是缩放后会有锯齿。显示字形时要将矢量字体转换为位图字体,这个过程称为光栅化。

FreeType 是字体函数库。应用程序通过FreeType可以访问字体文件,获取字体信息,字形数据,而无需关心字体文件的位置。
相关文档参见:http://www.unixresources.net/linux/clf/kylix/archive/00/00/59/21/592188.html

X包含两种字体系统:原始的核心X11字体系统和Xft系统。 Xft比核心X11字体系统对缩放字形支持要好,并且提供了更多的功能。另外,Xft和核心X11字体系统是不兼容的。Xft 是 FreeType 之上的库,编写 Xft 库是为了给X应用程序提供一个能访问 FreeType 字体光栅化引擎和X渲染的接口。对于不支持渲染的X服务器,还要提供一个访问原始核心X11字体系统的功能。
相关文档参见:http://www.x.org/archive/X11R6.8.2/doc/fonts.html
https://wiki.archlinux.org/index.php/Font_Configuration_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#X.E7.9A.84.E5.AD.97.E4.BD.93.E9.85.8D.E7.BD.AE.E5.92.8C.E7.BE.8E.E5.8C.96
http://it.china-b.com/olbf/468958.html

Fontconfig 配置了程序如何选取字形,主要配置文件为 /etc/fonts/fonts.conf。除了字体信息外,还定义了字体的cache目录以及用户的字体目录。
具体配置方法参见:http://www.xfree86.org/~dawes/4.3.0/fonts2.html#4
https://wiki.archlinux.org/index.php/Font_Configuration_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29

最后记录两个命令:
fc-cache 添加新字体后刷新cache,否则新字体无法使用。
fc-list 查看所有配置过的字体。
xlsfont 查看所有的X字体。

快速配置字体的方案:http://www.ikde.org/news/linux_font_config_from_beginner_to_expert_1/

2011年10月17日星期一

vsftpd 配置虚拟用户

最近配置两遍VSFTPD的虚拟用户了,第一次去google,第二次ssh到第一次的机器上运行history。。。现在记录一下vsftpd使用虚拟用户需要的相关配置:

1 配置vsftpd使用的虚拟用户,以及虚拟用户配置文件的目录。
本示例中虚拟用户映射到系统真实的notes用户,虚拟用户的配置目录在 /etc/vsftpd/vsftpd_user_conf  

chroot_local_user=YES
guest_enable=YES
guest_username=notes
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YE

2 在一个文件中配置虚拟用户的账户名和密码,该文件奇数行为用户名,偶数行为密码。
本示例中该文件为 /etc/vsftpd/userlist,虚拟用户名为tom,密码为456b7016a91

#cat /etc/vsftpd/userlist
tom
456b7016a91

3 利用该文件生成数据库文件,可能需要安装 db4-utils

yum -y install db4-utils
db_load -T -t hash -f /etc/vsftpd/userlist /etc/vsftpd/vsftpd_login.db

4 配置虚拟用户 tom 的具体权限

#cat /etc/vsftpd/vsftpd_user_conf/tom
local_root=/home/video_files
write_enable=YES
anon_other_write_enable=YES
anon_umask=022
allow_writeable_chroot=YES

4 配置 vsftpd 使用 PAM 验证:

pam_service_name=vsftpd

5 PAM验证使用刚才生成的数据库文件:

#cat /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login