UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

402 lines (252 loc) 17.9 kB
相关文章 * [Display manager](/index.php/Display_manager "Display manager") * [GDM](/index.php/GDM "GDM") * [LXDM](/index.php/LXDM "LXDM") **翻译状态:** 本文是英文页面 [Lightdm](/index.php/Lightdm "Lightdm") 的[翻译](/index.php/ArchWiki_Translation_Team_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "ArchWiki Translation Team (简体中文)"),最后翻译时间:2016-07-06,点击[这里](https://wiki.archlinux.org/index.php?title=Lightdm&diff=0&oldid=436210)可以查看翻译后英文页面的改动。 [LightDM](http://www.freedesktop.org/wiki/Software/LightDM) 是一个跨桌面环境的[显示管理器](/index.php/Display_manager_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "Display manager (简体中文)")。它的特点有: * 跨桌面 - 支持不同的桌面环境. * 支持多种显示技术(X, Wayland, ...). * 轻量级 - 低内存使用,高性能. * 支持定制会话. * 支持远程登录(XDMCP, VNC, XDMCP, 可插拔). * 完善的测试组件. * 低代码复杂度. 更多关于LightDM的特点可以在[这里](http://www.freedesktop.org/wiki/Software/LightDM/Design)找到。 ## Contents * [1 安装](#.E5.AE.89.E8.A3.85) * [1.1 Greeter](#Greeter) * [2 启用 LightDM](#.E5.90.AF.E7.94.A8_LightDM) * [3 命令行工具](#.E5.91.BD.E4.BB.A4.E8.A1.8C.E5.B7.A5.E5.85.B7) * [4 测试](#.E6.B5.8B.E8.AF.95) * [5 配置和调整](#.E9.85.8D.E7.BD.AE.E5.92.8C.E8.B0.83.E6.95.B4) * [5.1 更改背景图片/颜色](#.E6.9B.B4.E6.94.B9.E8.83.8C.E6.99.AF.E5.9B.BE.E7.89.87.2F.E9.A2.9C.E8.89.B2) * [5.1.1 GTK+ greeter](#GTK.2B_greeter) * [5.1.2 Webkit2 greeter](#Webkit2_greeter) * [5.1.3 Unity greeter](#Unity_greeter) * [5.1.4 KDE greeter](#KDE_greeter) * [5.2 改变你的头像](#.E6.94.B9.E5.8F.98.E4.BD.A0.E7.9A.84.E5.A4.B4.E5.83.8F) * [5.3 Arch 为中心的 64x64 图标来源](#Arch_.E4.B8.BA.E4.B8.AD.E5.BF.83.E7.9A.84_64x64_.E5.9B.BE.E6.A0.87.E6.9D.A5.E6.BA.90) * [5.4 启用自动登录](#.E5.90.AF.E7.94.A8.E8.87.AA.E5.8A.A8.E7.99.BB.E5.BD.95) * [5.5 启用无密码交互登录](#.E5.90.AF.E7.94.A8.E6.97.A0.E5.AF.86.E7.A0.81.E4.BA.A4.E4.BA.92.E7.99.BB.E5.BD.95) * [5.6 隐藏系统和服务用户](#.E9.9A.90.E8.97.8F.E7.B3.BB.E7.BB.9F.E5.92.8C.E6.9C.8D.E5.8A.A1.E7.94.A8.E6.88.B7) * [5.7 从 SLiM 迁移](#.E4.BB.8E_SLiM_.E8.BF.81.E7.A7.BB) * [5.8 默认打开小键盘](#.E9.BB.98.E8.AE.A4.E6.89.93.E5.BC.80.E5.B0.8F.E9.94.AE.E7.9B.98) * [5.9 Xfce4 下多用户切换](#Xfce4_.E4.B8.8B.E5.A4.9A.E7.94.A8.E6.88.B7.E5.88.87.E6.8D.A2) * [5.10 默认会话](#.E9.BB.98.E8.AE.A4.E4.BC.9A.E8.AF.9D) * [5.11 修改登录窗口的位置](#.E4.BF.AE.E6.94.B9.E7.99.BB.E5.BD.95.E7.AA.97.E5.8F.A3.E7.9A.84.E4.BD.8D.E7.BD.AE) * [5.11.1 GTK+ greeter](#GTK.2B_greeter_2) * [6 疑难问题](#.E7.96.91.E9.9A.BE.E9.97.AE.E9.A2.98) * [6.1 显示错误语言环境](#.E6.98.BE.E7.A4.BA.E9.94.99.E8.AF.AF.E8.AF.AD.E8.A8.80.E7.8E.AF.E5.A2.83) * [6.2 Xresources 未被正常解析](#Xresources_.E6.9C.AA.E8.A2.AB.E6.AD.A3.E5.B8.B8.E8.A7.A3.E6.9E.90) * [6.3 使用 GTK greeter 丢失图标](#.E4.BD.BF.E7.94.A8_GTK_greeter_.E4.B8.A2.E5.A4.B1.E5.9B.BE.E6.A0.87) * [6.4 LightDM 在登录提示符处冻结](#LightDM_.E5.9C.A8.E7.99.BB.E5.BD.95.E6.8F.90.E7.A4.BA.E7.AC.A6.E5.A4.84.E5.86.BB.E7.BB.93) * [6.5 LigthDM 显示在错误的显示器上](#LigthDM_.E6.98.BE.E7.A4.BA.E5.9C.A8.E9.94.99.E8.AF.AF.E7.9A.84.E6.98.BE.E7.A4.BA.E5.99.A8.E4.B8.8A) * [6.6 LightDM 不出现](#LightDM_.E4.B8.8D.E5.87.BA.E7.8E.B0) * [6.7 Pulseaudio 不自动启动](#Pulseaudio_.E4.B8.8D.E8.87.AA.E5.8A.A8.E5.90.AF.E5.8A.A8) * [7 另见](#.E5.8F.A6.E8.A7.81) ## 安装 [安装](/index.php/%E5%AE%89%E8%A3%85 "安装") 软件包 [lightdm](https://www.archlinux.org/packages/?name=lightdm). 注意稳定版版本号是偶数的 (1.8, 1.10) 而开发版是奇数的 (1.9, 1.11). 开发版可以安装 [lightdm-devel](https://aur.archlinux.org/packages/lightdm-devel/) 或者 [lightdm-bzr](https://aur.archlinux.org/packages/lightdm-bzr/). ### Greeter 可能需要安装一个 greeter。 greeter 是提示用户输入密码的 GUI 界面。如果配置了自动登录,可以不使用 greeter。参考的 greeter 是 [lightdm-gtk-greeter](https://www.archlinux.org/packages/?name=lightdm-gtk-greeter),默认的配置会使用它。 官方软件仓库包含如下 greeter: * [lightdm-kde-greeter](https://www.archlinux.org/packages/?name=lightdm-kde-greeter): KDE4 greeter. * lightdm-deepin-greeter ([deepin-session-ui](https://www.archlinux.org/packages/?name=deepin-session-ui)): [Deepin](/index.php/Deepin_Desktop_Environment "Deepin Desktop Environment") 桌面提供. 其他的 greeter 可以从 [AUR](/index.php/AUR "AUR") 安装: * [lightdm-webkit2-greeter](https://aur.archlinux.org/packages/lightdm-webkit2-greeter/): 一个用 Webkit2 做主题引擎的 greeter. 替代 [lightdm-webkit-greeter](https://aur.archlinux.org/packages/lightdm-webkit-greeter/)。 * [lightdm-unity-greeter](https://aur.archlinux.org/packages/lightdm-unity-greeter/): Ubuntu [Unity](/index.php/Unity "Unity") 使用的 greeter. * [lightdm-pantheon-greeter](https://aur.archlinux.org/packages/lightdm-pantheon-greeter/): 一个来自 ElementaryOS Project 的 greeter. 你可以通过更改配置文件的 `[Seat:*]` 部分设置 greeter: `/etc/lightdm/lightdm.conf` ``` [Seat:*] ... greeter-session=lightdm-yourgreeter-greeter ``` 通过下面命令可以获取 `greeter-session` 的可用选项,`/usr/share/xgreeters` 目录下的每个 `.desktop` 目录都代表一个可用 greeter。下面例子中包含 `lightdm-gtk-greeter``lightdm-kde-greeter`: ``` $ ls -1 /usr/share/xgreeters/ lightdm-gtk-greeter.desktop lightdm-kde-greeter.desktop ``` ## 启用 LightDM 确保[使用 systemctl](/index.php/Systemd#Using_units "Systemd") 启用 `lightdm.service`, 如此 LightDM 将会开机启动。参考 [Display manager#Loading the display manager](/index.php/Display_manager#Loading_the_display_manager "Display manager")。 ## 命令行工具 LightDM 提供一个命令行工具, `dm-tool`. 它可用来锁定当前 seat, 切换会话,等等。这对'极简'窗口管理器和测试非常有用。要列出可用命令,运行: ``` $ dm-tool --help ``` ## 测试 首先,[安装](/index.php/Pacman_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "Pacman (简体中文)") 软件包 [xorg-server-xephyr](https://www.archlinux.org/packages/?name=xorg-server-xephyr). 之后,把 LightDM 作为 X 程序启动: ``` $ lightdm --test-mode --debug ``` ## 配置和调整 `/etc/lightdm/lightdm.conf` 包含 LightDM 的默认配置。某些 greeter 拥有自己的配置文件。例如 * [lightdm-gtk-greeter](https://www.archlinux.org/packages/?name=lightdm-gtk-greeter): `/etc/lightdm/lightdm-gtk-greeter.conf` * [lightdm-webkit2-greeter](https://aur.archlinux.org/packages/lightdm-webkit2-greeter/): `/etc/lightdm/lightdm-webkit2-greeter.conf` * [lightdm-kde-greeter](https://www.archlinux.org/packages/?name=lightdm-kde-greeter): `/etc/lightdm/lightdm-kde-greeter.conf` 可以直接修改 LightDM 的配置文件,或者使用位于 `/usr/lib/lightdm/lightdm/``lightdm-set-defaults`程序。想知道一些可用选项,执行: ``` $ man lightdm-set-defaults ``` 然而一大部分变量要直接编辑配置文件而不是使用 `lightdm-set-defaults` 程序。 ### 更改背景图片/颜色 如果您想使用一个纯色 (非图片) 的背景,只需将 `background` 变量设置为十六进制的颜色。 例如: ``` background=#000000 ``` 如果你想用图像来代替,请看下文。 #### GTK+ greeter 可以使用 [lightdm-gtk-greeter-settings](https://www.archlinux.org/packages/?name=lightdm-gtk-greeter-settings) 图形界面进行设置。 如果需要在 greeter 上使用自定义图片,请修改 `/etc/lightdm/lightdm-gtk-greeter.conf` 中的 `background` 变量值。变量位于 `[greeter]` 会话,例如: `/etc/lightdm/lightdm-gtk-greeter.conf` ``` [greeter] background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg ``` **注意:** 建议将 PNG 或 JPG 文件放到 `/usr/share/pixmaps`,因为 LightDM 用户需要有背景文件的读取权限。 #### Webkit2 greeter The [lightdm-webkit2-greeter](https://aur.archlinux.org/packages/lightdm-webkit2-greeter/) allows you to choose a background image directly on the login screen. It also offers an option to display a random image each time it starts. By default, images are sourced from `/usr/share/backgrounds`. You can change the background images directory by editing `lightdm-webkit2-greeter.conf`. For example: `/etc/lightdm/lightdm-webkit2-greeter.conf` ``` [branding] background_images = /usr/share/backgrounds ``` #### Unity greeter 如果使用的是 [lightdm-unity-greeter](https://aur.archlinux.org/packages/lightdm-unity-greeter/),请修改 `/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml`,然后执行: ``` # glib-compile-schemas /usr/share/glib-2.0/schemas/ ``` 可以参考[这个](https://bbs.archlinux.org/viewtopic.php?id=149945)页面。 #### KDE greeter 转到 *系统设置 > 登录界面 (LightDM)* 设置你的主题与背景图片。 ### 改变你的头像 **Tip:** If you are using KDE, you can change your avatar in KDE System Settings. 首先确保已安装 [accountsservice](https://www.archlinux.org/packages/?name=accountsservice) 软件包,然后如下设置,把 `*username*` 替换为目标用户的登录名。文件名中不要加 *.png* 后缀。 * 编辑或创建 `/var/lib/AccountsService/users/*username*`, 添加如下内容: ``` [User] Icon=/var/lib/AccountsService/icons/*username* ``` I * 使用 96x96 PNG 图表文件来创建 `/var/lib/AccountsService/icons/*username*`. **注意:** 确保创建的文件都是 644 权限,使用 [chmod](/index.php/Chmod "Chmod") 来更正。 ### Arch 为中心的 64x64 图标来源 [AUR](/index.php/AUR "AUR") 的 [archlinux-artwork](https://aur.archlinux.org/packages/archlinux-artwork/) 软件包包含了一些不错的例子。它们被安装到 `/usr/share/archlinux/icons`, 可如下复制到 `/usr/share/icons/hicolor/64x64/devices`: ``` # find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \; ``` 复制之后,可删除 [archlinux-artwork](https://aur.archlinux.org/packages/archlinux-artwork/). ### 启用自动登录 编辑 LightDM 配置文件,取消该行的注释,并添加要自动登陆的用户名: `/etc/lightdm/lightdm.conf` `autologin-user=*username*` 你必须是 `autologin` 组的成员来使得自己登录时不用输入密码: ``` # groupadd autologin # gpasswd -a *username* autologin ``` **注意:** GNOME 用户, 更一般地 gnome-keyring 用户需要把他们的密码环设置一个空白密码以自动禁用。 ### 启用无密码交互登录 LightDM goes through PAM so you must configure the lightdm configuration of PAM: `/etc/pam.d/lightdm` ``` #%PAM-1.0 **auth sufficient pam_succeed_if.so user ingroup nopasswdlogin** auth include system-login ... ``` You must then also be part of the `nopasswdlogin` group to be able to login interactively without entering your password: ``` # groupadd -r nopasswdlogin # gpasswd -a *username* nopasswdlogin ``` **Note:** GNOME users, and by extension any gnome-keyring user may have to follow the instructions at the end of the previous section on enabling autologin. To create a new user account that logs in automatically and additionally able to login again without a password the user can be created with supplementary membership of both groups, e.g.: ``` # useradd -mG autologin,nopasswdlogin -s /bin/bash *username* ``` ### 隐藏系统和服务用户 为防止系统用户出现在登录界面,安装可选依赖 [accountsservice](https://www.archlinux.org/packages/?name=accountsservice), 或者把这些用户名添加到 `/etc/lightdm/users.conf` 下的 `hidden-users` 里。前者优势在于添加/删除用户时不用更新列表。 ### 从 SLiM 迁移 把 [xinitrc](/index.php/Xinitrc "Xinitrc") 的内容搬到 [xprofile](/index.php/Xprofile "Xprofile"), 删除调用[窗口管理器](/index.php/%E7%AA%97%E5%8F%A3%E7%AE%A1%E7%90%86%E5%99%A8 "窗口管理器")或[桌面环境](/index.php/%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83 "桌面环境")的部分。 ### 默认打开小键盘 安装 [numlockx](https://www.archlinux.org/packages/?name=numlockx), 编辑 `/etc/lightdm/lightdm.conf` 添加以下几行: `/etc/lightdm/lightdm.conf` ``` [Seat:*] greeter-setup-script=/usr/bin/numlockx on ``` ### Xfce4 下多用户切换 如果您使用 [Xfce](/index.php/Xfce "Xfce") 桌面,在应用程序启动器/Whisker Menu 的活动按钮的多用户切换功能会特别关注 *gdmflexiserver* 可执行程序以启用自身。如果你提供了一个可执行 Shell 脚本 `/usr/bin/gdmflexiserver` 并且它包含 ``` #!/bin/sh /usr/bin/dm-tool switch-to-greeter ``` 如此 Xfce 下多用户切换应该在 Lightdm 有效。 Alternatively, if you use the Whisker Menu, you can go to Properties -> Commands and change the "Switch Users" command directly to: ``` dm-tool switch-to-greeter ``` 你也可从 [XScreenSaver](/index.php/XScreenSaver "XScreenSaver") 锁屏界面切换用户 - 参见 [XScreenSaver#Lightdm](/index.php/XScreenSaver#Lightdm "XScreenSaver"). ### 默认会话 Lightdm, 像其他 DM 一样,把上次选择的 xsession 存储在 `~/.dmrc`. 更多信息见 [Display manager#Session_list](/index.php/Display_manager#Session_list "Display manager"). ### 修改登录窗口的位置 #### GTK+ greeter 编辑 `/etc/lightdm/lightdm-gtk-greeter.conf` 文件,设置 `position`,这个设置接受 `x``y` 变量,可以使用绝对值(pixels)或相对值(percent). 每个变量都可以增加一个额外的锚定位置 `start`, `center``end`,数值间用 comma 分隔. Example: ``` position=200,start 50%,center ``` ## 疑难问题 如果你一直屏幕闪烁并且启动后没有 lightdm, 确保你已在 lightdm 的配置文件里正确设置了 greeter. 如果你正确设置了 GTK greeter, 确保 `xsessions-directory` (默认是: `/usr/share/xsessions`) 存在并且至少包含一个 .desktop 文件。 如果你上次选择的会话永久失效了,lightdm 启动时也可能有同样问题 (例如上次使用的是 gnome 并删除了 gnome-session 软件包): 最简单的解决方法就是恢复删掉的软件包。另一个可能的解决是: ``` # dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetXSession string:xfce ``` 此例为用户 1000 设置默认会话为 "xfce". ### 显示错误语言环境 如果 Lightdm 未正常显示你的语言环境,把你的语言环境添加到 `/etc/environment` (自己酌情更改) ``` LANG=pt_PT.utf8 ``` ### Xresources 未被正常解析 当你的 [Xresources](/index.php/Xresources "Xresources") 文件未被预处理器加载时,会导致一个 LightDM 的上游 [bug](https://bugs.launchpad.net/lightdm/+bug/1084885). 在实际中,这意味着使用 `#define` 设置的变量在之后调用时没有被扩展。如果你使用 urxvt 的自定义颜色时,这会表现为一个全粉色的屏幕。要修复,编辑 `/etc/lightdm/Xsession` 并搜索以下内容: ``` xrdb -nocpp -merge "$file" ``` 更改为读取: ``` xrdb -merge "$file" ``` 你的 Xresources 会正常加载并且变量会正常扩展。 ### 使用 GTK greeter 丢失图标 如果你把 [lightdm-gtk-greeter](https://www.archlinux.org/packages/?name=lightdm-gtk-greeter) 作为 greeter 并且它把占位符图像显示为图标,确保已安装和正确配置有效的图标主题和主题。检查如下文件: `/etc/lightdm/lightdm-gtk-greeter.conf` ``` [greeter] theme-name=mate # this should be the name of a directory under /usr/share/themes/ icon-theme-name=mate # this should be the name of a fully featured icons set directory under /usr/share/icons/ ``` ### LightDM 在登录提示符处冻结 你会发现当输入正确的用户名和密码尝试登录时 LightDM 冻结,你无法进入桌面。为修复,重新安装 [gdk-pixbuf2](https://www.archlinux.org/packages/?name=gdk-pixbuf2) 软件包。参见 [这个](https://bbs.archlinux.org/viewtopic.php?id=179031)论坛帖子。 ### LigthDM 显示在错误的显示器上 如果你使用的多显示器,LightDM 可能会显示在不该出现的那一个上 (例如: 主显示器在左边). 为强制 LightDM 登录界面显示在特定的显示器上,编辑 `/etc/lightdm/lightdm.conf` 更改 *display-setup-script* 参数如下: `/etc/lightdm/lightdm.conf` `display-setup-script=xrandr --output *HDMI1* --primary` 替换 *HDMI1* 为你的正确的显示器 ID, 可从 **xrandr** 命令输出获取。 ### LightDM 不出现 可能系统启动太快了,LightDM 服务在图形驱动加载前就启动了。如果是这样,将下面配置加入 lightdm.conf 文件: ``` [LightDM] logind-check-graphical=true ``` 设置后 LightDM 会等待图形驱动加载完成后再启动 greeters/autostarting 会话。 ### Pulseaudio 不自动启动 见 [PulseAudio#Running](/index.php/PulseAudio#Running "PulseAudio")。 ## 另见 * [light-locker](https://www.archlinux.org/packages/?name=light-locker), a screen locker using LightDM. * [Ubuntu Wiki article](https://wiki.ubuntu.com/LightDM) * [Gentoo Wiki article](http://wiki.gentoo.org/wiki/LightDM) * [Launchpad Page](https://launchpad.net/lightdm) * [LightDM blog](http://www.mattfischer.com/blog/?tag=lightdm)