第 7 章。 X Window 系统

目录

7.1. 关键软件包
7.2. 设置桌面环境
7.2.1. Debian 菜单
7.2.2. Freedesktop.org 菜单
7.2.3. GNOME 桌面环境下的 Debian 菜单
7.3. 服务器/客户端关系
7.4. X 服务器
7.4.1. X 服务器的(重新)配置
7.4.2. 连接到 X 服务器的方法
7.5. 启动 X Window 系统
7.5.1. 使用 gdm3 启动 X 会话
7.5.2. 自定义 X 会话(经典方法)
7.5.3. 自定义 X 会话(新方法)
7.5.4. 通过 SSH 连接远程 X 客户端
7.5.5. 通过互联网的安全 X 终端
7.6. X Window 中的字体
7.6.1. 基本字体
7.6.2. 附加字体
7.6.3. CJK 字体
7.7. X 应用程序
7.7.1. X 办公应用程序
7.7.2. X 实用程序
7.8. X 琐事
7.8.1. X 中的键盘映射和指针按钮映射
7.8.2. 经典 X 客户端
7.8.3. X 终端仿真器 — xterm
7.8.4. 以 root 身份运行 X 客户端

Debian 系统上的 X Window 系统 基于 X.Org 的源代码。截至 2009 年 7 月,它们是 X11R7.1(etch)、X11R7.3(lenny)、X11R7.3(squeeze) 和 X11R7.4(sid)。

7.1. 关键软件包

提供了一些(元)软件包以简化安装。

表 7.1. X Window 的关键(元)软件包列表

(元)软件包 popcon 大小 描述
xorg http://qa.debian.org/popcon.php?package=xorg 78 X 库、X 服务器、一组字体以及一组基本的 X 客户端和实用程序(元软件包)
xserver-xorg http://qa.debian.org/popcon.php?package=xserver-xorg 364 X 服务器及其配置的完整套件
xbase-clients http://qa.debian.org/popcon.php?package=xbase-clients 61 X 客户端的各种组合
x11-common http://qa.debian.org/popcon.php?package=x11-common 465 X Window 系统的文件系统基础设施
xorg-docs http://qa.debian.org/popcon.php?package=xorg-docs 2056 X.Org 软件套件的各种文档
menu http://qa.debian.org/popcon.php?package=menu 1757 为所有支持菜单的应用程序生成 Debian 菜单
gksu http://qa.debian.org/popcon.php?package=gksu 207 Gtk+ 前端,用于 su(1)sudo(8)
menu-xdg http://qa.debian.org/popcon.php?package=menu-xdg 76 将 Debian 菜单结构转换为 freedesktop.org xdg 菜单结构
xdg-utils http://qa.debian.org/popcon.php?package=xdg-utils 300 集成 freedesktop.org 提供的桌面环境的实用程序
gnome-desktop-environment http://qa.debian.org/popcon.php?package=gnome-desktop-environment 42 标准 GNOME 桌面环境(元软件包)
kde-standard http://qa.debian.org/popcon.php?package=kde-standard 34 核心 KDE 桌面环境(元软件包)
xfce4 http://qa.debian.org/popcon.php?package=xfce4 40 Xfce 轻量级桌面环境(元软件包)
lxde-core http://qa.debian.org/popcon.php?package=lxde-core 26 LXDE 轻量级桌面环境(元软件包)
fluxbox http://qa.debian.org/popcon.php?package=fluxbox 4387 Fluxbox:高度可配置且低资源的 X 窗口管理器 的软件包

有关 X 的基础知识,请参阅 X(7)LDP XWindow-User-HOWTO

7.2. 设置桌面环境

桌面环境 通常是 X 窗口管理器、文件管理器和一套兼容的实用程序程序的组合。

您可以从 aptitude 的任务菜单下设置完整的 桌面环境,例如 GNOMEKDEXfceLXDE

[Tip] 提示

