お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-05-09 00:10:52

hans128
新しいメンバ
登録日: 2010-05-09

nautilusのlocale設定について

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. 再起動

オフライン

 

#2 2010-05-10 23:39:21

gekogeko
新しいメンバ
登録日: 2009-01-23

Re: nautilusのlocale設定について

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 ってどうなの?
# 
#どうあるべきなんでしょう、よく分かりません。

オフライン

 

#3 2010-05-11 06:14:19

nnit1nvan01iv
メンバ
登録日: 2009-04-14

Re: nautilusのlocale設定について

 暫定ですが、下記がご参考になりませんでしょうか? そのうちアップデートで修正されるのかな……と思います。

コード:

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ファイルを解凍すると文字化けする(ブログ)

オフライン

 

#4 2010-05-11 06:15:39

hans128
新しいメンバ
登録日: 2010-05-09

Re: nautilusのlocale設定について

.xprofileにlocale設定を記述することで、nautilusのlocaleを変更できました。
ありがとうございます。助かりました。

オフライン

 

#5 2010-05-11 10:28:52

hito
管理者
登録日: 2007-03-18

Re: 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 を壊す子がいる(いた?)ような気配が……。

オフライン

 

#6 2010-05-11 20:43:55

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: nautilusのlocale設定について

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 することは無いし,必要になったら,環境変数を一時的に変更すれば済むので当面このままにしておきます.

オフライン

 

#7 2010-05-11 21:18:58

hito
管理者
登録日: 2007-03-18

Re: nautilusのlocale設定について

なぜ発生したのかを把握できました。ご協力頂いた方々、どうもありがとうございます。
バグのfixまではしばらくお待ちください。

一時的な回避策としては、~/.dmrcを書き換える方法をとって頂くのが無難そうです。

オフライン

 

#8 2010-05-12 21:33:46

hito
管理者
登録日: 2007-03-18

Re: nautilusのlocale設定について

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 形式に切り替えてください。

オフライン

 

#9 2010-05-15 19:37:52

hito
管理者
登録日: 2007-03-18

Re: nautilusのlocale設定について

unzipは修正版をリリースしましたので、Remix環境であればアップデートで解決します。

xarchiverはこれからどうするか考えますが、これ、どの程度必要なものでしょうか的な情報をお待ちしております……。

オフライン

 

Board footer

Powered by FluxBB