Xorg

意外切換 X.org 後如何重新獲得對正在執行的應用程序的訪問權限?

  • April 5, 2019

我只是不小心撞到了Ctrl``Alt``Backspace。這顯然破壞了 X 伺服器。螢幕短暫閃爍後,我的視窗管理器要求我再次登錄,我又回到了空白狀態。快速ps -ax顯示我的應用程序仍在執行,但我不知道如何將它們帶回前台。(fg <foo>沒有。)

意外切換 X.org 後,如何重新獲得對正在執行的應用程序的訪問權限?

配置:免費 BSD 11.2、i3-4.16、xorg-7.7_3。

/tmp/.X11-unix/X0切換 X11 伺服器並再次登錄後,已刪除並重新創建了 UNIX X11 套接字,並且已將 X11 會話 cookie~/.Xauthority替換為新的隨機 cookie。

即使DISPLAY環境變數的值相同,應用程序也必須關閉並重新打開套接字並重新讀取 cookie。據我所知,沒有通用機制可以指示任何 X11 應用程序執行此操作。這只是第一步:之後,應用程序必須使用 X11 伺服器完全重新創建所有視窗和其他 GUI 對象,並恢復它們的狀態以匹配程序的內部狀態。恐怕這個功能不存在。

您可能做的最好的事情是使用kill -HUP停止應用程序,讓它們有機會自動保存任何未保存的工作(如果它們已被程式為這樣做),然後正常重新啟動它們。

(這實際上與HUP信號的原始含義完全一致:它最初意味著使用者的固定調製解調器連接已被掛斷,應用程序應該以某種方式保存任何未保存的工作,以便在新會話中恢復,然後出口。)

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