在 Debian unstable/testing 环境下,任务菜单可能与最新的软件包转换状态不同步。在这种情况下,您需要取消选择 aptitude(8) 任务菜单下列出的一些(元)软件包,以避免软件包冲突。取消选择(元)软件包时,您必须手动选择提供其依赖项的某些软件包,以避免它们被自动删除。

您也可以手动设置一个简单的环境,仅使用 X 窗口管理器,例如 Fluxbox

有关 X 窗口管理器和桌面环境的指南,请参阅 X 窗口管理器

7.2.1. Debian 菜单

Debian 菜单系统 使用 menu 软件包中的 update-menus(1) 为面向文本和 X 的程序提供通用接口。每个软件包将其菜单数据安装在“/usr/share/menu/”目录中。请参阅“/usr/share/menu/README”。

7.2.2. Freedesktop.org 菜单

每个符合 Freedesktop.org 的 xdg 菜单系统的软件包都将其菜单数据安装在“/usr/share/applications/”下的“*.desktop”中。符合 Freedesktop.org 标准的现代桌面环境使用这些数据,并使用 xdg-utils 软件包生成其菜单。请参阅“/usr/share/doc/xdg-utils/README”。

7.2.3. GNOME 桌面环境下的 Debian 菜单

为了在 GNOME 桌面环境下访问传统的 Debian 菜单,您必须安装 menu-xdg 软件包,点击“系统”→“首选项”→“主菜单”,然后选中“Debian”框。

[Tip] 提示

您可能需要为其他符合 Freedesktop.org 标准的现代桌面环境执行类似操作。

7.3. 服务器/客户端关系

X Window 系统作为服务器和客户端程序的组合而被激活。这里需要注意 服务器客户端 这两个词相对于 本地远程 这两个词的含义。

表 7.2. 服务器/客户端术语列表

类型 描述
X 服务器 在连接到用户显示器和输入设备的 本地主机 上运行的程序。
X 客户端 远程主机 上运行的程序,用于处理数据并与 X 服务器通信。
应用服务器 远程主机 上运行的程序,用于处理数据并与客户端通信。
应用程序客户端 在连接到用户显示器和输入设备的 本地主机 上运行的程序。

7.4. X 服务器

有关 X 服务器信息,请参阅 xorg(1)

7.4.1. X 服务器的(重新)配置

[Note] 注意

X 服务器(post-lenny)被重写为使用来自标准化操作系统服务(如 HALD-bus)的更多信息进行配置,而不是来自“/etc/X11/xorg.conf”的信息。因此,“/etc/X11/xorg.conf”中的内容越来越少。您可能需要解决 X 服务器的过渡性问题

以下命令通过使用 dexconf(1) 生成新的“/etc/X11/xorg.conf”文件来(重新)配置 X 服务器。

# dpkg-reconfigure --priority=low x11-common
# dpkg-reconfigure --priority=low xserver-xorg

如果您手动编辑了此“/etc/X11/xorg.conf”文件,但希望再次自动更新它,请运行以下命令。

# sudo dpkg-reconfigure -phigh xserver-xorg

请仔细检查您的 X 配置,以了解您的显示器规格。对于大型高分辨率 CRT 显示器,最好将刷新率设置为显示器可以处理的最高值(85 Hz 非常好,75 Hz 还可以),以减少闪烁。对于 LCD 显示器,由于其响应速度较慢,较慢的标准刷新率 (60Hz) 通常就足够了。

[Note] 注意

请注意不要使用过高的刷新率,这可能会导致显示器系统的致命硬件故障。

7.4.2. 连接到 X 服务器的方法

有几种方法可以使“X 服务器”(显示 端)接受来自“X 客户端”(应用程序 端)的连接。

表 7.3. 连接到 X 服务器的方法列表

