Debian

debian 中的 .xsession 和 startx

  • June 22, 2020

如果我的主文件夾沒有 a.xinitrc但有 a.xsession包括:

#!/bin/bash
exec jwm

startx -- -nolisten local -nolisten tcp實際處理-nolisten選項?

我想如果我創建一個.xinitrc具有相同內容的,startx將不會處理任何選項。

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 值,則將使用傳輸方法。如果它已被禁用,我預計會話將不可避免地失敗 - 但我很久以前就沒有詳細調查過 X11 會話啟動的這個角落,所以我可能會遺漏一些東西。:0``:0.0``local

引用自:https://unix.stackexchange.com/questions/594213