如何配置 Xwayland(將 NoTrapSignals 設置為正確的值)
我創建了
/etc/X11/xorg.conf
.Section "ServerFlags" Option "NoTrapSignals" "true" EndSection
如果我啟動使用 X 而不是 Wayland 的 GNOME 會話,它會成功影響我的 GNOME 會話。我已經通過使用 SIGABRT 殺死 X 伺服器來檢查這一點,並驗證它不會嘗試通過擷取信號來列印它自己的回溯。
然而,配置文件並沒有達到我真正想要的效果,即為 Xwayland 實例實現相同的行為,當我啟動與 Wayland 的普通 GNOME 會話時,GNOME 會啟動該實例。
我什至找不到來自 Xwayland 的日誌消息,看看它是否提到了關於它從哪裡讀取配置的任何資訊!
我注意到
Xorg
有一個man
頁面,但Xwayland
沒有。Xwayland
使用 () 執行的所有選項都沒有-rootless -terminate -core -listen 4 -listen 5 -displayfd 6
記錄在 中man Xorg
,但公平地說,GNOME在執行本機 X 會話時也會傳遞-displayfd
給它。Xorg
有誰知道如何做到這一點?
環境
- 軟呢帽 27
- 侏儒
- gnome-session-3.26.1-1.fc27.x86_64
- xorg-x11-server-Xwayland-1.19.6-5.fc27.x86_64
語境
我有一個惱人的 XWayland 崩潰。我很難從系統保存的核心轉儲中理解它。我非常想禁用內置的 X 回溯生成器。它只是礙事,回溯生成器本身很容易崩潰,最重要的是通過擷取錯誤信號,我相信它會阻止 Linux在核心日誌中記錄 SIGBUS 錯誤的確切原因。
我說這是 的正確值
NoTrapSignals
,因為它本質上是一個脆弱的功能,而 AFAICT 在非特權 Xwayland 伺服器中毫無意義。這不像過去糟糕的使用者模式設置,核心無法將顯示重置為文本模式,所以您迫切希望 X 伺服器在崩潰時仍然能夠這樣做。
我說這是 NoTrapSignals 的正確值,因為它本質上是一個脆弱的功能,而 AFAICT 在非特權 Xwayland 伺服器中毫無意義。這不像過去糟糕的使用者模式設置,核心無法將顯示重置為文本模式,所以您迫切希望 X 伺服器在崩潰時仍然能夠這樣做。
如果這是正確的,答案是這是 Xwayland 中的一個錯誤,應該修復 Xwayland 以使其正常執行,而不需要一些配置文件。
Xorg
比較執行和Xwayland
下的嘗試strace
,表明Xwayland
不查找任何配置文件,僅查找 XKB 數據文件。如果您作為選項通過
/usr/libexec/Xorg
,兩者都會列印使用建議。Xorg 包含一個“設備相關使用”部分,其中包含設置日誌文件或配置文件的選項。Xwayland 沒有提到這些。所以 Xwayland 似乎不像 Xorg 那樣可配置。/usr/bin/Xwayland``--help
從技術上講,Xwayland 似乎在
-core
“在致命錯誤時生成核心轉儲”的情況下執行。Xorg 不支持,儘管它聲稱支持相同的選項。從目前的證據來看,這似乎是無關緊要的,特別是因為 NoTrapSignals 不影響是否生成核心轉儲。選項“NoTrapSignals”“布爾”
這可以防止 Xorg 伺服器擷取一系列意外的致命信號並乾淨地退出。相反,Xorg 伺服器會死掉並丟棄發生故障的核心。預設行為是 Xorg 伺服器乾淨地退出,但仍刪除核心文件。通常,除非您正在調試 Xorg 伺服器問題並且知道如何處理後果,否則您永遠不想使用此選項。