debian 中的 .xsession 和 startx

debian 中的 .xsession 和 startx

如果我的主文件夹没有,.xinitrc但包含以下内容.xsession

#!/bin/bash
exec jwm

startx -- -nolisten local -nolisten tcp实际会处理-nolisten选项吗?

我想如果我创建一个.xinitrc具有相同内容的,startx将不会处理任何选项。

答案1

startx将其命令行参数分为两组,用双破折号分隔:要启动的 X 客户端(+其参数)和 X 服务器选项。

提供 a.xinitrc是为 X 客户端部分提供特定于用户的默认值的一种方法;它应该对 X 服务器选项部分没有任何影响。如果它确实有效果,那将是一个错误。

在 Debian 10 中,如果用户没有 no.startxrc和 no .xinitrc,并且系统管理员尚未创建系统范围的/usr/lib/x86_64-linux-gnu/sys.startxrc路径(或者适合您的硬件架构的路径 - 默认情况下它不存在),startx则将用作/etc/X11/xinit/xinitrcX 客户端部分。

默认情况下,这将仅获取 X11 会话脚本/etc/X11/Xsession,该脚本对于 Debian 中的所有 X 会话启动方法应该是通用的。它将依次获取/etc/X11/Xsession.d/目录中的所有脚本。其中,/etc/X11/Xsession.d/50x11-common_determine-startup将检测用户文件的存在.xsession,并在所有其他脚本运行后99x11-common_start使用 执行它。execXsession.d


但是,如果您同时使用-nolisten local-nolisten tcp服务器选项,是否还有可用的 X11 传输方法?根据X(7)手册页,如果DISPLAY变量具有空字符串作为主机规范,例如本地会话的默认 DISPLAY 值:0或,则将使用传输方法。如果它被禁用,我预计会话将不可避免地失败 - 但从很久以前起我就没有对 X11 会话启动的这个角落进行任何详细的研究,所以我可能会遗漏一些东西。:0.0local

相关内容