📄 202.html
字号:
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>www.newok.com::FreeBSD使用大全</title>
<link rel=stylesheet href="newok.css" tppabs="http://www.newok.com/include/newok.css">
</head>
<body>
<div align=center>
<p> </p>
<table width=720>
<tr><td>
<strong>当前所在位置:</strong><a href="javascript:if(confirm('http://www.at.china.com/bsd/index.html \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.at.china.com/bsd/index.html'" tppabs="http://www.at.china.com/bsd/index.html" class=t1>FreeBSD使用大全>></a>
</td></tr>
</table>
<table width=700>
<tr><th><font color=white>FreeBSD连载(50):定制X Window的基本方法</font></th></tr>
<tr><td> </td></tr>
<tr><td align=left><i>作者:</i>王波</td></tr>
<tr><td> </td></tr>
<tr><td><font color=white><p> 与其他图形界面相比,X Window是高度可配置的,这是因为X Window
本身只是定义了一系列最基本的显示功能调用,而并没有规定图形窗口应该是
什么样子的,因此大批程序员为X Window开发了各种不同风格的开发工具包和
窗口管理程序,使得X Window的风格多种多样。因此X Window的使用者有多种
选择,可以根据自己的喜好来定制工作站的图形界面。</p>
<ul><h2><P><LI>颜色深度、分辨率与字体配置:</LI></P></h2></ul>
<P> 在前面的设置过程中可以设置X服务器使用多种色彩深度,如8bpp、
16bpp、24bpp和32bpp,一般来讲色彩深度越大,所能表现的色彩越丰富,而
24bpp就被称为真彩色,能真实的表现图象的色彩(32bpp实际也只是24bpp,
它是为了让每个象素都占据独立的32位双字,以对齐象素边界,加速处理速度)
。缺省的色彩深度为对应于256色的8bpp,显然这不足于表现图象的色彩,在硬
件能力满足的条件下应该使用更高的色彩深度(要受显存大小和分辨率大小的
限制)。例如要设置X服务器工作在16bpp的准真彩色下,可以使用带参数的
startx或xinit。</P>
<p> $ startx -- -bpp 16</p>
<P> 其中前面的两个--线表示将后面的参数不加改变的传递给X服务器。另
一种设置缺省色彩深度的方法是在X的设置文件XF86Config中设置DefaultColorDepth
选项。</P><P>由于X Window中的色彩深度是可以改变的,为了帮助客户程序使
用具体的色彩,X客户程序中使用的色彩将通过X服务器映射为真实的色彩。X中
还定义了多种标准色的名字,在X程序或资源定义文件中直接使用色彩名字,如
Red、Blue,就得到常用的颜色。</P><P>X服务器也可以同时支持多种分辨率,
并能够在运行时刻动态切换它所支持的分辨率。在前面XF86Setup设置程序中的
显示器设置选项中,有部分显示器能同时设置了几个显示模式,然而这些分辨率
并不是该显示器能支持的分辨率的全部,如果是使用xf86config或者手工更改设
置文件,还能设置更多的分辨率。当设置了多个分辨率模式的时候,就能在X
Window下使用热键<Ctrl>、<Alt>和<+>向后切换模式,使用
<Ctrl>、<Alt>和<->向前切换分辨率模式,其中<+>和
<->是小键盘上的键,主键盘上的<+><->并不能用来切换分辨
率。</P>
<P> 虽然存在不同的分辨率模式,但是X服务器显示的虚屏大小仍然相同,虚拟
显示屏大于实际显示屏,但可以通过鼠标的移动,在实际显示屏上显示虚拟显示屏
的不同部分。因此在有多个分辨率的时候,虚拟显示屏至少应该等同于最大分辨率
的大小,这样不论切换到哪个分辨率,应用程序的窗口仍然保持原有的样子,只是
窗口有可能位于真实的显示屏外,需要通过移动鼠标来移动虚拟显示屏,看到应用
程序窗口的全貌。由于移动虚拟显示屏是通过直接控制显示卡上的寄存器来进行的
,不需要在显存或内存中进行额外的移动或复制操作,因此几乎不消耗资源,也不
影响任何显示速度。</P>
<P> 虽然XFree86缺省已经支持了相当丰富的字体,但是还是有可能需要安装新
的字体,例如某种中文字体。X Window的字体应该在配置文件中设置其搜寻路径,
但在启动X Window之后,也可以使用xset命令来重新设置字体的搜寻路径。</P>
<P> xset fp+ :增加一个字体搜寻目录。</P>
<P> xset fp- :删除一个字体搜寻目录。</P>
<P> xset fp= :重新设置字体搜寻目录。</P>
<P> xset fp rehash:更改某个字体目录中的内容后,强迫系统刷新字体搜寻路径。</P>
<P> 要想使用一些使用者自己设置的字体,就要按下面的步骤将这些字体加入
到X Window的搜寻路径。</P>
<ul>
<P><LI> 将这些字体单独放在一个目录下,或者放到系统原有的字体目录下。</LI></P>
<P><LI> 运行 “mkfontdir 该字体目录” ,构建这个字体目录(将按照所有的字体,
重新生成fonts.dir文件)。</LI></P>
<P><LI> 使用 “xset fp+ 该字体目录” 或 “xset fp rehash” ,使设置生效。</LI></P>
</ul>
<P> fonts.dir文件中包含该字体目录下所有字体的名字,以下为一个例子的部分
内容,该文件每一行都给出一个字体的名字。</P>
<table width=100%><tr><td>
<pre><font size=2>gb16st.pcf.gz -isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
gb24st.pcf.gz -isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0
10x20.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
gb16fs.pcf.gz -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0</font></td></pre></tr></table>
<P> 可以看出font.dir中的内容分为两部分,第一部分为字体文件的名字,第二部
分为字体的名字。每个字体的名字用 “-” 将不同的部分分隔开了,这些相互分隔的部
分包括字体的开发者、字体的类别、字体本身的尺寸(磅数)、倾斜度和点的大小,字
符间距的类型、字体所为的字符集,以及字符的风格。</P>
<P> 可以看出,每个字体的名字相当复杂,然而可以通过定义别名的方式来简化具
体字体的名字,在一个字体目录下,都有一个对应的fonts.alias的文件,这里就登记
了很多字体的别名,使用者也可以自己根据需要增添。</P>
<table width=100%><tr><td>
<pre><font size=2>fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-1
5x7 -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1
5x8 -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso646.1991-irv</font></td></pre></tr></table>
<P> 上面就是某个font.alias的一部分,它的第一列就为简单易记的别名。在运行
X Window时,可以使用xlsfonts来查看系统中可以使用的字体信息,使用xfontsel来
查看每种字体的外观。</P>
<ul><h2><P><LI>定制客户桌面基本方法</LI></P></h2></ul>
<P> 根窗口的特征可以使用xsetroot命令来设置,可以使用它来定制窗口的颜色(背
景色和前景色),或者使用一个位图作为背景等。也可以使用”xset s seconds”来定义屏
幕保护的激活时间,”xset s default”将屏幕保护设为系统的缺省配置。</P>
<P> 还有很多更强大的X程序能用来定制X的根窗口,设置壁纸和屏幕保护。例如可以使
用xv来将gif或jpg等类型的图片设置为壁纸,这些程序都可以在FreeBSD的Packages Collection
和Ports Collection中找到。</P>
<P> X客户程序通常使用标准的构件,通常这些构件都有一些标准的参数来定义它们使
用的字体、文字的前景色、背景色、滚动条等。这些参数可以通过更改构件的资源设置,
来改变其设置。一般使用用户个人目录下的.Xdefaults或.Xresoures作为用户的个人资源
文件,资源文件在启动时在.xinitrc文件中由xrdb命令载入系统。</P>
<P> 除了资源设置之外,标准X客户程序中的构件也支持标准的命令行选项,可以用来
改变窗口构件的属性:</P>
<P> -borderwith或-bw,框架的宽度,以像素为单位</P>
<P> -foreground或-fg,前景色</P>
<P> -background或-bg,背景色</P>
<P> -display,客户程序要使用的X服务器的显示位置</P>
<P> -font或-fn,显示特殊文字使用的字体</P>
<P> -geometry,窗口的几何结构,包括位置和大小</P>
<P> -iconic,以图标方式启动</P>
<P> -title,标题栏的标题</P>
<ul><h2><P><LI>选择窗口管理器和桌面环境</LI></P></h2></ul>
<P> 在FreeBSD安装好XFree86之后,缺省的窗口管理器是twm,这是一个比较简单的
窗口管理器,会使得第一次接触X Window的使用者对X Window产生不好的印象,但是如
果进一步了解X Window系统,就会知道X Window本身并没有包括真正好用的窗口管理器
,但是却存在很多种优秀的窗口管理器能达到这个目的,使X Window变得更华丽、更易
用。</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -