我只是不小心撞到了CtrlAltBackspace。这显然破坏了 X 服务器。屏幕短暂闪烁后,我的窗口管理器要求我再次登录,然后我又回到了一张白纸上。快速ps -ax
显示我的应用程序仍在运行,但我不知道如何将它们带回前台。(fg <foo>
没有。)
意外切换 X.org 后,如何重新获得对正在运行的应用程序的访问权限?
配置:免费 BSD 11.2、i3-4.16、xorg-7.7_3。
在关闭 X11 服务器并再次登录后,UNIX X11 套接字 in/tmp/.X11-unix/X0
已被删除并重新创建,并且 X11 会话 cookie in~/.Xauthority
已替换为新的随机 cookie。
即使DISPLAY
环境变量的值相同,应用程序也必须关闭并重新打开套接字并重新读取 cookie。据我所知,没有通用机制来通知任何 X11 应用程序这样做。这只是第一步:之后,应用程序必须使用 X11 服务器完全重新创建其所有窗口和其他 GUI 对象,并恢复其状态以匹配程序的内部状态。恐怕这个功能不存在。
您可能做的最好的事情是使用kill -HUP
停止应用程序,让它们有机会自动保存任何未保存的工作(如果它们已被编程为这样做),然后正常重启它们。
(这实际上与HUP
信号的原始含义完全匹配:它最初意味着用户的固定电话调制解调器连接已挂断,应用程序应以某种方式保存任何未保存的工作,以便在新会话中恢复它,然后出口。)
归档时间: |
|
查看次数: |
460 次 |
最近记录: |