方法 软件包 popcon 大小 用户 加密 相关用途
xhost 命令 xbase-clients http://qa.debian.org/popcon.php?package=xbase-clients 61 未检查 已弃用
xauth 命令 xbase-clients http://qa.debian.org/popcon.php?package=xbase-clients 61 已检查 通过管道的本地连接
ssh -X 命令 openssh-client http://qa.debian.org/popcon.php?package=openssh-client 2246 已检查 远程网络连接
GNOME 显示管理器 gdm3 http://qa.debian.org/popcon.php?package=gdm3 5899 已检查 否 (XDMCP) 通过管道的本地连接
KDE 显示管理器 kdm http://qa.debian.org/popcon.php?package=kdm 3746 已检查 否 (XDMCP) 通过管道的本地连接
X 显示管理器 xdm http://qa.debian.org/popcon.php?package=xdm 725 已检查 否 (XDMCP) 通过管道的本地连接
WindowMaker 显示管理器 wdm http://qa.debian.org/popcon.php?package=wdm 1825 已检查 否 (XDMCP) 通过管道的本地连接
LTSP 显示管理器 ldm http://qa.debian.org/popcon.php?package=ldm 576 已检查 远程 SSH 网络连接(瘦客户端)

[Warning] 警告

除非您有非常好的理由(例如使用加密),否则不要在 不安全 的网络上使用远程 TCP/IP 连接进行 X 连接。未经加密的远程 TCP/IP 套接字连接容易受到 窃听攻击,并且在 Debian 系统上默认禁用。请使用“ssh -X”。

[Warning] 警告

也不要在 不安全 的网络上使用 XDMCP 连接。它通过未经加密的 UDP/IP 发送数据,并且容易受到 窃听攻击

[Tip] 提示

LTSP 代表 Linux 终端服务器项目

7.5. 启动 X Window 系统

X Window 系统通常作为 X 会话 启动,它是 X 服务器和连接的 X 客户端的组合。对于普通桌面系统,它们都在工作站上执行。

X 会话 通过以下方式启动。

  • 从命令行启动的 startx 命令

  • 从“/etc/rc?.d/”目录(“?”对应于运行级别)的启动脚本末尾启动的 X 显示管理器 守护程序 *dm 程序之一

[Tip] 提示

显示管理器守护程序的启动脚本在实际执行自身之前,会检查“/etc/X11/default-display-manager”文件的内容。这确保只有一个 X 显示管理器 守护程序被激活。

[Tip] 提示

有关 X 显示管理器的初始环境变量,请参阅 第 8.3.5 节 “仅在 X Window 下的特定区域设置”

本质上,所有这些程序都执行“/etc/X11/Xsession”脚本。然后,“/etc/X11/Xsession”脚本执行类似 run-parts(8) 的操作,以执行“/etc/X11/Xsession.d/”目录中的脚本。这本质上是使用 exec 内置命令执行在以下顺序中找到的第一个程序。

  1. X 显示管理器指定的作为“/etc/X11/Xsession”参数的脚本(如果已定义)。

  2. ~/.xsession”或“~/.Xsession”脚本(如果已定义)。

  3. /usr/bin/x-session-manager”命令(如果已定义)。

  4. /usr/bin/x-window-manager”命令(如果已定义)。

  5. /usr/bin/x-terminal-emulator”命令(如果已定义)。

此过程受“/etc/X11/Xsession.options”内容的影响。这些“/usr/bin/x-*”命令指向的确切程序由 Debian 替代系统确定,并通过“update-alternatives --config x-session-manager”等命令更改。

7.5.1. 使用 gdm3 启动 X 会话

gdm3(1) 允许您从其菜单中选择 X 会话的会话类型(或桌面环境:第 7.2 节 “设置桌面环境”)和语言(或区域设置:第 8.3 节 “区域设置”)。它将选定的默认值保留在“~/.dmrc”中,如下所示。

[Desktop]
Session=default
Language=ja_JP.UTF-8

7.5.2. 自定义 X 会话(经典方法)

