如何检查 DISPLAY 是否有效

Ger*_*mar 4 x11

我已阅读手册页 X(7) 并搜索了此内容,但找不到解决方案。

如果环境DISPLAY=:0仍然是有效显示,我如何检查长时间运行的进程?(用户可能在此期间已注销,但进程仍处于活动状态)

锦上添花的是检查 DISPLAY 是否仍然归 <USER>

Sté*_*las 6

也许是这样的:

if sudo -Hu "$user" xdpyinfo -display "$DISPLAY" > /dev/null 2>&1; then
  echo "user $user can connect to display $DISPLAY"
else
  echo "user $user cannot connect to display $DISPLAY"
fi
Run Code Online (Sandbox Code Playgroud)

如果您没有xdpyinfo,您可以尝试任何在 X 服务器上不显示任何内容的标准简单 X11 实用程序(它们的 stdout 和 stderr 重定向到 /dev/null 像上面一样):

xlsatoms -name PRIMARY
xprop -notype -root CUT_BUFFER0
xwininfo -root
Run Code Online (Sandbox Code Playgroud)

  • 当未安装 xdpyinfo 时,您可以使用 ```xterm -iconic -e exit``` 代替.... (2认同)