FreeBSD连载(50):定制X Window的基本方法
2009-05-13 12:22:26来源:未知 阅读 ()
定制X Window的基本方法
与其他图形界面相比,X Window是高度可配置的,这是因为X Window 本身只是定义了一系列最基本的显示功能调用,而并没有规定图形窗口应该是什么样子的,因此大批程序员为X Window开发了各种不同风格的开发工具包和窗口管理程序,使得X Window的风格多种多样。因此X Window的使用者有多种选择,可以根据自己的喜好来定制工作站的图形界面。
- 颜色深度、分辨率与字体配置:
在前面的设置过程中可以设置X服务器使用多种色彩深度,如8bpp、 16bpp、24bpp和32bpp,一般来讲色彩深度越大,所能表现的色彩越丰富,而 24bpp就被称为真彩色,能真实的表现图象的色彩(32bpp实际也只是24bpp,它是为了让每个象素都占据独立的32位双字,以对齐象素边界,加速处理速度)。缺省的色彩深度为对应于256色的8bpp,显然这不足于表现图象的色彩,在硬件能力满足的条件下应该使用更高的色彩深度(要受显存大小和分辨率大小的限制)。例如要设置X服务器工作在16bpp的准真彩色下,可以使用带参数的 startx或xinit。
$ startx -- -bpp 16
其中前面的两个--线表示将后面的参数不加改变的传递给X服务器。另一种设置缺省色彩深度的方法是在X的设置文件XF86Config中设置DefaultColorDepth 选项。
由于X Window中的色彩深度是可以改变的,为了帮助客户程序使用具体的色彩,X客户程序中使用的色彩将通过X服务器映射为真实的色彩。X中还定义了多种标准色的名字,在X程序或资源定义文件中直接使用色彩名字,如 Red、Blue,就得到常用的颜色。
X服务器也可以同时支持多种分辨率,并能够在运行时刻动态切换它所支持的分辨率。在前面XF86Setup设置程序中的显示器设置选项中,有部分显示器能同时设置了几个显示模式,然而这些分辨率并不是该显示器能支持的分辨率的全部,如果是使用xf86config或者手工更改设置文件,还能设置更多的分辨率。当设置了多个分辨率模式的时候,就能在X Window下使用热键、和向后切换模式,使用 、和向前切换分辨率模式,其中和 是小键盘上的键,主键盘上的并不能用来切换分辨率。
虽然存在不同的分辨率模式,但是X服务器显示的虚屏大小仍然相同,虚拟显示屏大于实际显示屏,但可以通过鼠标的移动,在实际显示屏上显示虚拟显示屏的不同部分。因此在有多个分辨率的时候,虚拟显示屏至少应该等同于最大分辨率的大小,这样不论切换到哪个分辨率,应用程序的窗口仍然保持原有的样子,只是窗口有可能位于真实的显示屏外,需要通过移动鼠标来移动虚拟显示屏,看到应用程序窗口的全貌。由于移动虚拟显示屏是通过直接控制显示卡上的寄存器来进行的,不需要在显存或内存中进行额外的移动或复制操作,因此几乎不消耗资源,也不影响任何显示速度。
虽然XFree86缺省已经支持了相当丰富的字体,但是还是有可能需要安装新的字体,例如某种中文字体。X Window的字体应该在配置文件中设置其搜寻路径,但在启动X Window之后,也可以使用xset命令来重新设置字体的搜寻路径。
xset fp+ :增加一个字体搜寻目录。
xset fp- :删除一个字体搜寻目录。
xset fp= :重新设置字体搜寻目录。
xset fp rehash:更改某个字体目录中的内容后,强迫系统刷新字体搜寻路径。
要想使用一些使用者自己设置的字体,就要按下面的步骤将这些字体加入到X Window的搜寻路径。
- 将这些字体单独放在一个目录下,或者放到系统原有的字体目录下。
- 运行 “mkfontdir 该字体目录” ,构建这个字体目录(将按照所有的字体,重新生成fonts.dir文件)。
- 使用 “xset fp+ 该字体目录” 或 “xset fp rehash” ,使设置生效。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- ACL 疑问 2009-05-13
- 升级FreeBSD7.0到7.1的方法 2009-05-13
- 从硬盘安装FREEBSD的方法 2009-05-13
- OpenBSD环境下安装PHP加速软件eAccelerator的方法[原创] 2009-05-13
- Freebsd CARP设定写测试方法 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash