ラズパイでpygameモジュールのプログラムをSSHコンソールで実行するとNo protocol specifiedエラーがでるときの対処法

ラズパイでpygameモジュールのプログラムをSSHコンソールで実行するとNo protocol specifiedエラーがでるときの対処法を調べました。こんな感じのエラーがでます。run.shでは、DISPLAY=:0 python app.py のようなコマンド実行をしています。

$ sudo sh run.sh
No protocol specified
No protocol specified
No protocol specified
xcb_connection_has_error() returned true
No protocol specified
xcb_connection_has_error() returned true

ラズパイでpygameはSSH経由で実行する時には、GUIが起動していて、DISPLAY=:0の環境変数を要求します。調べたところ、これだけでは不十分でXAUTHORITY環境変数を指定した上でsudoを実行すると良いそうです。

$ XAUTHORITY=~/.Xauthority sudo sh run.sh
同じタグの記事: pygame
同じタグの記事: Raspberry Pi
同じタグの記事: ラズパイ
同じカテゴリの記事: Linux