发信人: Hopper()
整理人: (2000-02-28 20:03:00), 站内信件
|
http://www.sina.com.cn 1999年12月22日 13:45 王波
定制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” ,使设置生效。
fonts.dir文件中包含该字体目录下所有字体的名字,以下为一个例子的部分 内容,该文件每一行都给出一个字体的名字。
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-gb 2312.1980-0
可以看出font.dir中的内容分为两部分,第一部分为字体文件的名字,第二 部分为字体的名字。每个字体的名字用 “-” 将不同的部分分隔开了,这些相互 分隔的部分包括字体的开发者、字体的类别、字体本身的尺寸(磅数)、倾斜度 和点的大小,字符间距的类型、字体所为的字符集,以及字符的风格。
可以看出,每个字体的名字相当复杂,然而可以通过定义别名的方式来简化 具体字体的名字,在一个字体目录下,都有一个对应的fonts.alias的文件,这里 就登记了很多字体的别名,使用者也可以自己根据需要增添。
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso 8859-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.alias的一部分,它的第一列就为简单易记的别名。在运 行 X Window时,可以使用xlsfonts来查看系统中可以使用的字体信息,使用xfo ntsel来查看每种字体的外观。
定制客户桌面基本方法
根窗口的特征可以使用xsetroot命令来设置,可以使用它来定制窗口的颜色 (背景色和前景色),或者使用一个位图作为背景等。也可以使用”xset s sec onds”来定义屏幕保护的激活时间,”xset s default”将屏幕保护设为系统的 缺省配置。
还有很多更强大的X程序能用来定制X的根窗口,设置壁纸和屏幕保护。例如 可以使用xv来将gif或jpg等类型的图片设置为壁纸,这些程序都可以在FreeBSD的 Packages Collection 和Ports Collection中找到。
X客户程序通常使用标准的构件,通常这些构件都有一些标准的参数来定义它 们使用的字体、文字的前景色、背景色、滚动条等。这些参数可以通过更改构件 的资源设置,来改变其设置。一般使用用户个人目录下的.Xdefaults或.Xresour es作为用户的个人资源文件,资源文件在启动时在.xinitrc文件中由xrdb命令载 入系统。
除了资源设置之外,标准X客户程序中的构件也支持标准的命令行选项,可以 用来改变窗口构件的属性:
-borderwith或-bw,框架的宽度,以像素为单位
-foreground或-fg,前景色
-background或-bg,背景色
-display,客户程序要使用的X服务器的显示位置
-font或-fn,显示特殊文字使用的字体
-geometry,窗口的几何结构,包括位置和大小
-iconic,以图标方式启动
-title,标题栏的标题
选择窗口管理器和桌面环境
在FreeBSD安装好XFree86之后,缺省的窗口管理器是twm,这是一个比较简单 的窗口管理器,会使得第一次接触X Window的使用者对X Window产生不好的印象 ,但是如果进一步了解X Window系统,就会知道X Window本身并没有包括真正好 用的窗口管理器,但是却存在很多种优秀的窗口管理器能达到这个目的,使X Wi ndow变得更华丽、更易用。
因此必须从Packages Collection中选择安装相应的窗口管理器或桌面环境, 可供选择的有fvwm95、AfterStep、KDE等。
fvwm95是从另一个窗口管理器fvwm2的进行改进之后的版本,它被设置为与W indows95 的桌面非常相似,因此习惯于Windows95界面的个人计算机使用者常常 会选择这个窗口管理器,然而既然使用的是X Window,没有必要一定还要使用Wi ndow95的显示风格,使用 fvwm2、AfterStep等其他窗口管理器来尝试其他风格更 为有益。一般情况下使用者还是会安装一个fvwm95,fvwm95使用的配置文件是用 户主目录下的.fvwm2rc95文件,而缺省配置文件为/usr/X11R6/lib/fvwm95/syst em.fvwm2rc95文件。使用fvwm95时最简单的启动文件.xinitrc应包括:
/usr/X11R6/bin/fvwm95
AfterStep是模仿NextStep的窗口管理器,这个窗口管理器精巧而且漂亮,如 果不是过于沉迷于Windows95的操作方式,不妨使用这个窗口管理器,它还有几个 派生的管理器,如WindowMaker、enlightenment等。为了充分发挥AfterStep的华 丽,X的显示屏应该大于800x600的分辨率,并至少使用16bpp的色彩深度。After Step的所有配置文件均放置在用户主目录下的GNUStep目录中,相应的启动文件为 :
/usr/X11R6/bin/AfterStep
与前面两者不同,gnome和KDE不仅仅是一个窗口管理器,还包括大量的应用 程序和相关工具(gnome使用enlightenment作为其缺省窗口管理器)。这些桌面 环境包括各种应用程序、控制条、图形化的设置程序等,使用它们能够全面享受 到图形桌面环境的优点,但它们占用的系统资源也相对较多。如果是将安装Free BSD的计算机用做一台工作站,那么就应该选择其中一种桌面环境,用户可以根据 自己的喜好来选择安装gnome或者KDE。
如果选择安装了KDE时,在.xinitrc及.xsession中应该包含的相应启动命令 为:
/usr/local/bin/startkde
在3.2=RELEASE之后,FreeBSD能通过Sysinstall来设置不同的桌面环境,Sy sinstall 能安装相应的软件包,并在/usr/share/skel中添加dot.xinitrc和dot .xsession文件,这样在生成用户时就自动生成.xinitrc和.xsession文件。
配置和使用KDE
KDE不单单是一个窗口管理程序,它包括了使用X Window图形界面进行操作所 需要的各种应用程序。它的主要部分为一个拥有任务条、工具条、快捷图标的桌 面环境,并包括可用于浏览WWW网页的文件管理器、编辑器、计算器、CD播放器、 邮件处理程序、新闻组阅读程序等等大量的应用程序。
KDE的另一个特点就是包括了对图形界面外观的定制程序,一般情况下Unix中 进行配置需要修改对应的配置文件,虽然这种方式提供了很大的灵活性,但对于 很多不重要的设置,并不需要这么灵活的方式,而要求方便、简易。在KDE下不需 要使用手工更改配置文件,而是通过图形界面的设置程序进行设置,因此更容易 使用。下面为一个KDE 界面的例子:
由于KDE是为了高性能的图形界面开发的,因此为了获得较好的观感,至少应 该以800x600分辨率运行X Window,建议使用1024x768以上的分辨率,以充分发挥 KDE的显示效果。
KDE图形桌面由桌面背景、快捷图标、工作栏和任务条组成,每个可以点击的 位置上通常使用左键一次点击启动相应的功能,使用右键点击出现一个菜单,可 以进行相关设置。上图为进行工作栏和任务条的外观设置,设置它们显示的不同 的大小和位置。此外,在桌面上使用右键可以配置桌面外观,包括墙纸和屏幕保 护。点击左下角的K图标可以弹出一个菜单,菜单中包括了KDE环境提供个多种应 用程序,也可以添加对其他应用程序的连接。
与MS Windows不同,KDE(以及大部分X窗口管理器),使用一次点击启动应 用程序,而不是双击。KDE下切换窗口的热键与Windows相同为Alt-Tab。
KDE界面低部工作栏上的各个按钮都对应一个相应的应用程序,而其中并列的 四个按钮,对应四个不同虚拟屏幕,每个屏幕上的内容各不相同,可以分别配置 。KDE最多可支持八个虚拟屏幕,每个窗口只显示在一个屏幕上,除非使用鼠标将 窗口左上角的图钉标志打开,这样操作之后这个窗口总显示在屏幕上,而不管如 何切换虚拟屏幕。
KDE的配置工作全部可以通过KDE配置中心(KDE Control Center)来完成。 点中左下角的 “K” 图标,在菜单中选中KDE Control Center或使用工作栏上的 快捷图标,就可以启动它对KDE的外观进行配置。
KDE控制中心可以设置KDE桌面环境的排列方式,如工作栏、任务栏的大小和 位置,窗口的风格,使用的颜色,屏幕保护以及其他一些应用程序的相关设置。 这些设置也可以在KDE桌面环境中,使用鼠标右键弹出的菜单中的选项来启动。
由于KDE是一种国际化的应用程序,因此可以使用上面的设置程序将KDE使用 的字符设置为中文。当将KDE使用的语言设置为中文时,那么所有KDE的菜单都使 用中文,但是这需要中文X服务器或其他中文系统的中文显示能力的支持,否则K DE虽然显示的是中文字符,但是显示的却会是乱码。
对于使用XDM登录方式的系统,需要使用xdm以提供系统登录。虽然用户登录 后可以从.xsessin中启动KDE,但仍然摆脱不了xdm过于简陋的登录画面。而KDE的 另一个特点就是提供一个xdm的替代程序kdm,这使得系统管理员可以替换掉简单 的xdm界面,使用kdm来提供更漂亮的XDM登录界面,这使得X Window系统表现得更 为华丽。
上图就是一个kdm的外观,它同样也是在KDE控制中心中来进行配置的,只是 由于 kdm属于系统程序,因此只有root运行的KDE控制中心才能选择这一项配置功 能。设置KDM ,需要选择KDE配置中心的第一个选项Desktop Manager。
这个选项中可以设置kdm的图标、出现在kdm的用户列表中的用户、或者不出 现在kdm 的用户列表中的用于,以及在会话结束时用于关闭系统的指令等。
将工作站用作专用X终端
专用机房中常常使用X终端为公共使用者提供服务,使用者可以通过这些终端 以XDM 方式登录到机房中的Unix主机上去。X终端不允许使用者登录到自己系统中 ,而只能使用本地X服务器的处理能力,登录到其他主机上进行使用。
由于个人计算机硬件更为便宜,并且由于硬件的发展其性能也并不落后,使 用个人计算机作X终端也是一种在使用专用X终端之外很不错的选择。可以使用Fr eeBSD作操作系统,Xfree86支持X Window系统,就能将FreeBSD系统用作专用X终 端,这样的优势是所有的软件都可以免费得到,就使得在实现几乎同样的性能的 条件下,却减少了大量的资金投入。
同样也可以通过设置使得用户不能登录进本地系统,而是直接登录到网络上 的其他Unix主机中去。这需要那台提供登录服务的Unix主机运行xdm,这样X终端 就能通过xdmcp 协议在网络中通过广播或者直接查询的方式,查找到运行xdm的主 机,并连接上来提供登录登录画面,就如同在本地系统一样。用作X终端的FreeB SD系统需要以使用特别的参数运行X,以查找XDM主机。
如果运行XDM的Unix主机和用作X终端的FreeBSD系统在同一个以太网段上,可 以使用广播的方式寻找运行XDM的主机,此时启动X的命令为:
# /usr/X11R6/bin/X -broadcast
这样系统上将列出本地所有运行XDM的Unix主机,供使用者选择登录。或者可 以直接查询方式,通过query参数直接与某台Unix主机相连接,这可以用在客户机 和服务器不在同一个网段上的时候。
# /usr/X11R6/bin/X -query Unixhost
为了使系统一启动就进入这个登录状态,可以将这个命令写入shell脚本,并 放入系统启动目录/usr/X11R6/etc/rc.d中。然而此时使用ttys文件进行设置更佳 ,因为此时可能同时想关闭虚拟控制台,以防止X终端使用者切换到虚拟控制台上 。
未完,待续。。。
-- 小多子:你知道我们佟家百年不衰的道理么?
那就是,不要一条路走到黑!
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.190.123]
|
|