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的替代文本

更改徽标

    Dtlogin*logo*bitmapFile资源放置在Xresources中。

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

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

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

更改前言信息

在缺省情况下,登录服务器在登录屏幕上显示信息前言主机名。要更改这个信息:

    Dtlogin*greeting*labelString资源放置在Xresources中。

labelString资源的值可以包含%LocalHost%,它将被登录服务器主机名替换, 还包含 %DisplayName%, 它将被 X 服务器显示器名替换。

下面的示例将欢迎信息更改为这里是主机名

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

输入用户名后,登录服务器缺省显示信息前言用户名。将Dtlogin*greeting*persLabelString 资源放置在Xresources中,便可以更改该信息。persLabelString 的值可以 包含%s,它将被用户名替换。

下面的示例将个人化前言信息更改为您好用户名

Dtlogin*greeting*persLabelString: 您好%s

更改字体

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

Dtlogin*greeting*fontList-前言信息的字体

Dtlogin*labelFont-按钮和标签的字体

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

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

xlsfonts [-options] 
[-fnpattern]

下面的示例中前言信息使用了大字体(指定的值必须包含在同一行中):

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登录服务器进程 ID)

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

Dtlogin*authorize-Xaccess 文件说明

Dtlogin*environment-X 服务器环境

Dtlogin*language-缺省语言

Dtlogin*languageList-登录屏幕"语言"菜单的语言列表

Dtlogin*resources-Xresources 说明

Dtlogin*setup-Xsetup 文件说明

Dtlogin*startup-Xstartup 文件说明

Dtlogin*session-Xsession 文件说明

Dtlogin*failsafeClient-Xfailsafe 正文说明

Dtlogin*reset-Xreset 正文说明

Dtlogin*userPath-XsessionXfailsafe 的 PATH

Dtlogin*systemPath-XsetupXstartupXfailsafe 的 PATH

Dtlogin*systemShell-XsetupXstartupXfailsafe

的 SHELLDtlogin.timeZone-所有正文的 TZ

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

在下面的例子中,更改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正文中。

更改缺省语言

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

Dtlogin*language: Ja_JP

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

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

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

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

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 环境变量。可以为这些正文提供替代路径。

更改用户路径

    Dtlogin*userPath资源放置在Xconfig 中。例如:

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

更改系统路径

    Dtlogin*systemPath资源放置在Xconfig中。例如:

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

更改系统 shell

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

Dtlogin*systemShell: /bin/ksh

更改时区

登录服务器在运行XsetupXstartupXsessionXfailsafeXreset时 设置 TZ 环境变量。缺省值是从系统中派生而来的,所以通常不需要更改该特性。要为这些正文提供替代时区,需设置Dtlogin.timeZone资源, 它在Xconfig中。例如:

Dtlogin.timeZone: CST6CDT