4月 052017
 

FreeBSD の ports CURRENT を追いかけていると svn update したあとに portmaster -D -a するクセが付いているのでそれをやってバシバシ最新の ports/pkg を利用しているんだけど・・。

だいたい、時期を同じくして portmaster -D -a してのバージョンアップと Xming の利用が一緒になり、前のエントリの中で『Xming では mozc で日本語入力ができない。』などと書いていたのですが、なんとっ!! よくよく調べてみると GTK-3.0 を利用しているアプリの日本語入力ができなくなっていることがわかった。

KDE 系のアプリは Xming 経由や、素の Xorg 上では日本語入力ができるけど GTK-3.0 なアプリが日本語入力できなくなっていた。

最近は GTK-2.0 から 3.0 への過渡期で、僕の場合は GNOME3 は使ってないんだけど emacs や firefox は GTK-3.0 を明示的に指定して ports のコンパイルをしているし xfce4-terminal も default で GTK-3.0 を利用するようになっている。

と、いうことで今更ながら GTK-2.0 の IM 周りの設定を見直してもショウガない。 xfce4-terminal などは ldd で確認すると libgtk-3.so.0 を利用しているしね。
と、いうことで GTK-3.0 の日本語入力の設定の見直しです。

あ。 GTK-3.0 のアプリで日本語が入力できなくなったのは 03/31 に svn update して portmaster -D -a してからですね。その前まではちゃんと日本語が打てていました。

 
GTK-3.0 の設定はインストールすると、以下のディレクトリに散りばめられます。

・/usr/local/lib/gtk-3.0/3.0.0/
・/usr/local/etc/gtk-3.0/
・$HOME/.config/gtk-3.0/

この中に IM に関する設定ファイルが必要なります。

ちなみに GTK-2.0 の場合には日本語入力するためのファイルは以下になります。

・/usr/local/etc/gtk-2.0/gtk.immodules

このフアイルのおかげで、環境変数に以下を設定した場合に GTK アプリで日本語入力ができるようになります。

export QT_IM_MODULE=xim
export GTK_IM_MODULE=xim
export XMODIFIERS=@im=fcitx

exec mozc start
exec fcitx

 
僕の場合は QT_IM_MODULE を設定して KDE アプリで xim を利用し、 GTK_IM_MODULE も同様で、日本語入力には fcitx を mozc 経由で利用しています。

今回は GTK-3.0 のアプリについてですが、 GTK-2.0 の頃には /usr/local/etc/gtk-2.0/gtk.immodules があったのですが /usr/local/etc/gtk-3.0/ の下にはそんなファイルがありません。

なので作ってあげる必要があります。その場合、以下のコマンドを打ちます。

# cd /usr/local/etc/gtk-3.0/
# gtk-query-immodules-3.0 > gtk.immodules

 
さてと。準備完了。では xfce4-terminal を起動して Shift+SPACE を押してと。あれま。ダメだ・・。
と、いうことで上記の設定ファイルを用意してもダメなようです。

しょーがないので GTK-3.0 のドキュメントを読んでみることにしましょう。

https://developer.gnome.org/gtk3/unstable/gtk-running.html

上記の URL に書かれている説明では immodules の設定ファイルは immodules.cache という名になっているようです。では先程作成したファイルを mv して名前を変更して再度トライ。

しかし、ダメなようです。あれま・・。

上記のドキュメントを読むと直接ほーりむようなことが書いてあるので ports がフアイルをインストールしたディレクトリに直接用意してみることにします。

# cd /usr/local/lib/gtk-3.0/3.0.0/
# gtk-query-immodules-3.0 > immodules.cache

 
これで再度 xfce4-terminal を起動して Shift+SPACE を押してみます。おぉっ!! 今度は無事に fcitx の画面が表示されて日本語が打てるようになりました。メデタシメデタシ。

と、いうことは ports のバグっぽいので、今後バージョンアップされたときには直ることでしようなぁ。 ちなみに 03/31 の ports でインストールされた GTK-3.0 のバージョンは gtk3-3.18.8_4 です。
次にバージョンアップするとしたら gtk3-3.18.8_5 かな? 😉

 
GTK-3.0 のアプリで日本語が今まで打てていたのに急に打てなくなった。と、いう方は上記のように試してみてください。

4月 032017
 

遅ればせながら感が強いのですが、 Xming という Windows アプリを使ってみました。それについて、気付いた点を 2,3 書いてみたいと思います。

普段は会社でも FreeBSD+Xorg 環境なのですが、会社でフル HD なディスプレーが支給されて『わーいっ。X の画面も広くなるぞぉ。』などと思っていたのですが D-SUB 15pin のディスプレーカードと VESA では 1920×1080 の画面が表示できない。と、いうのを知ってアングリ・・。 orz

