Ubuntu-18.04
Ubuntu 18.04 上的 X11 配置。在 Ubuntu 16.04 上工作
這是一個在 cron 中為具有 sudo 權限的 user1 執行的腳本
export DISPLAY=:0 export XAUTHORITY=/home/user2/.Xauthority scrot -q 30 "/tmp/%Y-%m-%d-%H-%M_screen.jpg" 2>/tmp/err
它在 Ubuntu 16.04 上執行良好。升級到 18:04 時報錯:Invalid MIT-MAGIC-COOKIE-1 keygiblib error: Can’t open X display。它正在執行,是嗎?
文件 .Xauthority 歸 user2 所有,組歸 user1 所有,權限為 660。
Ubuntu 16:04 和 18:04 之間發生了什麼變化?在閱讀了關於 SO 的文章後,我嘗試了export DISPLAY=:1.0而不是 **export DISPLAY=:0 。**它給出了這個錯誤:giblib error: Can’t open X display。它正在執行,是嗎?
來自ArchWiki:
嘗試以 root 身份執行程序時 MIT-MAGIC-COOKIE-1 密鑰無效
該錯誤意味著只有目前使用者可以訪問 X 伺服器。解決方案是授予root訪問權限:
$ xhost +si:localuser:root
該行也可用於將 X 的訪問權限授予與 root 不同的使用者。
所以你可能需要在主機上執行:
$ xhost +si:localuser:user1