如何在 X 中启动用户软件

如何在 X 中启动用户软件

目前有很多方法可以在开启用户会话时启动软件。

这是一篇试图将所有方法聚集在一起的文章。某些部分可能不精确或不正确,但这是一个开始,如果我收到更正,我很乐意保持更新。

x11-common

man xsession
  • 由显示管理器启动,如 /usr/share/lightdm/lightdm.conf.d/01_debian.conf/etc/gdm3/Xsession
  • Debian 特定。
  • /etc/X11/Xsession.d/ 中运行脚本。
  • /etc/X11/Xsession.d/40x11-common_xsessionrc 引用 ~/.xsessionrc ,它能比设置环境变量能做的多一点,因为它在 X 会话启动时运行。
  • 最后,它启动会话管理器(gnome-sessionxfce4-session 等等)。

systemd –user

  • https://wiki.archlinux.org/index.php/Systemd/User
  • pam_systemd 启动,所以在环境变量中可能没有设置 DISPLAY 变量。
  • 管理单元:
    • /usr/lib/systemd/user/ 由已安装的软件包提供的单元。
    • ~/.local/share/systemd/user/ 由安装在家目录的软件包提供的单元。
    • /etc/systemd/user/ 由系统管理员提供的系统范围的用户的单元。
    • ~/.config/systemd/user/ ,用户自己放置的单元。
  • 当设置 X 会话和 DISPLAY 变量时,启动 systemd 用户单元的技巧是从 .desktop 自启动文件调用 systemctl start

dbus 激活

X 会话管理器

xdg 自动启动

其他启动注意事项

~/.Xauthority

要连接到 X 服务器,客户端需要从 ~/.Xauthority 发送一个令牌,这证明他们可以读取用户的隐私数据。

~/.Xauthority 包含显示管理器生成的一个令牌,并在启动时传递给 X。

要查看它的内容,请使用 xauth -i -f ~/.Xauthority list


via: http://www.enricozini.org/blog/2018/debian/starting-user-software/

作者:Enrico Zini 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出