在“/etc/X11/Xsession.options”包含一行“allow-user-xsession”而没有前导“#”字符的系统上,任何定义了“~/.xsession”或“~/.Xsession”的用户都能够通过完全覆盖系统代码来自定义“/etc/X11/Xsession”的操作。“~/.xsession”文件中的最后一个命令应使用“exec some-window/session-manager”的形式来启动您喜欢的 X 窗口/会话管理器。

7.5.3. 自定义 X 会话(新方法)

以下是自定义 X 会话的新方法,无需像上面那样完全覆盖系统代码。

  • 显示管理器 gdm3 可以选择特定的会话,并将其设置为“/etc/X11/Xsession”的参数。

  • ~/.xsessionrc”文件作为启动过程的一部分执行。(独立于桌面)

  • ~/.gnomerc”文件作为启动过程的一部分执行。(仅限 GNOME 桌面)

  • 基于 GUI 程序的会话管理软件可能会使用“~/.gnome2/session”文件等。

7.5.4. 通过 SSH 连接远程 X 客户端

使用“ssh -X”可以实现从本地 X 服务器到远程应用服务器的安全连接。

如果您想避免使用“-X”命令行选项,请在远程主机的“/etc/ssh/sshd_config”中将“X11Forwarding”条目设置为“yes”。

在本地主机上启动 X 服务器。

在本地主机中打开一个 xterm

运行 ssh(1) 以建立与远程站点的连接,如下所示。

localname @ localhost $ ssh -q -X loginname@remotehost.domain
Password:

在远程站点上运行 X 应用程序命令,例如“gimp”,如下所示。

loginname @ remotehost $ gimp &

此方法可以显示来自远程 X 客户端的输出,就像它通过本地 UNIX 域套接字本地连接一样。

7.5.5. 通过互联网的安全 X 终端

通过互联网的安全 X 终端(显示远程运行的整个 X 桌面环境)可以通过使用专用软件包(如 ldm)轻松实现。您的本地计算机成为通过 SSH 连接到远程应用服务器的安全瘦客户端。

7.6. X Window 中的字体

Fontconfig 2.0 创建于 2002 年,旨在提供一个独立于发行版的库,用于配置和自定义字体访问。 squeeze 之后的 Debian 使用 Fontconfig 2.0 进行字体配置。

X Window 系统上的字体支持可以总结如下。

表 7.4. 支持 X Window 字体系统的软件包表

软件包 popcon 大小 描述
xfonts-utils http://qa.debian.org/popcon.php?package=xfonts-utils 430 X Window 系统字体实用程序
libxft2 http://qa.debian.org/popcon.php?package=libxft2 160 Xft,一个将 X 应用程序与 FreeType 字体栅格化库连接起来的库
libfreetype6 http://qa.debian.org/popcon.php?package=libfreetype6 835 FreeType 2.0 字体栅格化库
fontconfig http://qa.debian.org/popcon.php?package=fontconfig 432 Fontconfig,一个通用的字体配置库 — 支持二进制文件
fontconfig-config http://qa.debian.org/popcon.php?package=fontconfig-config 340 Fontconfig,一个通用的字体配置库 — 配置文件数据

您可以通过以下方式检查字体配置信息。

  • xset q”用于核心 X11 字体路径

  • fc-match”用于 fontconfig 字体默认值

  • fc-list”用于可用的 fontconfig 字体

[Tip] 提示

企鹅和 Unicode”是对现代 X Window 系统的良好概述。 http://unifont.org/ 上的其他文档应提供有关 Unicode 字体、启用 Unicode 的软件、国际化以及 自由/开源软件 (FLOSS) 操作系统上的 Unicode 可用性问题的良好信息。

7.6.1. 基本字体

有 2 种主要的 计算机字体 类型。

  • 位图字体(适用于低分辨率栅格化)

  • 轮廓/笔画字体(适用于高分辨率栅格化)

虽然位图字体的缩放会导致锯齿状图像,但轮廓/笔画字体的缩放会产生平滑的图像。

Debian 系统上的位图字体通常由压缩的 X11 pcf 位图字体文件 提供,其文件扩展名为“.pcf.gz”。

