Display manager (简体中文) - ArchWiki

# Display manager (简体中文)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

相关文章

- Start X at login

翻译状态：本文是 Display_manager 的翻译。上次翻译日期：2015-12-28。如果英文版本有所更改，则您可以帮助同步翻译。

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

## 显示管理器列表

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

### 控制台

- CDM — 控制台显示管理器

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

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

  https://github.com/dopsi/console-tdm || console-tdmAUR

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

  https://github.com/spanezz/nodm || nodm

- Ly — 实验阶段的 ncurses 显示管理器。

  https://github.com/cylgom/ly || ly-gitAUR

### 图形界面

- GDM: GNOME 显示管理器 。https://projects.gnome.org/gdm/gdm
- LightDM:跨桌面的显示管理器，可以使用各种前端写的任何工具。https://www.freedesktop.org/wiki/Software/LightDM lightdm lightdm-bzrAUR[断开的链接：package not found]
- LXDM: LXDE 显示管理器 (独立于桌面环境) (lxdm)
- MDM — 使用在Linux Mint中的显示管理器,GDM2的分支项目。

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

- SDDM：基于QML的显示管理器，替代 KDE4 的 KDM，推荐搭配 Plamsa5 或 LXQt 使用。https://github.com/sddm/sddm sddm
- XDM — X 显示管理器支持XDMCP（适合服务器的宿主机）.

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

## 加载显示管理器

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

    # systemctl enable sddm.service

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

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

    $ file /etc/systemd/system/display-manager.service

    /etc/systemd/system/display-manager.service: symbolic link to /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]
    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=Application

### 运行 ~/.xinitrc 会话

安装 xinit-xsessionAUR 后会在显示管理器中提供一个运行 .xinitrc 会话的选项。在显示管理器中选择 `xinitrc` 作为会话，请确保 `~/.xinitrc` 具有执行权限。

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

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

    [Desktop Entry]
    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
    Type=Application

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

参阅 xinit#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`. 重启显示管理器使变更生效。

Category:

- Graphical user interfaces (简体中文)

Hidden category:

- Pages with broken package links