Difference between revisions of "XDM (简体中文)"

From ArchWiki
Jump to: navigation, search
(simplification and beautification of wikilinks (interactive))
(Tag: wiki-scripts)
(Update translation.)
 
Line 6: Line 6:
 
[[ru:XDM]]
 
[[ru:XDM]]
 
{{Related articles start (简体中文)}}
 
{{Related articles start (简体中文)}}
{{Related|Display Manager}}
+
{{Related|Display Manager (简体中文)}}
 
{{Related articles end}}
 
{{Related articles end}}
 
+
摘自 [http://www.xfree86.org/current/xdm.1.html XDM 手册页]:
{{Translateme (简体中文)|}}
 
来自 [http://www.xfree86.org/current/xdm.1.html XDM 手册页]:
 
  
 
:''Xdm 能为本地和远程服务器提供一系列图形显示功能。xdm的设计满足图形显示的基本要求并遵循开放组织标准(XDMCPX Display Manager Control Protocol),即X显示管理协议。Xdm提供的功能与init, getty等以文本登录为主的程序相似:提供登录会话,获取用户名和密码,并将授权给予登录用户并提供工作会话。''
 
:''Xdm 能为本地和远程服务器提供一系列图形显示功能。xdm的设计满足图形显示的基本要求并遵循开放组织标准(XDMCPX Display Manager Control Protocol),即X显示管理协议。Xdm提供的功能与init, getty等以文本登录为主的程序相似:提供登录会话,获取用户名和密码,并将授权给予登录用户并提供工作会话。''
Line 18: Line 16:
 
==安装==
 
==安装==
  
安装 XDM:
+
安装软件包 {{Pkg|xorg-xdm}} 然后 [[enable|启用]] {{ic|xdm.service}} 服务。
  
{{bc|# pacman -S xorg-xdm xorg-xconsole}}
+
要使用 Arch Linux XDM 主题,可以安装软件包 {{Pkg|xdm-archlinux}},然后'''不启用''' {{ic|xdm.service}},而是启用 {{ic|xdm-archlinux.service}}
  
更改 .xsession 为可执行文件:
+
== 配置 ==
  
{{bc|$ chmod 744 .xsession}}
+
=== 定义会话 ===
  
除此之外, 你可以为XDM安装Arch Linux 主题(可选):
+
和 [GDM]] 或 [[LightDM]] 等大部分 [[display manager|显示管理器]] 不同,XDM 不会从 {{ic|/usr/share/xsessions}} 目录中的 .desktop 文件读取会话。XDM 没有会话菜单。XDM 会执行账号主目录下的 {{ic|.xsession}} 文件。
  
{{bc|# pacman -S xdm-archlinux}}
+
例如要启动 xface,{{ic|~/.xsession}} 应该是:
 +
 +
startxfce4
  
参看 [[Display manager]] 以获取详细信息。
+
请确保 {{ic|.xsession}} 文件可执行:
  
==设置墙纸==
+
$ chmod 700 ~/.xsession
  
这里有些小贴士能让 [[XDM]] 变得美观些:
+
=== 主题 ===
  
* 安装 Quick Image Viewer:
+
详情请参考 xdm 手册,默认的配置文件位于 {{ic|/etc/X11/xdm/Xresources}},{{Pkg|xdm-archlinux}} 主题的配置文件位于 {{ic|/etc/X11/xdm/archlinux/Xresources}}
{{bc|# pacman -S qiv}}
 
  
 +
==== 壁纸 ====
 +
 +
可以使用 {{Pkg|qiv}} 设置 XDM 的壁纸:
 +
 +
* 安装 {{Pkg|qiv}}
 
* 创建一个文件夹用于存放图片。 (例如 {{ic|/root/backgrounds}} 或者 {{ic|/usr/local/share/backgrounds}})
 
* 创建一个文件夹用于存放图片。 (例如 {{ic|/root/backgrounds}} 或者 {{ic|/usr/local/share/backgrounds}})
 +
* 把图片放进文件夹
  
* 把图片放进文件夹。如果你没有适合的墙纸可以看看[http://www.digitalblasphemy.com/ www.digitablasphemy.com]。
+
* 编辑 {{ic|/etc/X11/xdm/Xsetup_0}}. 将 {{ic|xconsole}} 修改为:
 +
  /usr/bin/qiv -zr /root/backgrounds/*
  
* 编辑 {{ic|/etc/X11/xdm/Xsetup_0}}. 改变 {{ic|xconsole}} 命令为:
+
==== 字体 ====
  /usr/bin/qiv -zr /root/backgrounds/*
 
  
* 编辑 {{ic|/etc/X11/xdm/Xresources}}. 添加/替换 下面字段:
+
编辑 {{ic|/etc/X11/xdm/Xresources}}. 添加/替换 下面字段:
 
   xlogin'''greetFont:  -adobe-helvetica-bold-o-normal--20-'''-'''-'''-'''-'''-iso8859-1
 
   xlogin'''greetFont:  -adobe-helvetica-bold-o-normal--20-'''-'''-'''-'''-'''-iso8859-1
 
   xlogin'''font:      -adobe-helvetica-medium-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
 
   xlogin'''font:      -adobe-helvetica-medium-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
 
   xlogin'''promptFont: -adobe-helvetica-bold-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
 
   xlogin'''promptFont: -adobe-helvetica-bold-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
 
   xlogin'''failFont:  -adobe-helvetica-bold-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
 
   xlogin'''failFont:  -adobe-helvetica-bold-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
 +
 +
==== 登录对话框位置 ====
 
   xlogin*frameWidth: 1
 
   xlogin*frameWidth: 1
 
   xlogin*innerFramesWidth: 1
 
   xlogin*innerFramesWidth: 1
 
   xlogin*logoPadding: 0
 
   xlogin*logoPadding: 0
 
   xlogin*geometry:    300x175-0-0
 
   xlogin*geometry:    300x175-0-0
 +
 +
==== 删除徽标 ====
 
注释掉以下字段:
 
注释掉以下字段:
 
   #xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/xorg.xpm
 
   #xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/xorg.xpm
 
   #xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/xorg-bw.xpm
 
   #xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/xorg-bw.xpm
  
如想了解各字段的确切意义,可查阅xdm的手册页。
+
=== X 会话和登录 ===
 
 
* 更新 {{ic|/etc/pacman.conf}} 以确保所作的更改不会丢失:
 
  ~NoUpgrade  = etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xresources
 
 
 
以上的处理能让登录界面随机显示文件夹里地墙纸,并且登录会话在屏幕的右下方显示。
 
 
 
==Multiple X sessions & Login in the window==
 
 
 
With the [[XDMCP]] enable, you can easily run multiple X sessions simultaneously on the same machine.
 
{{bc|# X -query ip_xdmcp_server :2 }}
 
 
 
This will launch the second session, in window you need {{Pkg|xorg-server-xephyr}}
 
{{bc|# Xephyr -query this_machine_ip :2 }}
 
 
 
==Troubleshooting==
 
 
 
===XDM loops back to itself after login===
 
 
 
The current version of the {{Pkg|xorg-xdm}} package, available in the [[Official repositories]] is patched to register sessions with [[ConsoleKit]] by default. 
 
 
 
When using pure systemd with logind, instead of consolekit which is now deprecated, systemd will start dbus automatically.  To use xdm use {{bc|# systemctl enable xdm.service}} or {{bc|# systemctl enable xdm-archlinux.service}}
 
 
 
Also, make sure that you are actually starting your window manager, for example with the command {{ic|xmonad}} in {{ic|~/.xsession}}, and that {{ic|~/.xsession}} has the correct permissions of {{ic|774}}.
 
  
===XDM does not update login records===
+
启用 [[XDMCP]] 后,可以在同一个机器上运行多个 X 会话:
 +
# X -query ip_xdmcp_server :2
  
The vanilla config of XDM calls {{ic|/etc/X11/xdm/GiveConsolve}} for the startup of display :0, whereas otherwise it calls {{ic|/etc/X11/xdm/Xstartup}}. Since only the latter contains a call to {{ic|/usr/bin/sessreg}}, the login record {{ic|/var/run/utmp}} is not updated for a login on display :0. As a consequence, the output of {{ic|who}} does not necessarily list the user after login through XDM. This was already discussed in the bug report {{Bug|26395}}.
+
这将启动第二个会话,在窗口中需要 {{Pkg|xorg-server-xephyr}}
 +
# Xephyr -query this_machine_ip :2
  
As a simple fix, append the following line to {{ic|/etc/X11/xdm/GiveConsole}}:
+
=== 无密码登录 ===
exec /usr/bin/sessreg -a -w /var/log/wtmp -u /var/run/utmp -x /etc/X11/xdm/Xservers -l $DISPLAY -h "" $USER
 
  
This change also enables the {{ic|getuser}} function presented in [[Acpid#Getting_user_name_of_the_current_display|Acpid]] to work.
+
要启用 XDM 无密码登录,将下面内容加入 {{ic|/etc/X11/xdm/Xresources}}:
 +
xlogin*allowNullPasswd: true

Latest revision as of 07:08, 9 May 2018

摘自 XDM 手册页:

Xdm 能为本地和远程服务器提供一系列图形显示功能。xdm的设计满足图形显示的基本要求并遵循开放组织标准(XDMCPX Display Manager Control Protocol),即X显示管理协议。Xdm提供的功能与init, getty等以文本登录为主的程序相似:提供登录会话,获取用户名和密码,并将授权给予登录用户并提供工作会话。

XDM 提供了一个简单而又直观的图形登录界面。

安装

安装软件包 xorg-xdm 然后 启用 xdm.service 服务。

要使用 Arch Linux XDM 主题,可以安装软件包 xdm-archlinux,然后不启用 xdm.service,而是启用 xdm-archlinux.service

配置

定义会话

和 [GDM]] 或 LightDM 等大部分 显示管理器 不同,XDM 不会从 /usr/share/xsessions 目录中的 .desktop 文件读取会话。XDM 没有会话菜单。XDM 会执行账号主目录下的 .xsession 文件。

例如要启动 xface,~/.xsession 应该是:

startxfce4

请确保 .xsession 文件可执行:

$ chmod 700 ~/.xsession

主题

详情请参考 xdm 手册,默认的配置文件位于 /etc/X11/xdm/Xresources,xdm-archlinux 主题的配置文件位于 /etc/X11/xdm/archlinux/Xresources

壁纸

可以使用 qiv 设置 XDM 的壁纸:

  • 安装 qiv
  • 创建一个文件夹用于存放图片。 (例如 /root/backgrounds 或者 /usr/local/share/backgrounds)
  • 把图片放进文件夹
  • 编辑 /etc/X11/xdm/Xsetup_0. 将 xconsole 修改为:
 /usr/bin/qiv -zr /root/backgrounds/*

字体

编辑 /etc/X11/xdm/Xresources. 添加/替换 下面字段:

 xlogingreetFont:  -adobe-helvetica-bold-o-normal--20------iso8859-1
 xloginfont:       -adobe-helvetica-medium-r-normal--14------iso8859-1
 xloginpromptFont: -adobe-helvetica-bold-r-normal--14------iso8859-1
 xloginfailFont:   -adobe-helvetica-bold-r-normal--14------iso8859-1

登录对话框位置

 xlogin*frameWidth: 1
 xlogin*innerFramesWidth: 1
 xlogin*logoPadding: 0
 xlogin*geometry:    300x175-0-0

删除徽标

注释掉以下字段:

 #xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/xorg.xpm
 #xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/xorg-bw.xpm

多 X 会话和登录

启用 XDMCP 后,可以在同一个机器上运行多个 X 会话:

# X -query ip_xdmcp_server :2

这将启动第二个会话,在窗口中需要 xorg-server-xephyr

# Xephyr -query this_machine_ip :2

无密码登录

要启用 XDM 无密码登录,将下面内容加入 /etc/X11/xdm/Xresources:

xlogin*allowNullPasswd: true