# Display manager (简体中文)

相关文章

- Desktop environment
- Window manager
- Start X at login

翻译状态： 本文是英文页面 Display_manager 的翻译，最后翻译时间：2015-12-28，点击这里可以查看翻译后英文页面的改动。

显示管理器或登录管理器是一个在启动最后显示的图形界面。和窗口管理器一样，显示管理器有很多种。通常每个显示管理器都能进行一些定制。

## 显示管理器列表

注意: 如果使用 桌面环境,应该尽量使用对应的显示管理器。

### 控制台

- CDM — 控制台显示管理器

  https://github.com/ghost1227/cdm || cdm-gitAUR

- Console TDM — 扩展自xinit，由纯粹的Bush脚本编写的

  http://code.google.com/p/t-display-manager/ || console-tdm-gitAUR

- nodm — 支持自动登录的简单显示管理器。

  http://enricozini.org/sw/nodm/ || nodm

### 图形界面

- Entrance — 一个基于EFL的窗口管理器， 高度地实验性

  http://enlightenment.org/ || entrance-gitAUR

- GDM: GNOME 显示管理器 。http://projects.gnome.org/gdm/gdm
- KDM: KDE4 显示管理器 (kdebase-workspaceAUR)(已经停止开发，请使用SDDM).
- LightDM:Ubuntu 开发的 GDM 替代品，使用 WebKit。跨桌面的显示管理器，可以使用各种前端写的任何工具。http://www.freedesktop.org/wiki/Software/LightDM lightdm||lightdm-bzrAUR
- LXDM: LXDE 显示管理器 (独立于桌面环境) (lxdm)
- MDM — MDM 显示管理器使用在Linux Mint, a fork of GDM 2.

  https://github.com/linuxmint/mdm || mdm-display-managerAUR

- SDDM：基于QML的显示管理器，在 Plasma5 之后替代 KDM，推荐搭配Plamsa5和LXQt使用。https://github.com/sddm/sddm sddm
- SLiM: 简单登录管理器 (slim)
  Warning: slim登录管理器已经停止开发，不推荐使用
- wdm: WINGs 显示管理器 (wdmAUR)
- XDM — X 显示管理器支持XDMCP, host chooser.

  http://www.x.org/archive/X11R7.5/doc/man/man1/xdm.1.html || xorg-xdm

## 加载显示管理器

通过启动登录管理器（或称显示管理器），即可进行图形界面登录。目前，Arch 提供了 GDM、KDM、SLiM、XDM、LXDM、LightDM 和 sddm 的 systemd 服务文件。以 SDDM 为例，配置开机启动：

    # systemctl enable sddm.service

执行上述命令后，登录管理器应当能正常工作了。如果不是的话，可能是`default.target` 没有指向`graphical.target`。

启用 SDDM 后， `/etc/systemd/system/` 应该创建 `display-manager.service` 软链接，可以用 `--force` 覆盖已有链接。

    $ ls -l /etc/systemd/system/display-manager.service

    [...] /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/sddm.service

### 使用 systemd-logind

可使用 `loginctl` 来查看用户会话的状态。所有 PolicyKit 操作，如挂起系统、挂载外部驱动器，都无需配置即可使用。

    $ loginctl show-session $XDG_SESSION_ID

## 会话配置

多数显示管理器会读取 `/usr/share/xsessions/` 目录已获取可用的会话列表，此目录中包含各个 DM/WM 的标准 桌面文件。

要新建会话，可以在 `/usr/share/xsessions/` 中新建 .desktop 后缀的文件，文件示例：

    [Desktop Entry]
    Encoding=UTF-8
    Name=Openbox
    Comment=Log in using the Openbox window manager (without a session manager)
    Exec=/usr/bin/openbox-session
    TryExec=/usr/bin/openbox-session
    Icon=openbox.png
    Type=XSession

### 运行 ~/.xinitrc 会话

安装 xinit-xsessionAUR 后会在显示管理器中提供一个运行 .xinitrc 会话的选项。

### 没有窗口管理启动应用程序

您也可以启动没有窗口修饰、桌面或窗口管理器的会话。例如要启动 google-chromeAUR，在`/usr/share/xsessions/`中创建`web-browser.desktop`：

    [Desktop Entry]
    Encoding=UTF-8
    Name=Web Browser
    Comment=Use a web browser as your session
    Exec=/usr/bin/google-chrome --auto-launch-at-startup
    TryExec=/usr/bin/google-chrome --auto-launch-at-startup
    Icon=google-chrome

登录后，程序会立即执行 `Exec` 中的设定。关闭程序后，会和退出登录一样，将会回到显示管理器。大部分图形程序都不支持此环境，窗口无法移动或改变大小。

参阅 xinitrc#Starting applications without a window manager.

## 提示和技巧

### 自动启动

许多显示管理器都查询配置文件 `/etc/xprofile`, `~/.xprofile` 和`/etc/X11/xinit/xinitrc.d/`。 更多细节，见xprofile。

### 设置语言

显示管理器使用AccountsService设置 locale ，设置位置是 `/var/lib/AccountsService/users/$USER`:

    [User]
    Language=your_locale

your_locale 位置替换为locale变量,例如: `en_GB.UTF-8`. 重启显示管理器使变更生效。

## 已知问题

### 与systemd 不兼容

受影响的有DMs, MDM

一些显示管理器与systemd不兼容，因为它们会重复使用PAM会话进程，这在二次登录时会引起很多问题，例如:

- 网络管理程序不工作，
- 音量不能调节，
- 其它用户登录GNOME失败。

Category:

- Display managers (简体中文)