Solaris 公用桌面环境:高级用户和系统管理员指南

更改登录屏幕的外观

要定制登录屏幕的外观,可以更改徽标或图形、欢迎消息和字体。

要修改 Xresources,需将 Xresources/usr/dt/config/language 复制到 /etc/dt/config/language 中。登录屏幕将在下一次显示时显现出所有更改。要强制登录屏幕重新显示,请在登录屏幕“选项”菜单中选择“重置登录屏幕”。

可由 Xresources 文件的资源规范决定的登录屏幕属性包括:

Dtlogin*logo*bitmapFile—显示为徽标图像的位图或像素图文件

Dtlogin*greeting*persLabelString—个人专用欢迎信息

Dtlogin*greeting*labelString—欢迎消息

Dtlogin*greeting*fontList 欢迎消息的字体

Dtlogin*labelFont 按钮和标号的字体

Dtlogin*textFont 帮助及错误信息的字体

Dtlogin*language *languageName 语言环境名称的替代文本language

更改徽标

    设置 Xresources 中的 Dtlogin*logo*bitmapFile 资源。

徽标可以是彩色像素图或位图文件。

下例使用 Mylogo 位图作为徽标:

 Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm

更改欢迎消息

缺省情况下,登录服务器在登录屏幕上显示格式欢迎主机名消息。要更改这个消息:

    设置 Xresources 中的 Dtlogin*greeting*labelString资源。

labelString 资源的值可以包含 %LocalHost% (将由登录服务器主机名取代),还包含 %DisplayName% (将由 X 服务器显示器名取代)。

下面的实例将欢迎消息更改为“这里是主机名!”:

Dtlogin*greeting*labelString: 这里是 %LocalHost% !

输入用户名后,登录服务器缺省显示信息欢迎用户名的消息。可以通过设置 Xresources 中的 Dtlogin*greeting*persLabelString 资源来更改此消息。persLabelString 的值可以包含 %s (将由用户名取代)。

下面的实例将个人专用欢迎消息更改为:您好,用户名

Dtlogin*greeting*persLabelString: 您好,%s 

更改字体

可以通过设置 Xresources 中的下列的字体资源之一,更改登录屏幕上使用的字体:

Dtlogin*greeting*fontList—欢迎消息的字体

Dtlogin*labelFont—按钮和标号的字体

Dtlogin*textFont—帮助及错误消息的字体

要列出可用的字体,请键入:

xlsfonts [-options] [-fn pattern]

下面的实例中欢迎消息使用了大字体 (指定的值必须位于同一行中):

 Dtlogin*greeting*fontList: -dt-interface \
 system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:

为每种语言提供显示的替代文本

要在登录屏幕“语言”菜单上显示每个语言环境文本而不是缺省显示语言环境名,请在 Xresources 中修改 Dtlogin*language*languageName 资源名的资源:

Dtlogin*En_US*languageName: American

现在,将显示文本 American,而不显示语言环境名 En_US

更改登录屏幕性能

要定制登录屏幕性能,可以修改 Xconfig 文件中指定的资源。

要修改 Xconfig,需将 Xconfig/usr/dt/config 复制到 /etc/dt/config 中。修改 /etc/dt/config/Xconfig 之后, 键入下面的内容,以告知登录服务器重新读取 Xconfig

/usr/dt/bin/dtconfig -reset

(这样就发出以下命令:kill -HUP login server process ID)

Xconfig 文件中指定的资源包括:

Dtlogin*authorizeXaccess 文件说明

Dtlogin*environment—X 服务器环境

Dtlogin*language—缺省语言

Dtlogin*languageList—登录屏幕“语言”菜单的语言列表

Dtlogin*resourcesXresources 规范

Dtlogin*setupXsetup 文件规范

Dtlogin*startupXstartup 文件规范

Dtlogin*sessionXsession 文件规范

Dtlogin*failsafeClientXfailsafe 脚本规范

Dtlogin*resetXreset 脚本规范

Dtlogin*userPathXsessionXfailsafe 的 PATH

Dtlogin*systemPathXsetupXstartupXfailsafe 的 PATH

Dtlogin*systemShellXsetupXstartupXfailsafe 的 SHELL

Dtlogin.timeZone—所有脚本的“时区”

更改每个显示器的登录屏幕性能

在下面的例子中,更改 Xconfig 资源就会更改所有显示器登录屏幕的性能。列出的带 * (星号) 的资源可以基于每个显示器来指定。这样就能够为某些显示器指定定制的登录屏幕性能。要为特定显示器指定资源,需将该资源指定为 Dtlogin*displayName*resource。例如,如果要为显示器 expo:0 关闭基于用户的访问控制,又要为其他显示器保留访问控制,应指定:

 Dtlogin*expo_0*authorize: False

注意:

显示器名中的任何特殊字符,例如 : (冒号) 或 . (句号),都被替换为 _ (下划线)。


更改 X 服务器访问

在缺省情况下,登录服务器允许基于每个用户的 X 服务器访问控制,并且以在 HomeDirectory /.Xauthority 文件中存储并受保护的授权数据为根据。只允许可读取该文件的用户连接 X 服务器。一般来说,这是 X 服务器访问控制的首选方法。

基于用户的访问控制的一种替代方法是基于主机的访问控制。使用这种方法时,如果授权主机对 X 服务器进行访问, 那么该主机上的任何用户均可以连接 X 服务器。使用基于主机的控制的原因如下:

更改 X 服务器环境

