Skip to the content.

上一页      主目录      下一页

26. Display Managers


显示管理器是图形程序,用于启动图形显示(目前是X服务器),并为窗口管理器或桌面环境提供登录功能。

有许多显示管理器可用。其中一些比较知名的包括:GDM、KDM(已弃用)、LightDM、LXDM、Slim和SDDM。

在可用于Linux的桌面环境中,您可以找到:Enlightenment、GNOME、KDE、LXDE、LXQt和XFce。

选择显示管理器或桌面环境是非常主观的。选择取决于包的外观、所需的资源(内存和磁盘空间)以及包含的实用程序。

在本章中,介绍了一些显示管理器的安装说明。在本书的后面部分,您将找到其他的,它们作为某些桌面环境的一部分提供。

26.1 GDM-43.0


简介GDM

GDM is a system service that is responsible for providing graphical logins and managing local and remote displays.

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

GDM 依赖

必要

AccountsService-22.08.8, GTK+-3.24.36, ISO Codes-4.12.0, itstool-2.0.7, libcanberra-0.30, libdaemon-0.14, 和 Linux-PAM-1.5.2

可选

keyutils-1.6.1

运行时依赖

gnome-session-43.0, gnome-shell-43.3, 和 Systemd-252

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gdm

安装GDM

建议在gdm守护进程启动后,使用专门的用户和组来控制它。以root用户发出以下命令:

groupadd -g 21 gdm &&
useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \
        -g gdm -s /bin/false gdm &&
passwd -ql gdm

运行以下命令安装GDM:

mkdir build &&
cd    build &&

meson --prefix=/usr               \
      --buildtype=release         \
      -Dgdm-xsession=true         \
      -Drun-dir=/run/gdm ..
ninja

这个包没有提供可用的测试套件。

现在,作为root用户:

ninja install

命令解释

--buildtype=release: 指定适合于包的稳定版本的构建类型,因为默认值可能会产生未优化的二进制文件。

-Dinitial-vt=7: 使用此开关使GDM从VT7开始,而不是第一个空闲的VT。

-Ddefault-pam-config=lfs: 如果没有创建/etc/lfs-release文件,请使用此开关,否则发行版自动检测将失败,您将无法使用GDM。

-Dgdm-xsession=true: 这将启用GDM Xsession文件的安装。

配置 GDM

配置文件

/etc/gdm/custom.conf

配置信息

GDM守护进程是通过/etc/gdm/custom.conf文件配置的。默认值存储在GSettings中的gdm.schemas文件中。建议最终用户修改/etc/gdm/custom.conf文件,因为当用户更新他们的系统以使用新版本的GDM时,schema文件可能会被覆盖。

Systemd单元

要在引导时启动gdm守护进程,以root用户运行以下命令启用之前安装的systemd单元:

systemctl enable gdm

内容

安装程序: gdm, gdmflexiserver, 和 gdm-screenshot

安装库: libgdm.so 和 pam_gdm.so (PAM模块)

