私はLinux Mint Debian Edition 2 "Betsy"(利用可能なすべてのアップデートが適用されたRCでインストールされています)とMATEデスクトップ環境を備えたコンピュータを持っています。私の問題は、一部のアプリケーションで私の母国語(ポーランド語)で使用される特殊文字が含まれているため、一部のフォルダとファイルが正しく処理されないことです。
より具体的には、通常、合致端末、Pluma(MATEテキストエディタ)、およびcaja(ファイルマネージャ)でAlt +文字で入力されるポーランド語の特殊文字、およびおそらく確認していないいくつかの文字は無視されます(印刷された文字はありません) 。 - PlumaとCajaでは)または疑問符(合致端末で)に置き換えられます。合致端末で実行すると、vimも特殊文字を疑問符で置き換える方法で実行されます。
私はこれがシステム全体の問題だとは思わない。なぜ?なぜなら、他のttyに切り替えて端末にこれらの特殊文字を入力しようとすると、何の問題も発生しないからです。 mate-terminalでマークされたフォルダは、zdj?cia
他のttyに表示されるフォルダで正しくラベル付けされていますzdjęcia
。 vimはターミネータで実行しても問題が発生しないため、問題はMATEに関連しているようです。
また、次の方法でデバッグを試みました。 mate-terminalでホームディレクトリ(ポーランド語の特殊文字を含むファイルとディレクトリを含む)を一覧表示し、出力をテストファイルにls
リダイレクトしました。その後、別のttyに切り替えてcat
ファイルをテストしました。文字が正しく印刷されました。
私はそれを試しましたdpkg-reconfigure locales
。言語パックはMATE Control Centerを介してインストールされました(そしてその過程で再インストールされました)。
次は何を試すべきですか?
編集する:
mate-terminal
グラフィック環境では:
$ロケール ロケール:LC_ALLをデフォルトのロケールに設定できません。そのファイルやディレクトリはありません。 LANG=en_GB.UTF-8 言語= LC_CTYPE="en_GB.UTF-8" LC_NUMERIC=\"pl_PL.UTF-8\" LC_TIME=en_GB.UTF-8 LC_COLLATE="en_GB.UTF-8" LC_MONETARY=\"pl_PL.UTF-8\" LC_MESSAGES="en_GB.UTF-8" LC_PAPER=\"pl_PL.UTF-8\" LC_NAME=\"pl_PL.UTF-8\" LC_ADDRESS=\"pl_PL.UTF-8\" LC_TELEPHONE=\"pl_PL.UTF-8\" LC_MEASUREMENT=\"pl_PL.UTF-8\" LC_IDENTIFICATION=\"pl_PL.UTF-8\" LC_ALL=
tty1(文字エンコーディングはうまく機能します):
$ロケール LANG=en_GB.UTF-8 LANGUAGE=en_GB:en LC_CTYPE="en_GB.UTF-8" LC_NUMERIC=pl_PL.UTF-8 LC_TIME=en_GB.UTF-8 LC_COLLATE="en_GB.UTF-8" LC_MONETARY=pl_PL.UTF-8 LC_MESSAGES="en_GB.UTF-8" LC_PAPER=pl_PL.UTF-8 LC_NAME=pl_PL.UTF-8 LC_ADDRESS=pl_PL.UTF-8 LC_TELEPHONE=pl_PL.UTF-8 LC_MEASUREMENT=pl_PL.UTF-8 LC_IDENTIFICATION=pl_PL.UTF-8 LC_ALL=
編集する:
grep -Rs pl_PL /etc ~/.?*
「バイナリファイル×一致パターン」を削除してパイピングすると、次のようになりますsort | uniq
。
/etc/default/locale /etc/locale.alias /etc/locale.gen /etc/mdm/locale.conf /ホーム/マルタ/../marta/.bash_history /home/marta/../marta/.config/user-dirs.locale /home/marta/../marta/.linuxmint/mintMenu/apt.cache /home/marta/../marta/.pam_environment /home/marta/../marta/.xsession-errors /home/marta/.bash_history /home/marta/.config/user-dirs.locale /home/marta/.linuxmint/mintMenu/apt.cache /home/marta/.pam_environment /home/marta/.xsession-errors
はい、このコンピュータは実際に私のものではありませんが、大丈夫です:)
別の編集:
ロケール設定を含むファイルの内容:
$cat/etc/default/locale LANG="en_GB.UTF-8" LANGUAGE="en_GB:en" LC_NUMERIC="pl_PL.UTF-8" LC_TIME="en_GB.UTF-8" LC_MONETARY="pl_PL.UTF-8" LC_PAPER="pl_PL.UTF-8" LC_IDENTIFICATION="pl_PL.UTF-8" LC_NAME="pl_PL.UTF-8" LC_ADDRESS="pl_PL.UTF-8" LC_TELEPHONE="pl_PL.UTF-8" LC_MEASUREMENT="pl_PL.UTF-8"
$猫/home/marta/.pam_environment LC_NUMERIC="pl_PL.UTF-8" LC_TIME=en_GB.UTF-8 LC_MONETARY="pl_PL.UTF-8" LC_PAPER="pl_PL.UTF-8" LC_IDENTIFICATION="pl_PL.UTF-8" LC_NAME="pl_PL.UTF-8" LC_ADDRESS="pl_PL.UTF-8" LC_TELEPHONE="pl_PL.UTF-8" LC_MEASUREMENT="pl_PL.UTF-8"
$猫/home/marta/.config/user-dirs.locale pl_PL
答え1
LC_変数の値が二重引用符で囲まれた.pam_environmentファイルがある可能性があります。
# WRONG
LC_TIME="en_US.UTF-8"
代わりに、次のようにする必要があります(引用符を除く)。
LC_TIME=en_US.UTF-8
したがって、.pam_environmentファイルを削除するか、
mv ~/.pam_environment ~/.pam_environment.off
または、値の周囲の二重引用符を削除するように編集します。
perl -i.bak -pe 's/"//g' ~/.pam_environment
詳細については、次を参照してください。 」生成されたロケールファイルには二重引用符を含めないでください。Githubのlinuxmint / mintolocaleから