2018年6月26日 星期二

Invalid MIT-MAGIC-COOKIE-1 ??



python3 tkui.py 直接執行可以..但是無法在開機時自動執行, 原因是執行X Window應用程式(X X Client),若要能連接到X Server 時, X Client 必須要提供兩個設置


  1. 設置遠端 XServer  DISPLAY 環境變數。
    export DISPLAY=:0.0
  2. 能讀到 Xauthority下的cookie檔 ( 位在每個user 的HOME目錄的.Xauthority 目錄)
    export XAUTHORITY=/home/<YOUR-USER-NAME>/.Xauthority


通常用自己登入帳號去執行X Client 程式沒有問題, 但若不是或經由 sudo 去執行,則必須設定  Xauthority的位置.


用pi 帳戶, 執行 python3 tkui.py 沒有問, 但是用 sudo python3 tkui.py 會出現錯誤

例如:

pi@raspberrypi:~ $ sudo python3 tkui.py
Invalid MIT-MAGIC-COOKIE-1 keyInvalid MIT-MAGIC-COOKIE-1 keyTraceback (most recent call last):
  File "tkui.py", line 16, in <module>
    win=Tk.Tk()
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1880, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display ":0.0"



解決方式: 

pi@raspberrypi:~ $ export XAUTHORITY=/home/pi/.Xauthority
pi@raspberrypi:~ $ sudo python3 tkui.py   ==> 能正常執行,因為能找到Xauthority 檔案



References:

https://iwf1.com/quick-fix-invalid-mit-magic-cookie-1-sudo


沒有留言 :

張貼留言