xrandr しても 1920×1080 が表示されないし、 xorg.conf に Modeline 書いてもダメだし。で、色々悪あがきしましたが、FreeBSD で 1920×1080 な画面を利用するのは諦めました。
新しい PC を買ってもらえれば解決すると思うんですが・・。

 
と、いうことで Windows10 から X のアプリを表示させるために Xming の利用を開始した。と、いうことなんですけども、色々ウェブで探してみると以下のようなものを拾ってくると OK らしい。と、いうことが解りました。

・Xming-6-9-0-31-setup.exe
・Xming-mesa-6-9-0-31-setup.exe
・Xming-fonts-7-7-0-10-setup.exe

以下の URL からダウンロード可能です。

https://ja.osdn.net/projects/sfnet_xming/releases/

mesa 版を利用すると OpenGL が使えるのかな? 好みでどうぞ。

あと、PuTTY が必要なようなんだけど、必要なモノは以下のようです。

・putty.exe
・plink.exe

URL も一応書いておきます。

http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

が、今回は PuTTY は利用しません。 OpenSSH-Win64 を利用します。

・OpenSSH-Win64.zip

以下の URL からダウンロードします。

https://github.com/PowerShell/Win32-OpenSSH/releases

OpenSSH-Win64 は展開してからフォルダをとりあえずデスクトップに置いておきます。そして Xming と Xming-fonts をインストールします。

インストールが終わったら C:\Program Files (x86)\Xming\ の中にデスクトップの OpenSSH-Win64\ssh.exe を入れてあげると準備が整います。

使い方については様々なサイトで書かれているのでここでは書きませんが、一点だけ。 Xlaunch を起動して次々に画面を遷移していきますが、以下にたどり着きます。

上のキャプチャにもありますが、Using SSH (ssh.exe) にチェックを入れれば良いです。
色々試しましたが plink.exe ってのは機能的には ssh.exe と一緒なのですね。 DOS のコマンドプロンプトから plink.exe を利用すると ssh ログインできるのね。普段 PuTTY 使ってないので知らなかったです。ぼく。

 
さてと。ここから、僕はハマッたのですが、ちょっと書いておきます。

・Hyper-V をインストールしていると Xming は ssh できねくね?

ssh.exe 単体で FreeBSD にログインしようとすると無事にログインできるのですが Xming から ssh.exe を実行すると、ログインできないのであります。最初は plink.exe で試していたのだけど、上記のキャプチャのように ssh.exe でも大丈夫みたいだったので試したのですが、Xming が利用できない状態でした。

僕は Windows10 64bit の環境で FreeBSD を起動するために Hyper-V をインストールしていたんだけど、画面の描写が遅いので、今回サクっと Hyper-V を削除しました。

その後はサクっと Xming が動作し、 X アプリもガンガン飛んでくるようになりました。

Hyper-V をインストールすると、ネットワークインターフェースが bridge になってしまうので『Hyper-V が怪しいなぁ。』などと、メドは付けていたのですが、実際に Hyper-V を削除して試してみると無事に接続できたので、やはり。と、いう感じでしょうか。

たまたま、僕の環境だけなのかも知れませんが、 Xming が ssh 接続できない人は Hyper-V インストールしていたりしませんか?

 
さてと。 X アプリが飛んでくるようになったけど、キーがおかしくね? Ctrl キー使えないじゃーん。などと思ってしばらく難儀していたのですが、あ。僕の環境では Xkeymacs を利用していたわ。

と、いうことで Xkeymacs を OFF にすると無事に動作するようになりました。

・Xkeymacs をオフにすると Ctrl キーが利用できるようになる。

と、いうことで、無事に Windows10 上で X のアプリが利用できるようになったのでありました。一安心です;-)。

あぁ。mozic 使えないですね。例えば Firefox では日本語入力できない。emacs の場合は mozc.el を利用しているので日本語入力できます。

まぁ、この辺りはしょーがないのかなぁ。

と、いうことで Xming のの使い方について、書いてみました。実際に使ってみると中々良い感じです。タスクバーとかも欲しくなってしまう;-)。

 
さてと。話は変わるのですが、同じ Windows 上の環境と、いうことで Windows on bash の話を最後に書いてこのエントリを終了します。

Anniversary Update で Bash on Windows が提供されて bash が利用できるようになりました。しかし、 ssh した先で日本語を表示などすると悲惨な状況だっんですけどね。しかし 2017/04/11 から提供される Creators Update では正しく日本語が表示できるようになりました。これは嬉しい。

僕の場合は Windows Insider Previrew で 04/01 に Creators Update が降ってきたのですが、これで試したらもーバッチリな bash になっていました;-)。

皆さんも是非試してみてください。もしくは Creators Update リリースまで待ってから試してみてください;-)。