Vagrant環境のCentOS6.9でGUIを使うには
tkinterを使おうとしたところ、エラーが出たのでちょっと調べてみました。
下部がそのエラーです。
$ python -m tkinter Traceback (most recent call last): (中略) ImportError: No module named '_tkinter'
tkinterというモジュールがないと怒られています。tkinterはデフォルトで入っているはずなのですが…
とりあえず再インストールしてみます。
$ pyenv uninstall 3.5.2 $ pyenv install 3.5.2
再インストールしました。これでいけるか…?
$ python -m tkinter [vagrant@localhost Python]$ python -m tkinter Traceback (most recent call last): (中略) _tkinter.TclError: no display name and no $DISPLAY environment variable
こんどは違うエラーがでました。ディスプレイの名前がない且つ、ディスプレイの環境変数がないと怒られているのでしょうか(ガバ英訳)
調べると画面を指定するDISPLAY環境変数がないようです。私の場合は画面自体がないようなのでXmingというソフトを使って画面を転送します。
設定の際、この記事を参考にしました。
msyksphinz.hatenablog.com
まず、Vagrantfileに以下を追加します。
config.ssh.forward_x11 = true
これでWindowのポートフォワードを設定できるようになりました。ようするに画面のデータを仮想マシンからXmingに送る設定をしたということです。(あってるか不安だけど)
次に、Xmingでサーバーの設定をします。
あとはPuTTYでSSH-X11でX11フォワーディングを有効にしてやれば…
できました。2時間ぐらい使ってしまったー