Debian 系统上的轮廓字体由以下内容提供。

  • PostScript Type 1 字体文件,其文件扩展名为“.pfb”(二进制字体文件)和“.afm”(字体度量文件)。

  • TrueType(或 OpenType)字体文件,通常其文件扩展名为“.ttf”。

[Tip] 提示

OpenType 旨在取代 TrueTypePostScript Type 1。

表 7.5. 相应的 PostScript Type 1 字体表

字体软件包 popcon 大小 无衬线字体 衬线字体 等宽字体 字体来源
PostScript N/A N/A Helvetica Times Courier Adobe
gsfonts http://qa.debian.org/popcon.php?package=gsfonts 4632 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L URW(Adobe 兼容尺寸)
gsfonts-x11 http://qa.debian.org/popcon.php?package=gsfonts-x11 68 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L 对 PostScript Type 1 字体的 X 字体支持。
t1-cyrillic http://qa.debian.org/popcon.php?package=t1-cyrillic 4984 Free Helvetian Free Times Free Courier URW extended(Adobe 兼容尺寸)
lmodern http://qa.debian.org/popcon.php?package=lmodern 42620 LMSans* LMRoman* LMTypewriter* 基于 Computer Modern(来自 TeX)的可缩放 PostScript 和 OpenType 字体

表 7.6. 相应的 TrueType 字体表

字体软件包 popcon 大小 无衬线字体 衬线字体 等宽字体 字体来源
ttf-mscorefonts-installer http://qa.debian.org/popcon.php?package=ttf-mscorefonts-installer 124 Arial Times New Roman Courier New Microsoft(Adobe 兼容尺寸)(这会安装非自由数据)
ttf-liberation http://qa.debian.org/popcon.php?package=ttf-liberation 47 Liberation Sans Liberation Serif Liberation Mono Liberation Fonts 项目(Microsoft 兼容尺寸)
ttf-freefont http://qa.debian.org/popcon.php?package=ttf-freefont 5076 FreeSans FreeSerif FreeMono GNU freefont(Microsoft 兼容尺寸)
ttf-dejavu http://qa.debian.org/popcon.php?package=ttf-dejavu 76 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVuBitstream Vera 带有 Unicode 覆盖
ttf-dejavu-core http://qa.debian.org/popcon.php?package=ttf-dejavu-core 2868 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVuBitstream Vera 带有 Unicode 覆盖(sans、sans-bold、serif、serif-bold、mono、mono-bold)
ttf-dejavu-extra http://qa.debian.org/popcon.php?package=ttf-dejavu-extra 6560 N/A N/A N/A DejaVuBitstream Vera 带有 Unicode 覆盖(oblique、italic、bold-oblique、bold-italic、condensed)
ttf-unifont http://qa.debian.org/popcon.php?package=ttf-unifont 16044 N/A N/A unifont GNU Unifont,带有 Unicode 5.1 基本多文种平面 (BMP) 中的所有可打印字符代码

[Tip] 提示

DejaVu 字体基于 Bitstream Vera 字体,并且是其超集。

7.6.2. 附加字体

aptitude(8) 帮助您轻松找到其他字体。

  • “任务”→“本地化”下的简短软件包列表

  • 使用 debtag 上的正则表达式过滤的字体数据平面软件包列表:“~Gmade-of::data:font

  • 使用软件包名称上的正则表达式过滤的 BDF(位图)字体软件包平面软件包列表:“~nxfonts-

  • 使用软件包名称上的正则表达式过滤的 TrueType(轮廓)字体软件包平面软件包列表:“~nttf-

由于 自由 字体有时受到限制,因此安装或共享一些商业 TrueType 字体是 Debian 用户的选择。为了使此过程对用户来说更容易,创建了一些方便的软件包。

  • ttf-mathematica4.1

  • ttf-mscorefonts-installer

您将获得真正好的 TrueType 字体选择,但代价是用非自由字体污染您的 自由 系统。

7.6.3. CJK 字体