在 X 服务器被登录服务器启动时,如果想为 X 服务器提供一个或多个环境变量和值,可以使用 Xconfig 中的 Dtlogin*environment 资源来指定它们。例如:

Dtlogin*environment: VAR1=foo VAR2=bar

将使变量 VAR1VAR2 可用于本地 X 服务器进程。这些变量还将被输出到 XsessionXfailsafe 脚本中。

更改缺省语言

当用户从登录屏幕登录到桌面时,用户会话在从“选项”菜单的“语言”子菜单中选择的语言环境下运行。如果用户未选择语言,则使用登录服务器的缺省语言。可以通过设置在 Xconfig 中的 Dtlogin*language 资源来控制缺省语言的值。例如:

Dtlogin*language: Ja_JP

检查系统文档以决定在系统中安装的语言。

更改登录服务器语言菜单的内容

在缺省情况下,登录服务器创建包含安装在系统上的所有语言环境的列表的登录屏幕“语言”菜单。用户从登录屏幕语言列表中选择语言环境后,登录服务器将以选定的语言环境重新显示登录屏幕。当用户随后登录时,登录服务器将为该语言环境的用户启动桌面会话。

可以通过修改在 Xconfig 中的 Dtlogin*languageList资源来指定自己的语言列表:

 Dtlogin*languageList: En_US De_DE

此时,登录服务器在登录屏幕“语言”菜单中只显示 En_USDe_DE

在登录屏幕出现之前发出命令

启动 X 服务器但登录屏幕尚未出现时,登录服务器运行 Xsetup 脚本。Xsetup 以超级用户的权限运行并发出需要在登录屏幕显示之前运行的命令。

修改 Xsetup,需将 Xsetup/usr/dt/config 复制到 /etc/dt/config 中。下一次显示登录屏幕时,将运行修改过的 Xsetup

启动用户会话之前发出命令

从用户输入了用户名和口令并且它们已通过认证之后到启动用户会话之前,登录服务器运行 Xstartup 脚本。Xstartup 以超级用户的权限运行并发出需要在用户会话启动之前作为超级用户来运行的命令。

修改 Xstartup,需将 Xstartup/usr/dt/config 复制到 /etc/dt/config 中。用户下一次登录时,将运行修改过的 Xstartup

启动桌面会话

在缺省情况下,登录服务器通过运行 Xsession 脚本来启动用户会话。Xsession 以用户的权限运行并发出启动桌面所需要的命令。


注意:

禁止直接更新 Xsession 脚本。


有关如何定制用户桌面会话的启动,请参阅第 2 章,配置会话管理器

启动失败安全过程

如果用户从登录屏幕“选项”菜单的“会话”子菜单中选择“失败安全过程”,则登录服务器运行 Xfailsafe脚本。Xfailsafe 以用户的权限运行并发出启动最小的开窗口环境 (通常是“终端”窗口和可选的窗口管理器) 所需要的命令。

修改 Xfailsafe,需将 Xfailsafe/usr/dt/config 复制到 /etc/dt/config 中。用户下一次登录时,将运行修改过的 Xfailsafe

用户会话结束后

用户退出桌面或失败安全会话之后,登录服务器运行 Xreset 脚本。Xreset 以超级用户权限运行并发出需要在用户的会话结束之后作为超级用户来运行的命令。

要修改 Xreset,需将 Xreset/usr/dt/config 复制到 /etc/dt/config 中。用户下一次登录时,将运行修改过的 Xreset

登录服务器环境

登录服务器提供一个输出到 XsetupXstartupXsessionXfailsafeXreset 脚本的环境。此环境在表 1–1中讲述。其他它变量也可由登录服务器输出。

表 1–1 登录服务器环境

环境 

变量 

Xsetup

Xstartup

Xsession

Xreset

说明 

LANG

缺省或选定的语言 

XAUTHORITY

供替换的 X 权限文件 (可选)  

PATH

Dtlogin*userPath资源 (XsessionXfailsafe) 或Dtlogin*systemPath资源 (XsetupXstartupXreset) 的值

DISPLAY

X 服务器连接编号  

SHELL

/etc/passwd (XsessionXfailsafe) 或 Dtlogin*systemShell 资源 (XsetupXstartupXreset) 中指定的 shell

TZ

Dtlogin.timeZone 资源的或从系统中决定的时区值

USER

 

用户名 

HOME

 

/etc/passwd 中指定的起始目录

LOGNAME

 

用户名 

更改用户或系统路径

登录服务器在运行 XsessionXfailsafe 脚本时设置 PATH 环境变量。可以为这些脚本提供替代路径。

更改用户路径

    设置 Xconfig 中的 Dtlogin*userPath 资源。例如:

 	Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11

更改系统路径

    设置 Xconfig 中的 Dtlogin*systemPath 资源。例如:

	Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb

更改系统 shell

登录服务器在运行 XsetupXstartupXfailsafe 脚本时设置 SHELL 环境变量。缺省值为 /bin/sh。如果要为这些脚本提供替代 shell,可以设置 Xconfig 中的 Dtlogin*systemShell 资源。例如:

Dtlogin*systemShell: /bin/ksh

更改时区

登录服务器在运行 XsetupXstartupXsessionXfailsafeXreset 时设置 TZ (时区) 环境变量。缺省值来自系统,所以通常不需要更改此性能。要为这些脚本提供替代时区,需设置 Xconfig 中的 Dtlogin.timeZone 资源。例如:

Dtlogin.timeZone: CST6CDT