如果我的主文件夹没有,.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/xinitrc
X 客户端部分。
默认情况下,这将仅获取 X11 会话脚本/etc/X11/Xsession
,该脚本对于 Debian 中的所有 X 会话启动方法应该是通用的。它将依次获取/etc/X11/Xsession.d/
目录中的所有脚本。其中,/etc/X11/Xsession.d/50x11-common_determine-startup
将检测用户文件的存在.xsession
,并在所有其他脚本运行后99x11-common_start
使用 执行它。exec
Xsession.d
但是,如果您同时使用-nolisten local
和-nolisten tcp
服务器选项,是否还有可用的 X11 传输方法?根据X(7)
手册页,如果DISPLAY
变量具有空字符串作为主机规范,例如本地会话的默认 DISPLAY 值:0
或,则将使用传输方法。如果它被禁用,我预计会话将不可避免地失败 - 但从很久以前起我就没有对 X11 会话启动的这个角落进行任何详细的研究,所以我可能会遗漏一些东西。:0.0
local