安装目录: /etc/gdm, /usr/include/gdm, /usr/share/gdm, 和 /usr/share/help/*/gdm

简短描述

gdm 是GNOME的登录提示符。

gdm-screenshot 是GDM的截图工具。

26.2 lightdm-1.32.0


简介Lightdm

lightdm包包含一个基于GTK的轻量级显示管理器。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

Lightdm 包信息

额外下载

注意

欢迎程序是一个显示图形登录屏幕的程序。有几个可选的问候器,但是gtk+包是参考实现。有关其他迎宾人员的名单,请参阅 https://en.wikipedia.org/wiki/LightDM.

Lightdm 依赖

必要

Exo-4.18.0 (用于greeter), libgcrypt-1.10.1, itstool-2.0.7, Linux-PAM-1.5.2, 和 Xorg-Server-21.1.7 (运行时)

推荐

gobject-introspection-1.74.0, libxklavier-5.4, 和 Vala-0.56.4

可选

AccountsService-22.08.8 (运行时), at-spi2-core-2.46.0, GTK-Doc-1.33.2, Qt-5.15.8, libido, 和 libindicator

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/lightdm

安装Lightdm

首先,创建一个专用的用户和组,以便在lightdm守护进程启动后控制它。以root用户发出以下命令:

groupadd -g 65 lightdm       &&
useradd  -c "Lightdm Daemon" \
         -d /var/lib/lightdm \
         -u 65 -g lightdm    \
         -s /bin/false lightdm

运行以下命令安装lightdm:

./configure --prefix=/usr                 \
            --libexecdir=/usr/lib/lightdm \
            --localstatedir=/var          \
            --sbindir=/usr/bin            \
            --sysconfdir=/etc             \
            --disable-static              \
            --disable-tests               \
            --with-greeter-user=lightdm   \
            --with-greeter-session=lightdm-gtk-greeter \
            --docdir=/usr/share/doc/lightdm-1.32.0 &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install                                                  &&
cp tests/src/lightdm-session /usr/bin                         &&
sed -i '1 s/sh/bash --login/' /usr/bin/lightdm-session        &&
rm -rf /etc/init                                              &&
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm      &&
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data &&
install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm    &&
install -v -dm770 -o lightdm -g lightdm /var/log/lightdm

现在构建greeter:

tar -xf ../lightdm-gtk-greeter-2.0.8.tar.gz &&
cd lightdm-gtk-greeter-2.0.8 &&

./configure --prefix=/usr                 \
            --libexecdir=/usr/lib/lightdm \
            --sbindir=/usr/bin            \
            --sysconfdir=/etc             \
            --with-libxklavier            \
            --enable-kill-on-sigterm      \
            --disable-libido              \
            --disable-libindicator        \
            --disable-static              \
            --disable-maintainer-mode     \
            --docdir=/usr/share/doc/lightdm-gtk-greeter-2.0.8 &&
make

现在,作为root用户:

make install

注意

如果在/opt中安装了Xorg,则需要创建一个符号链接,以便lightdm能够找到Xorg服务器。作为root用户:

ln -sf /opt/xorg/bin/Xorg /usr/bin/X

命令解释

sed … /usr/bin/lightdm-session: 该命令确保通过问候源/etc/profile和~/.bash_profile进行初始登录。如果没有这个,依赖于不同环境变量的命令可能无法按预期工作。

配置 lightdm

配置文件

/etc/lightdm/{lightdm,users,keys}.conf

Systemd单元

安装blfs-systemd-units-20220720包中包含的lightdm.service单元:

make install-lightdm

有效 Sessions

根据所安装的窗口管理器和桌面环境,提示符提供了一个可用会话列表。该列表包括在/usr/share/xsessions下安装了相应的.desktop文件的会话。大多数窗口管理器和桌面环境都会自动提供这些文件,但如果有必要,您也可以包含自定义文件。

内容

安装程序: dm-tool, lightdm, 和 lightdm-gtk-greeter

安装库: liblightdm-gobject-1.so

安装目录: /etc/lightdm, /etc/apparmor.d, /usr/lib/lightdm, /usr/include/lightdm-gobject-1, /usr/share/help/C/lightdm /usr/share/gtk-doc/html/lightdm-gobject-1, /usr/share/doc/lightdm-gtk-greeter-2.0.8, /var/lib/lightdm, /var/lib/lightdm-data, /var/cache/lightdm, 和 /var/log/lightdm

简短描述

lightdm 是一个显示和登录管理器。

lightdm-gtk-greeter 是显示问候语的辅助进程,问候语是执行用户身份验证并启动所选窗口管理器或显示环境的图形用户界面。

26.3 lxdm-0.5.3


简介LXDM

LXDM是用于LXDE桌面的轻量级显示管理器。它还可以作为其他显示管理器(如GNOME的GDM或LightDM)的替代品。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

注意

lxdm显示管理器不支持基于wayland的窗口管理器,如plasma-wayland或gnome-wayland。

包信息

LXDM 依赖

必要

GTK+-2.24.33, ISO Codes-4.12.0, 和 librsvg-2.54.5 (运行时,用于默认主题背景)

推荐

LXSession-0.5.5 (用于lxpolkit) 或 polkit-gnome-0.105

可选

GTK+-3.24.36

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/lxdm

安装LXDM

首先是一些修正。

cat > pam/lxdm << "EOF"
# Begin /etc/pam.d/lxdm

auth     requisite      pam_nologin.so
auth     required       pam_env.so
auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     include        system-auth

account  include        system-account

password include        system-password

session  required       pam_limits.so
session  include        system-session

# End /etc/pam.d/lxdm
EOF

sed -i 's:sysconfig/i18n:profile.d/i18n.sh:g' data/lxdm.in &&
sed -i 's:/etc/xprofile:/etc/profile:g' data/Xsession &&
sed -e 's/^bg/#&/'        \
    -e '/reset=1/ s/# //' \
    -e 's/logou$/logout/' \
    -e "/arg=/a arg=$XORG_PREFIX/bin/X" \
    -i data/lxdm.conf.in

运行以下命令安装LXDM:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --with-pam        \
            --with-systemdsystemunitdir=/lib/systemd/system &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

命令解释

cat > pam/lxdm « “EOF” …: 将默认的/etc/pam.d/lxdm替换为适合BLFS的另一个。

sed -i … data/lxdm.conf.in: 对默认配置的修改:(1)将背景固定为默认背景;(2)在会话关闭时重启X;(3)输入错误;(4)包含XORG_PREFIX,它可能不同于/usr

sed -i … data/Xsession: 根据BLFS标准,源文件为/etc/profile,而不是其他文件。

sed -i … data/lxdm.in: 为BLFS规范修复了greeter的区域设置。

--with-pam: 此参数启用pam身份验证。

配置 LXDM

配置文件

/etc/lxdm/lxdm.conf

Systemd单元

要在引导时启动LXDM,以root用户执行以下命令:

systemctl enable lxdm

配置信息

LXDM守护进程配置文件(/etc/lxdm/lxdm.conf)指定的选项包括numlock开/关、背景图像(bg)、会话等。您可以通过取消注释:session=/usr/bin/startlxde并将startlxde替换为您选择的会话来设置默认会话。对于GNOME, session=/usr/bin/gnome-session。对于OPENBOX, session=/usr/bin/openbox-session,对于XFCE, session=/usr/bin/startxfce4。

也可以通过为每个用户编辑~/.dmrc文件并添加以下内容来设置每个用户的首选会话:

[Desktop]
        Session=xfce

您可以用代表您的用户的另一个图像替换问候屏幕中的默认虚拟脸。为此,复制或符号链接所需的图像到您的主目录,名称为.face

Contents

安装程序: lxdm, lxdm-binary 和 lxdm-config

安装库: None

安装目录: /etc/lxdm 和 /usr/share/lxdm

简短描述

lxdm 是执行lxdm-binary的脚本。

lxdm-binary 是实际的显示管理器;需要使用选项-d来执行守护进程。

lxdm-config 是一个图形化自定义程序。

上一页      主目录      下一页