以下是一些关注 CJK 字符 字体的要点。

表 7.7. CJK 字体名称中用于指示字体类型的关键词表

字体类型 日文字体名称 中文字体名称 韩文字体名称
无衬线 gothic, ゴチック hei, gothic dodum, gulim, gothic
衬线 mincho, 明朝 song, ming batang

字体名称(例如带有“P”的“VL PGothic”)是比例字体,它对应于固定宽度的“VL Gothic”字体。

例如,Shift_JIS 代码表包含 7070 个字符。它们可以分为以下几组。

  • JIS X 0201 单字节字符(191 个字符,也称为半角字符)

  • JIS X 0208 双字节字符(6879 个字符,也称为全角字符)

双字节字符在使用 CJK 等宽字体的控制台终端上占用双倍宽度。为了应对这种情况,文件扩展名为“.hbf”的 汉字位图字体 (HBF) 文件 可以用于包含单字节和双字节字符的字体。

为了节省 TrueType 字体文件的空间,可以使用文件扩展名为“.ttc”的 TrueType 字体集合文件。

为了覆盖字符的复杂代码空间,CID 键控 PostScript Type 1 字体与以“%!PS-Adobe-3.0 Resource-CMap”开头的 CMap 文件一起使用。这在普通的 X 显示中很少使用,但用于 PDF 渲染等(请参阅第 7.7.2 节 “X 实用程序”)。

[Tip] 提示

由于 汉字统一,某些 Unicode 代码点需要多个 字形。最令人恼火的问题之一是“U+3001 IDEOGRAPHIC COMMA”和“U+3002 IDEOGRAPHIC FULL STOP”,它们的字符位置在 CJK 国家/地区之间有所不同。使用“~/.fonts.conf”配置日文中心字体优先于中文字体应该会让日本人安心。

7.7. X 应用程序

7.7.1. X 办公应用程序

以下是基本办公应用程序的列表(OO 是 OpenOffice.org)。

表 7.8. 基本 X 办公应用程序列表

软件包 popcon 软件包大小 类型 描述
openoffice.org-writer http://qa.debian.org/popcon.php?package=openoffice.org-writer 164 OO 文字处理器
openoffice.org-calc http://qa.debian.org/popcon.php?package=openoffice.org-calc 164 OO 电子表格
openoffice.org-impress http://qa.debian.org/popcon.php?package=openoffice.org-impress 164 OO 演示文稿
openoffice.org-base http://qa.debian.org/popcon.php?package=openoffice.org-base 164 OO 数据库管理
openoffice.org-draw http://qa.debian.org/popcon.php?package=openoffice.org-draw 164 OO 矢量图形编辑器(绘图)
openoffice.org-math http://qa.debian.org/popcon.php?package=openoffice.org-math 164 OO 数学公式编辑器
abiword http://qa.debian.org/popcon.php?package=abiword 5754 GNOME 文字处理器
gnumeric http://qa.debian.org/popcon.php?package=gnumeric 7698 GNOME 电子表格
gimp http://qa.debian.org/popcon.php?package=gimp 15168 GTK 位图图形编辑器(绘图)
inkscape http://qa.debian.org/popcon.php?package=inkscape 80425 GNOME 矢量图形编辑器(绘图)
dia-gnome http://qa.debian.org/popcon.php?package=dia-gnome 617 GNOME 流程图和图表编辑器
planner http://qa.debian.org/popcon.php?package=planner 1146 GNOME 项目管理
kword http://qa.debian.org/popcon.php?package=kword NOT_FOUND KDE 文字处理器
kspread http://qa.debian.org/popcon.php?package=kspread NOT_FOUND KDE 电子表格
kpresenter http://qa.debian.org/popcon.php?package=kpresenter NOT_FOUND KDE 演示文稿
kexi http://qa.debian.org/popcon.php?package=kexi NOT_FOUND KDE 数据库管理
karbon http://qa.debian.org/popcon.php?package=karbon NOT_FOUND KDE 矢量图形编辑器(绘图)
krita http://qa.debian.org/popcon.php?package=krita NOT_FOUND KDE 位图图形编辑器(绘图)
kchart http://qa.debian.org/popcon.php?package=kchart NOT_FOUND KDE 图形和图表绘制程序
kformula http://qa.debian.org/popcon.php?package=kformula NOT_FOUND KDE 数学公式编辑器
kplato http://qa.debian.org/popcon.php?package=kplato NOT_FOUND KDE 项目管理

