
Ubuntu日本語フォーラム
ログインしていません。
9.10から10.04にアップデートしました。
nautilusからアプリ(xarchiver)を起動すると、日本語ファイル名が文字化けするようになってしまいました、
どうやら、nautilusのlocaleがCになってしまったようです。
とりあえず、下記のようにlocaleをja_JP.UTF-8に設定してnautilusを起動していますが、根本的にlocaleの設定を変更するにはどうしたら良いのでしょうか(※termialからコマンドlocaleを実行するとja_JP.UTF-8になっています)。
1. mv /usr/bin/nautilus /usr/bin/nautilus.bin
2. vi /usr/bin/nautilus
#!/bin/sh
env LC_ALL=ja_JP.UTF-8 /usr/bin/nautilus.bin $@
3. chmod a+x /usr/bin/nautilus
4. 再起動
オフライン
p7zip-fullパッケージを入れると、
file-roller が /usr/bin/unzipでなく /usr/bin/7za を使用してしまう件とは
異なる新たな問題みたいですね。
https://forums.ubuntulinux.jp/viewtopic.php?id=3529
https://lists.ubuntu.com/archives/ubuntu-jp/2009-June/001967.html
gdm経由でログインすると、locale に ja_JP.utf8 が設定され、
ja_JP.UTF-8 を期待している処理は 上手く動かないみたいです。
unzip や、
それを使用するfile-roller(書庫マネージャ) や、
unzip を使用しないxarchiver 等
が、影響を受けてしまったようです。
gdm経由ログイン後のロケール変更は、.xprofile に記述する事で出来ました。
$ cat $HOME/.xprofile export GDM_LANG=ja_JP.UTF-8
なお、 file-roller の場合は、前述の p7zip-full 問題もあるので、
SJIS ファイル名を扱う為には p7zip-full パッケージの削除が必要でした。
Ubuntu10.04で確認しましたが、完全なクリーンインストール環境ではないので
間違っていたらごめんなさい。
utf8を期待するアプリが動かなくなる可能性もあるので、
その時もごめんなさい。
#でも、気になるのは…
# gdmログイン後のロケールは何故変わったんだろう?
# "UTF-8" じゃないと困るアプリって、どれくらいあるんだろう?
# "utf8" じゃないと困るアプリってあるんだろうか?
# そもそも、"UTF-8" と "utf8" の違いってなんだろう?
# su - でログインすると locale は "UTF-8" になってる。
# kdm ってどうなの?
#
#どうあるべきなんでしょう、よく分かりません。
オフライン
暫定ですが、下記がご参考になりませんでしょうか? そのうちアップデートで修正されるのかな……と思います。
sudo dpkg-reconfigure locales;sed 's/ja_JP.utf8/ja_JP.UTF-8/' ~/.dmrc > tmp && mv tmp ~/.dmrc
LucidのLANGがja_JP.utf8のとき(ブログ)
Ubuntu 10.04で、日本語を含むzipファイルを解凍すると文字化けする(ブログ)
オフライン
.xprofileにlocale設定を記述することで、nautilusのlocaleを変更できました。
ありがとうございます。助かりました。
オフライン
この現象に遭遇された方にお願いです。以下の出力が欲しいので、直す前に取得して貼り付けて頂けると助かります。
cat /etc/default/locale cat .dmrc cat /var/cache/gdm/${USER}/dmrc sudo egrep 'gdm|locales' /var/log/dpkg.log*
また、10.04のリリース版のクリーンインストールなのか、9.10からのアップグレードなのか、10.04のAlpha3からといったような形で、「どのバージョンでインストールしたか」の情報もください。
# なにか .dmrc を壊す子がいる(いた?)ような気配が……。
オフライン
9.10 からのアップグレード環境,および,10.04 のクリーンインストール環境で,gdm 経由でログインすると,ともに,
$ printenv LANG ja_JP.utf8 $ unzip -l hoge.zip
で,アーカイブの中の日本語ファイル名が文字化けし,
$ LANG=ja_JP.UTF-8 unzip -l hoge.zip
で,正しく表示されます.
unzip のバージョンは
ii unzip 6.0-2~5.52~ja3 De-archiver for .zip files
です.
/etc/default/locale, ~/.dmrc, /var/cache/gdm/${USER}/dmrc の 3ファイルはどちらの環境でも
$ cat /etc/default/locale LANG="ja_JP.UTF-8" $ cat .dmrc [Desktop] Language=ja_JP.utf8 Layout=jp $ cat /var/cache/gdm/${USER}/dmrc [Desktop] Language=ja_JP.utf8 Layout=jp
でした.
/var/log/dpkg.log* は故あって,アップグレード環境のログしか残っていません.
$ sudo egrep 'gdm|locales' /var/log/dpkg.log* /var/log/dpkg.log:2010-05-01 02:09:49 upgrade gdm-guest-session 0.14 0.15 /var/log/dpkg.log:2010-05-01 02:09:49 status half-configured gdm-guest-session 0.14 /var/log/dpkg.log:2010-05-01 02:09:49 status unpacked gdm-guest-session 0.14 /var/log/dpkg.log:2010-05-01 02:09:49 status half-installed gdm-guest-session 0.14 /var/log/dpkg.log:2010-05-01 02:09:50 status half-installed gdm-guest-session 0.14 /var/log/dpkg.log:2010-05-01 02:09:50 status unpacked gdm-guest-session 0.15 /var/log/dpkg.log:2010-05-01 02:09:50 status unpacked gdm-guest-session 0.15 /var/log/dpkg.log:2010-05-01 02:37:57 configure locales 2.11+git20100304-3 2.11+git20100304-3 /var/log/dpkg.log:2010-05-01 02:37:57 status unpacked locales 2.11+git20100304-3 /var/log/dpkg.log:2010-05-01 02:37:57 status unpacked locales 2.11+git20100304-3 /var/log/dpkg.log:2010-05-01 02:37:57 status half-configured locales 2.11+git20100304-3 /var/log/dpkg.log:2010-05-01 02:38:20 status installed locales 2.11+git20100304-3 /var/log/dpkg.log:2010-05-01 02:56:41 configure gdm 2.30.0-0ubuntu5 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:41 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:41 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:41 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:41 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:42 status half-configured gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 02:56:45 status installed gdm 2.30.0-0ubuntu5 /var/log/dpkg.log:2010-05-01 03:01:38 update-alternatives: run with --install /usr/share/ubuntu-artwork/home/index.html firefox-homepage /usr/share/ubuntu-artwork/home/firefox-index.html 40 --slave /usr/share/ubuntu-artwork/home/locales firefox-homepage-locales /usr/share/ubuntu-artwork/home/locales-ubuntu /var/log/dpkg.log:2010-05-01 03:03:24 configure gdm-guest-session 0.15 0.15 /var/log/dpkg.log:2010-05-01 03:03:24 status unpacked gdm-guest-session 0.15 /var/log/dpkg.log:2010-05-01 03:03:24 status unpacked gdm-guest-session 0.15 /var/log/dpkg.log:2010-05-01 03:03:24 status half-configured gdm-guest-session 0.15 /var/log/dpkg.log:2010-05-01 03:03:24 status installed gdm-guest-session 0.15 /var/log/dpkg.log.1:2010-05-01 00:50:00 upgrade gdm 2.28.1-0ubuntu2.1 2.30.0-0ubuntu5 /var/log/dpkg.log.1:2010-05-01 00:50:00 status half-configured gdm 2.28.1-0ubuntu2.1 /var/log/dpkg.log.1:2010-05-01 00:50:32 status unpacked gdm 2.28.1-0ubuntu2.1 /var/log/dpkg.log.1:2010-05-01 00:50:32 status half-installed gdm 2.28.1-0ubuntu2.1 /var/log/dpkg.log.1:2010-05-01 00:50:33 status half-installed gdm 2.28.1-0ubuntu2.1 /var/log/dpkg.log.1:2010-05-01 00:50:33 status half-installed gdm 2.28.1-0ubuntu2.1 /var/log/dpkg.log.1:2010-05-01 00:50:35 status half-installed gdm 2.28.1-0ubuntu2.1 /var/log/dpkg.log.1:2010-05-01 00:50:36 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log.1:2010-05-01 00:50:36 status unpacked gdm 2.30.0-0ubuntu5 /var/log/dpkg.log.1:2010-05-01 01:55:22 upgrade locales 2.9+git20090617-3 2.11+git20100304-3 /var/log/dpkg.log.1:2010-05-01 01:55:22 status half-configured locales 2.9+git20090617-3 /var/log/dpkg.log.1:2010-05-01 01:55:22 status unpacked locales 2.9+git20090617-3 /var/log/dpkg.log.1:2010-05-01 01:55:23 status half-installed locales 2.9+git20090617-3 /var/log/dpkg.log.1:2010-05-01 01:55:56 status half-installed locales 2.9+git20090617-3 /var/log/dpkg.log.1:2010-05-01 01:55:56 status unpacked locales 2.11+git20100304-3 /var/log/dpkg.log.1:2010-05-01 01:55:56 status unpacked locales 2.11+git20100304-3
念のため,gzip された dpkg.log.*.gz も調べましたが,無関係のようです.
$ sudo zegrep 'gdm|locales' /var/log/dpkg.log.*.gz /var/log/dpkg.log.5.gz:2009-12-02 10:08:47 upgrade gdm 2.28.1-0ubuntu1 2.28.1-0ubuntu2 以下略
しばらくは unzip することは無いし,必要になったら,環境変数を一時的に変更すれば済むので当面このままにしておきます.
オフライン
なぜ発生したのかを把握できました。ご協力頂いた方々、どうもありがとうございます。
バグのfixまではしばらくお待ちください。
一時的な回避策としては、~/.dmrcを書き換える方法をとって頂くのが無難そうです。
オフライン
https://bugs.launchpad.net/ubuntu-jp-improvement/+bug/579116
事実関係だけ書いておきます。
・根本的にはunzipパッケージが .UTF-8 形式でないと認識できないことが原因です。
・間接的な原因は、Lucidの開発終盤で行われたgdm/language-selector/ubiquityの合わせ技の問題により、~/.dmrcに .utf8 形式での指定が行われていることです。
・(近い?)将来、LANGは*.utf8形式に収束するはずです。
・Japanese Remixでは、unzipパッケージの修正版をごく近い将来リリースします。
ということで、unzipパッケージの更新版リリース後は↓が推奨になります。
ある程度のバグの発生を許容できる方:
・特に何もせず、GDMによるLANG指定が原因らしき問題に遭遇したらバグ報告する。
・「GDMによるLANG指定が原因らしき問題」とは、
- 普通にログインして使っている範囲では再現する
- しかし、コンソールからログインした場合には再現しなくなる
- ……という条件を満たす、文字コード・ロケールに関連する問題
バグの発生を避けたい方:
・~/.dmrcを書き換えるか、~/.xprofileで .UTF-8 形式の指定を行う。
※ 将来的に新たな問題に遭遇する可能性があります。どこかで .utf8 形式に切り替えてください。
オフライン
unzipは修正版をリリースしましたので、Remix環境であればアップデートで解決します。
xarchiverはこれからどうするか考えますが、これ、どの程度必要なものでしょうか的な情報をお待ちしております……。
オフライン