尝试在登录时启动进程,但没有可用的 .xinitrc 文件

尝试在登录时启动进程,但没有可用的 .xinitrc 文件

所以我安装并正确使用绑定键。问题是每次启动系统时我都必须手动启动此进程。我进一步阅读了 wiki,发现有一个方法可以利用此漏洞自动启动此过程 - 编辑~/.xinitrc。因此,我进入该目录,但未找到此类文件。然后我跳转到xinitrc 维基阅读有关此文件的更多信息。

显然,这个文件显然是一个由程序读取的脚本startx/xinit,用于启动基本工作环境 - 或者如果已安装并在脚本中明确编码则启动桌面环境。来自本维基页面上写道:

在没有 ~/.xinitrc 的情况下,startx/xinit 默认解析全局文件 /etc/X11/xinit/xinitrc,使用 Twm 窗口管理器、Xclock 和 Xterm 启动一个基本环境。

考虑到我已经cinnamon安装了默认桌面环境,每次登录时都会启动它,这似乎令人困惑 - 但显然没有使用来.xinitrc指示这一点。除非我的显示管理器在后台启动 cinnamon,否则我不太确定这一切是如何工作的。

要点:我之所以提起这一切,是因为上面的第二个链接(方法) 要求我编辑一个不存在的文件,但最后一个链接却要求编辑同一个文件 (本维基),因为我的非基本桌面在登录时启动。这里发生了什么?

答案1

startx并且~/.xinitrc不是仅有的启动 X11 环境的方法。大多数桌面环境带有“显示管理器”守护进程它会自动在所有可用的显示器上启动 Xorg,并显示图形登录屏幕。

尽管一些显示管理器确实会尝试~/.xinitrc自行运行,大多数 DM 都会从以下来源获取可用的“会话”列表/usr/share/xsessions/*.desktop

至于另一个问题——在桌面环境启动时启动程序——通常有两种方法,正如我之前的帖子

  • 根据 XDG Autostart 规范,桌面环境的“会话管理器”(例如cinnamon-session)将从 读取程序~/.config/autostart/*.desktop。您可以使用以下方式管理它们cinnamon-session-properties

  • 有些显示管理器会读取~/.xprofile脚本,其工作原理类似于~/.xinitrc没有启动窗口管理器(因为会话管理器已经完成此操作)。

相关内容