質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2748閲覧

X11 ForwardingでTkinterのウィンドウを動かしたい

Tatsuo_Iriyama

総合スコア50

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/10/15 09:33

編集2018/10/15 11:22

##現状

現在CentOS7.2, Python2.7で機械学習をしています。
ヒストグラムを使用して可視化しようとしています。

その為にGUI環境を構築中です。

手段として、Jupyterを使用してホストのブラウザから可視化をしようと思ったのですが、やはりplt.show()するとウィンドウが開いてグラフが描画されるようにしたいと思い、タイトルにもある通りX11 ForwardingでTkinterのウィンドウを動かす事に取り掛かっているのですが、いくつか疑問点があります。

##疑問点

  1. 環境変数DISPLAYの設定をするのですが、その際、ホスト名、ディスプレイ番号、スクリーン番号が必要になってくると思うのですが、それぞれの確認の方法を教えて頂きたいです

  2. 環境変数DISPLAYの設定を間違えて設定した場合、削除または再設定の方法を教えて頂きたいです。

以上2点になります。
どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2018/10/15 11:28

ホストOSはなんですか?(Mac、Widows など)
tiitoi

2018/10/15 12:04

ちなみに機械学習界隈では一般的に Ubuntu 環境が使われますが、CentOS にする理由というのはなにかあるのでしょうか?
Tatsuo_Iriyama

2018/10/15 12:41 編集

いえ、全くありません。普段使用しているOSがCentOSですので、横展開みたいな形で、そのままCentOSで機械学習を勉強しているという形です。逆になぜUbuntuが使用されているのでしょうか?
tiitoi

2018/10/15 14:23 編集

機械学習、Deep Learning のライブラリや Github のコードが Ubuntu しかサポートしてない場合があったり、ネット上の情報も Ubuntu が前提のものが多いからですかね。
Tatsuo_Iriyama

2018/10/15 14:31

うーん、どちらかというと、なぜUbuntuしかサポートしていないのか、Ubuntu前提の情報が多いのか、という問いに対する答えを頂ければ理解できるのですが。不確定要素が多いのでしょうか?明確な理由がないのであれば、それも一つの解とするのでいいのですが、あれば教えて頂きたいです。
guest

回答1

0

ベストアンサー

Windows --> Ubuntu でしたら、具体的な手順を説明できるのですが、Mac OS は持っていないので方針だけ書きます。

  1. MacOS に X11 クライアントを入れる。
  2. CentOS 側にX11 サーバーを入れる。(たぶん最初から入っている。)
  3. SSH コマンドで -X オプションをつけてログインする。

参考リンク

投稿2018/10/15 12:03

tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tatsuo_Iriyama

2018/10/15 14:26 編集

回答ありがとうございます。 3に関して質問なのですが、 3は、仮想環境にログインする際に-Xオプションをつけるという事でしょうか? 現在の仮想環境へのログイン方法がデフォルトのvagrant sshなのですが、このコマンド以降に-Xオプションをつける形でしょうか?
Tatsuo_Iriyama

2018/10/15 14:38

記事の提供ありがとうございます。 参考になりました。 このGUI操作が可能になった後、本来私が疑問点とした2つはどう解決すればいいのでしょうか?
tiitoi

2018/10/15 14:48

X11-forwarding で CentOS 側の GUI が表示できるようになったのであれば、以下のコードを実行したら、グラフが出てきませんか? 自分は特に Dispaly の設定などはしていないです。 ```test.py import matplotlib as mpl import matplotlib.pyplot as plt mpl.use('TkAgg') plt.plot([0, 1, 2]) plt.show() ```
Tatsuo_Iriyama

2018/10/15 14:51

なるほど。 となるとまずはCentOS側のGUI操作を実現する必要があると思うのですが、手順通り進めていき、再度vagrantにログインし、xclockやxeyes等のコマンドを実行してみましたが、コマンドが見つからないというエラーが表示される一方でして、実現ができない状況になります。 この場合どう対応すれば良いのでしょうか?
tiitoi

2018/10/15 15:03 編集

CUI 版の CentOS をお使いなのでしょうか? だとしたら、CentOS 側に X Window System をインストールする必要があります。(回答のステップ2にあたります。) 以下の「X Window System だけで良い場合」に CentOS7 の場合のやり方の記載があります。 https://blog.amedama.jp/entry/2015/09/01/232339
Tatsuo_Iriyama

2018/10/16 15:01

イレギュラーな事が発生し、実行できずにいるのですが、解決したら実行しようと思います。 親切にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問