
Ubuntu日本語フォーラム
ログインしていません。
フォーラムのサイト検索で似た症状が見つかりましたが
解決に至っていない様でしたので質問させて頂きます。
今回妻と子供が共有しているPCにWindows 7とUbuntu 10.04(本家版)のデュアルブートを
grub4dosを使用した環境で無事構築できたのですが、
ログイン時に言語の選択でenglishを選択したところ全体の20%程度しか英語に
切り替わりません。(日本語を選択した場合は完全に日本語に切り替わります)
因みに言語サポートで日本語をEnglishの下に移動させると当然だと思われますが
全て英語に切り替わります。
<英語に切り替えた際の症状例>:
*デスクトップ上部パネルのアプリケーション、場所、システムは日本語で日付は英語。
*パネル上のアプリケーションおよびシステム(設定・システム管理)をクリックした時のメニューが
英語(2割)+日本語(8割)になり完全に切り替わってない。
*evolutionなどアプリケーションのメニューは日本語
*端末からupdateしたときはすべて英語表記等・・・
このPCは以前Ubuntu 10.04(本家版)をシングルブートで使用していましたが、
その際ログイン時に言語の選択で英語⬌日本語の切り替えは完璧に機能していました。
インストール時の言語選択は以前のシングルブートおよび今回のインストール共に
日本語を選択しました。
そして言語サポートの優先順位は以前と現在共以下の通りです。
English (Philippines)
日本語 (日本)
日本語
English (United Kingdom)
English
アドバイス頂ければ幸いです。
宜しくお願いします。
オフライン
10.10で試してみました。バージョンが異なるので、そちらの状況と同じになるか微妙なところですが、こちらでは正常に切り替えられるようです。試したのは日本語とEnglish(UK)の切り替えです。
1. 英語関連のlanguageがインストールされているか確認してみて下さい。
2. ログイン時の言語選択ではEnglish(地域)のような形で表示されますでしょうか。どの地域の英語を選択していますでしょうか。
3. 地域によってはデータが整備されておらず、一部、別の言語で表示されてしまうかも知れません。UKやUSAなら整備されているかと思いますので、これらで代替することは可能でしょうか。
オフライン
hmatsueさん、回答して頂きありがとうございます。
hmatsue による投稿:
1. 英語関連のlanguageがインストールされているか確認してみて下さい。
システム管理 > 言語サポート を開いても言語サポート関連で不足している旨のポップアップは
表示されませんでした。
hmatsue による投稿:
2. ログイン時の言語選択ではEnglish(地域)のような形で表示されますでしょうか。どの地域の英語を選択していますでしょうか。
今現在ログイン時の言語選択では "英語(英国)、英語(フィリピン)、日本、英語(米国)、その他" です。
以前は "English(Philippines), Japanese, Other" で表示され、妻および子供はEnglish(Philippines)・
私はJapaneseを選択していました。
hmatsue による投稿:
3. 地域によってはデータが整備されておらず、一部、別の言語で表示されてしまうかも知れません。UKやUSAなら整備されているかと思いますので、これらで代替することは可能でしょうか。
英語(英国)、英語(米国)を選択しても状況は変わりませんでした。
それから言語サポートの優先順位にEnglish (United Kingdom)を一番上にして
ログアウトしても変わらずでした。
因みに言語サポートの異常に気付く前に行ったことはJapanese Testersのリポジトリを追加して
mozc(新規インストール)とlanguage-support-ja確か??(アップグレード)しました。
以上ではありますが、宜しくお願いします。
オフライン
VirutalBoxで再現確認してみました。
Ubuntu 10.04.1 LTSでインストール時に言語を日本語に選択し、
インストール後に、ログイン画面で言語設定から英語(フィリピン)を選択してもちゃんと切り替わりませんね。。
端末で、
set | grep -i lang
とかしてみると、
GDM_LANG=en_PH.utf8 LANG=en_PH.utf8 LANGUAGE=ja_JP:ja:en_PH:en_GB:en --lang --language-tag --local-data-dir -d --master \
こんな出力がでてくるので、どこかの誰かがLANGUAGEにja_JPを突っ込んでしまっているようです。
根本対策は、この設定を誰がやっているのか突き止めて、修正するということになるかと思います。
gedit ~/.profile
などとして、~/.profileを開き、一番最後に、
export LANGUAGE="en_PH" export LANG="en_PH.utf8"
とか書き足しておくと、強制的にen_PHに切り替えられるようなので、それで対処するのが一番簡単かと思います。
ちょっとだけ面倒ですが、家庭内の利用だと、それほど多くのアカウントがあるわけでも無いと思いますので上記で対処できませんでしょうか。
# もし根本原因を探すのであれば、GDMから順に追っていくのが良いかと思います。
オフライン
mabuhayさん、
次の投稿で、
cat /etc/environment cat /etc/default/locale egrep '^LANG' ~/.profile printenv | egrep '^LANG'
の各コマンドごとの出力結果をください。
それ以外はやらなくてよいですので。
--
私の予想はというと、環境変数LANGUAGEの候補値が悪さをし、環境変数LANGとアンマッチな状態に陥るバグを踏んでいる、というものです。
例えば、 https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/553162 とか。
あれこれ触っていて分かったのですが、「言語サポートの画面」で言語の順番を入れ替えると、環境変数LANGUAGEが~/.profileに書き込まれる動きをします。また、システム全体に設定ボタンを押下すると、/etc/environment、/etc/default/localeに書き込まれる動きをします。
従って、言語の順番を入れ替えて、再ログイン時してから、今回の状況に陥ったと予想しています。
実際に私の実験環境でも、同じ現象が確認されています。
なお、日本語のリポジトリやlanguage-support-ja とかは全然関係ないでしょう。(日本語のリポジトリを追加しなくても現象が起きました。)
暫定的に設定ファイルを修正して、直す方法は分かっています。
私の予想が外れているかもしれないので、まずは予想が当っているのか?を知りたいです。
STGSAGWAN による投稿:
mabuhayさん、
次の投稿で、コード:
cat /etc/environment cat /etc/default/locale egrep '^LANG' ~/.profile printenv | egrep '^LANG'の各コマンドごとの出力結果をください。
それ以外はやらなくてよいですので。
すみません、少し間違えました。
最後のコマンド
printenv | egrep '^LANG'
だけは、"English(Philippines)"と"日本語"でログインした両方のケースでお願いします。
STGSAGWAN による投稿:
mabuhayさん、
次の投稿で、コード:
cat /etc/environment cat /etc/default/locale egrep '^LANG' ~/.profile printenv | egrep '^LANG'の各コマンドごとの出力結果をください。
それ以外はやらなくてよいですので。
すみません、また間違えました。
以下が正しいです。
cat /etc/environment cat /etc/default/locale grep 'LANG' ~/.profile printenv | egrep '^LANG'
です。
そして、相変わらず、最後のコマンド
printenv | egrep '^LANG'
だけは、"English(Philippines)"と"日本語"でログインした両方のケースでお願いします。
hmatsueさん、STGSAGWANさん回答して頂きありがとうございます。
ファイルに変更を加える前にSTGSAGWANさんの出力結果をと思いましたので以下に
結果を記述します。
STGSAGWAN による投稿:
cat /etc/environment
cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="ja_JP:ja:en_PH:en_GB:en"
LANG="en_PH.utf8"
STGSAGWAN による投稿:
cat /etc/default/locale
cat /etc/default/locale
LANG="en_PH.utf8"
LANGUAGE="ja_JP:ja:en_PH:en_GB:en"
STGSAGWAN による投稿:
grep 'LANG' ~/.profile
~$ grep 'LANG' ~/.profile
export LANGUAGE="ja_JP:ja:en_PH:en_GB:en"
export LANG="en_PH.utf8"
STGSAGWAN による投稿:
printenv | egrep '^LANG'
<日本語>
~$ printenv | egrep '^LANG'
LANG=ja_JP.utf8
LANGUAGE=ja_JP:ja:en_PH:en_GB:en
<English(Philippines)>
~$ printenv | egrep '^LANG'
LANG=en_PH.utf8
LANGUAGE=ja_JP:ja:en_PH:en_GB:en
上記のような結果になりました。
宜しくお願いします。
オフライン
hmatsueさん、他に選択肢がないようであるならばアドバイス頂いた
以下の
hmatsue による投稿:
コード:
export LANGUAGE="en_PH"
export LANG="en_PH.utf8"
を~/.profileの一番最後に記述し実行したいと思っております。
因みに上記のコードは言語サポートの優先をEnglish(Philippines)のみにしてしまうということでしょうか?
オフライン
mabuhayさん、出力結果の採取はバッチリです。結果は私の予想した通りです。
問題は環境変数LANGUAGEが定義されてしまっている事にあります。
環境変数LANGUAGE自体は別に悪者ではないですが、今のUbuntu 10.04では、それが定義されていると同じユーザでの言語の切り替えが思ったように機能しません。
# 他のUbuntuのバージョンでは試していないので分かりません。
# そもそも、1ユーザが言語を頻繁に切り替えるような想定ではなく、1ユーザ=1言語を想定している感じがします。
以下の作業の目的は、環境変数LANGUAGEの定義をシステム上から一切無くす事にあります。
「言語サポートの画面」で言語の順番を入れ替えた事で、環境変数LANGUAGEが書き込まれたのならば、画面からそれを元に戻せばよいと思われるかもしれませんが、残念ながら画面上の操作で定義を消す方法を私は知りません。
仮に、Englishを一番上に持ってきても、LANGUAGE="en"はどうしても残ってしまうのです。
よって、設定ファイルを手動で編集し、LANGUAGEの定義を消すことにします。
一旦定義を消したら、今後は「言語サポートの画面」で言語の順番は変えないでください。変える必要はないはずです。変えるとまた今回のような現象に陥ります。
以下、作業開始です。
gksudo gedit /etc/environment
でファイルを開き、LANGUAGEの行を消します。
LANGはあっても害はないですが、紛らわしいのでLANGの行は消します。
gksudo gedit /etc/default/locale
でファイルを開き、LANGUAGEの行を消します。LANGの行はそのまま残します。
これがシステムのデフォルトのLANGになります。(ログイン画面とかの表示言語とか)
gedit ~/.profile
でファイルを開き、ファイル末尾の方にあるexport LANGUAGEの行を消します。
ファイル末尾の方にあるexport LANGはあっても害はないですが、紛らわしいのでexport LANGの行は消します。
作業は以上です。
# ちなみに、作業後の状態は、日本語でUbuntuをインストール後、/etc/default/localeだけをLANG=ja_JP.utf8からLANG=en_PH.utf8に変えた後の状態と全く同じになります。
作業後は一旦OS再起動します。(今回の作業では、システムのデフォルトのLANGを変えていないのでログアウトするだけで十分ですが、もし変えた場合はOSごと再起動してしまうのが分かりやすくてよいでしょう。)
作業後の確認事項としては、
1. ログイン画面が英語ベースであること。
2. <日本語>でログインし、画面の表示が期待通りであること
また
printenv | egrep '^LANG'
の結果が
LANG=ja_JP.utf8
だけになること
3. <English(Philippines)>でログインし、画面の表示が期待通りであること
また
printenv | egrep '^LANG'
の結果が
LANG=en_PH.utf8
だけになること
を確認してください。
mabuhayさん、
あまり重要な事ではないですが、投稿#8の出力結果を見ると、
LANGUAGE="ja_JP:ja:en_PH:en_GB:en"
とあるので、投稿#8の時点の順番は、投稿#1で書かれた順番
English (Philippines)
日本語 (日本)
日本語
English (United Kingdom)
English
ではなく、
日本語 (日本)
日本語
English (Philippines)
English (United Kingdom)
English
だったのだと思います。
どちらにせよLANGUAGEの定義は消さないと直らないので、この事はどうでもよいのですけどね。
mabuhay による投稿:
フォーラムのサイト検索で似た症状が見つかりましたが
参考までにどのURLですか?
hmatsueさん、
投稿#4で、強制的にen_PHにする妥協案で収束しそうな気配がしたので、#5から急遽途中参加しました。
投稿#2の質問があってこそ、スムーズに調査できました。
STGSAGWANさん、報告が遅くなり申し訳ありませんでした。
結果は指示通りに実行したところ以前と同様に
ログイン画面の言語選択で日本語およびEnglish (Philippines)で
完璧に切り替えができました。
STGSAGWAN による投稿:
コード:
printenv | egrep '^LANG'
の実行結果は
<日本語>
LANG=ja_JP.utf8
<English (Philippines)>
LANG=en_PH.utf8
問題ありませんでした。
本当にありがとうございました。
STGSAGWAN による投稿:
参考までにどのURLですか?
https://forums.ubuntulinux.jp/viewtopic.php?pid=59934
このURLです。
因みに報告が遅くなったというのは、妻のアカウントで問題がないことを確認後
息子のアカウントで問題ないことを確認して一息ついた後、
STGSAGWANさんに報告をと思い息子のアカウントで入力を始めようとしたところ
全く日本語入力ができなくなり(パネル右側のキーボードアイコンが消えていました)
四苦八苦しましたが、結局わからず妻のアカウントでログインしてこの報告を入力した次第です・・・
もう少し頑張ってみますがギブアップした際は新たにトピックを投稿させて頂きたいと思います。
ご親切に本当にありがとうございました。
オフライン