7.7.2. X 实用工具应用程序

这里列出了一些引起我注意的基本实用工具应用程序。


[Caution] 注意

要使 evinceokular 使用 Cmap 数据显示 CJK PDF 文档,需要安装 poppler-data 软件包(以前是非自由软件,请参阅章节 11.3.1, “Ghostscript”)(章节 7.6.3, “CJK fonts”)。

[Note] 注意

在 GNOME 桌面环境下安装 scribus (KDE) 等软件是可以接受的,因为在 GNOME 桌面环境下没有相应的功能。但是安装太多功能重复的软件包会使您的菜单变得混乱。

7.8. X 琐事

7.8.1. X 中的键盘映射和指针按钮映射

xmodmap(1) 是一个用于修改 X Window 系统中键盘映射和指针按钮映射的实用程序。要获取 keycode,请在 X 中运行 xev(1) 并按下按键。要获取 keysym 的含义,请查看 "/usr/include/X11/keysymdef.h" 文件(x11proto-core-dev 软件包)中的 MACRO 定义。此文件中的所有 "#define" 语句都命名为 "XK_" 前缀加上 keysym 名称。

7.8.2. 经典的 X 客户端

大多数传统的 X 客户端程序,例如 xterm(1),可以使用一组标准命令行选项启动,以指定几何形状、字体和显示。

它们还使用 X 资源数据库来配置其外观。X 资源的系统范围默认值存储在 "/etc/X11/Xresources/*" 中,而应用程序默认值存储在 "/etc/X11/app-defaults/*" 中。使用这些设置作为起点。

"~/.Xresources" 文件用于存储用户资源规范。此文件在登录时自动合并到默认的 X 资源中。要更改这些设置并使其立即生效,请使用以下命令将它们合并到数据库中。

$ xrdb -merge ~/.Xresources

请参阅 x(7)xrdb(1)

7.8.3. X 终端模拟器 — xterm

http://dickey.his.com/xterm/xterm.faq.html 了解关于 xterm(1) 的所有信息。

7.8.4. 以 root 身份运行 X 客户端

[Warning] 警告

永远不要在 root 帐户下启动 X 显示/会话管理器,方法是在显示管理器(如 gdm3)的提示符下键入 root,因为即使您计划执行管理活动,这也被认为是不安全的。如果以 root 身份运行,则整个 X 架构都被认为是不安全的。您必须始终使用尽可能最低的权限级别,例如普通用户帐户。

以 root 身份运行特定 X 客户端(例如 "foo")的简单方法是使用 sudo(8) 等,如下所示。

$ sudo foo &
$ sudo -s
# foo &
$ gksu foo &
$ ssh -X root@localhost
# foo &
[Caution] 注意

仅为此目的如上所述使用 ssh(1) 是资源浪费。

为了使 X 客户端连接到 X 服务器,请注意以下事项。

  • 旧用户的 "$XAUTHORITY" 和 "$DISPLAY" 环境变量的值必须复制到新用户的环境变量中。

  • "$XAUTHORITY" 环境变量的值指向的文件必须可供新用户读取。

gksu 软件包 (popcon: ) 是一个专门用于获取 root 权限的 GTK+ GUI 软件包。它可以配置为使用 su(1)sudo(8) 作为其后端,具体取决于 "/apps/gksu/sudo-mode" gconf 键。您可以使用 gconf-editor(1) 编辑 gconf 键(菜单:“应用程序” → “系统工具” → “配置编辑器”)。