###前提・実現したいこと
LinuxでPythonのGUIアプリを制作しています。
※Tkinterモジュールを使用しています。
コマンドラインからGUIのアプリを実行したいのですが、次のエラーが出ました。
_tkinter.TclError: no display name and no $DISPLAY environment variable
###発生している問題・エラーメッセージ
_tkinter.TclError: couldn't connect to display "192.168.1.9:0.0"
###該当のソースコード
次のサイトの通りに作っています。
ファイル名もコードも同じです。
http://y-naito.ddo.jp/index.php?categ=1&year=2016&month=11&id=1479535167
実行は次のようにしています(CUIアプリは起動しました)
python3 foo.py
###試したこと
まずDISPLAY変数に値を設定しました。
export DISPLAY=192.168.1.9:0.0
するとエラーが変わって次のように表示されました。
_tkinter.TclError: couldn't connect to display "192.168.1.9:0.0"
ターミナルの上部に次の文が表示されています。
xhost: unable to open display "0.0"
↑解決しました。
まず、ディスプレイ0.0を開けるようにしないといけないですよね。
しかし、そのやり方がわかりません。
宜しくお願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
OSはRaspbian Stretchです。
xhost: unable to open display "0.0"が表示される問題は解決しました。
.bashrcに次の文を書いていました。
export DISPLAY=0.0; xhost +
これで unable to open ... のエラー文は消えました。
しかし、依然としてGUIは起動しません。次のエラーが出ます。
_tkinter.TclError: couldn't connect to display "192.168.1.9:0.0"
※以前に一度コンソールからGUIアプリが起動したことがあり、
それをやりたいと思っています。
その時は、次のように入力していました。
sudo xinit ./foo
こういうことはPythonプログラムでは無理なのでしょうか。