rcmdnk's blog
Last update

20130322_screen_char_non_200_200

Macを使うようになってからずっと気になってたGNU screen使用時の 日本語ファイル名の文字化けを回避するためにscreenの再インストールを 今更ながら行ったのでそれについて。

GNU screenでの文字化け

普段ターミナルから日本語ファイルを扱う事は殆ど無い上、 vimで編集する際には、vimの設定で殆ど問題なく日本語を読み書きすることができるので 放っておいてました。 ただ、縦分割した時にlsで日本語ファイルを表示して表示がくずれて がっちゃがっちゃになってしまうことがあるので、 取り敢えずはclearして描写しなおせば良いんですが、 ちょっとストレスが溜まるものです。

20130322_screen_char_non.jpg

やること自体は簡単だと思ってたんですが、上手くいかずに嵌ったら やばいと思ってしばらく放っておきました…

が、結果的に、取り敢えず主な問題は直ぐに解決できたので良かったな、と。

対策方法

今回は作られた物を使っただけなので、今回は詳細はそちらのページで

Ref: GNU Screenのhardstatusを有効活用する

Ref: screen が結合文字の後に存在しないはずの ÿ を出力しちゃうバグを直した

これらのページで紹介されているパッチをあててインストールし直しただけです。

$ cd $TMPDIR
$ git clone git://git.sv.gnu.org/screen.git
$ cd screen
$ wget https://gist.github.com/raw/626040/be6a04f0e64c56185ba5850415ac59dad4cd62a0/screen-utf8-nfd.patch
$ wget http://zuse.jp/misc/screen-utf8-osc.diff
$ patch -p1 < screen-utf8-nfd.patch
$ patch -p1 < screen-utf8-osc.diff
$ cd src/
$ ./autogen.sh
$ ./configure --prefix=/Users/$USER/usr/local/  --enable-colors256 && make &&  make install

新しいものは自分のディレクトリ下に入れました。

追記: 2013/11/07

もし、wget

ERROR: The certificate of `gist.github.com' is not trusted.
ERROR: The certificate of `gist.github.com' hasn't got a known issuer.

こんな感じのエラーが出たら、さしあたり、

$ wget --no-check-certificate https://gist.github.com/raw/626040/be6a04f0e64c56185ba5850415ac59dad4cd62a0/screen-utf8-nfd.patch

--no-check-certificateで回避できます。

追記ここまで

追記: 2015/03/10

http://zuse.jp/misc/screen-utf8-osc.diffが リンク切れになってしまっていたので、 以前インストールした時に残ってたファイルを元に Gistに載せておきました。

https://gist.githubusercontent.com/rcmdnk/143cb56d31335dbccf70/raw/4b3e175946f2366b4076088c1c8f2bbe65b32e16/screen-utf8-osc.diff

取り敢えず上のドメインが切れてしまった?感じなので、 復活するか戻るまではこちらを。

追記ここまで

追記: 2017/01/20

screen-utf8-osc.diffに関しては4.5.0でそのまま使えなかったので新しいものを作りました。

  • https://gist.githubusercontent.com/rcmdnk/7d504f2f9064162fac529ad0ddb87202/raw/ce910700dfec637f0e3b501c4a7d8b14260a4ef4/screen-utf8-osc.diff

追記ここまで

追記: 2016/04/21

https://gist.github.com/raw/626040/be6a04f0e64c56185ba5850415ac59dad4cd62a0/screen-utf8-nfd.patch の方もリンク切れになってしまったのでGistに置いておきました。

http://gist.githubusercontent.com/rcmdnk/5e72a6fd14bf106f9d410ea68adf0644/raw/be75f51d16e5a24bcee9d357f785e95b008814df/screen-utf8-nfd.patch

追記ここまで

追記: 2017/01/20

https://gist.github.com/raw/626040/be6a04f0e64c56185ba5850415ac59dad4cd62a0/screen-utf8-nfd.patch の方は現在また見える様になっています。

GitHubのGistの仕様変更等の関係で見えなかった?のかも。

追記ここまで

対策結果

上にある画像はiTerm2でのものですが、 この新しいscreenで起動すると

20130322_screen_char_ok.jpg

この様に、ちゃんと表示されました。

ただ、Macのターミナルアプリで開くとまだ文字化けしていました。 それについては

Ref: screen 4.1.0 で日本語の表示がおかしくなる件

を参考にすればなんとかなるのかな(パッチが少しだけ違ってたりSIMBLプラグインを入れていたり)とも思ってますし、 まだ一部iTerm2でもちょっとおかしなところもありますが、 取り敢えず普段使う分には前よりストレスなくなったので今回はこれで良しとしておきます。

Sponsored Links
Sponsored Links

« PS1とPROMPT_COMMAND, GNU screenでの活用も Octopress Tips »

}