Ubuntu-18.04

Ubuntu 18.04 上的 X11 配置。在 Ubuntu 16.04 上工作

  • July 8, 2020

這是一個在 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

引用自:https://serverfault.com/questions/1024549