如何在 Linux 终端上找到 DISPLAY 的值

如何在 Linux 终端上找到 DISPLAY 的值

假设我在 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。

相关内容