Xorg
意外切換 X.org 後如何重新獲得對正在執行的應用程序的訪問權限?
我只是不小心撞到了
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
信號的原始含義完全一致:它最初意味著使用者的固定調製解調器連接已被掛斷,應用程序應該以某種方式保存任何未保存的工作,以便在新會話中恢復,然後出口。)