假设我在 X 转发的 ssh 会话中执行了export DISPLAY=:1
。现在我想将其重置回其原始值,以便当我启动 X 应用程序时,它们会显示在我的屏幕上而不是:1
。有没有办法找到它是什么并将其设置为那个?或者一旦被覆盖,该值是否会不可挽回地丢失?
我不想仅仅因为改变了值就必须重新启动 ssh 会话DISPLAY
。
答案1
您可以先将其保存到另一个变量中:
export DISPLAY_BACKUP=$DISPLAY
export DISPLAY=:1
要恢复它,请执行以下操作:
export DISPLAY=$DISPLAY_BACKUP
如果DISPLAY
变量未保存,则可以使用以下代码片段(找到这里)尝试获取其原始值:
netstat -lnt | awk '
sub(/.*:/,"",$4) && $4 >= 6000 && $4 < 6100 {
print ($1 == "tcp6" ? "ip6-localhost" : "localhost:") ($4 - 6000)
}'
远程显示对应于开放的 6000 以上的 TCP 端口;通过连接机器 M 上的 TCP 端口 6000+N 来访问机器 M 上的显示器编号 N。