GnomeターミナルプロファイルはデフォルトでUTF-8を使用できますか?


19

私はUbuntu(私が思うに)システムにいます。私していない私は、ロケールを変更することはできませんので、ルートを持っています。デフォルトの端末プロファイルでデフォルトでUTF-8を使用するようにします。これを行う方法は、.gconf/apps/gnome-terminal/どこかのディレクトリ、環境変数などのいずれかである必要があります。しかし、私はそれを見つけることができないようです。

詳細を編集します。

ターミナルには、次のものがあります。

grid-unv55$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
grid-unv55$ gnome-terminal

その新しいターミナルでさらにUTFドキュメントを試みると、次のようになります。

\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
\noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd

画面にドットとして表示されます。(ウッフはカットアンドペーストでした。 "\ noise:bgspeech"をそこに残したので、アスキーが正しくカットアンドペーストされていることがわかります)

回答:


12

私はgnome-terminalはUTF-8で動作するだろうとシェルで有効になっていると思うので、あなたがする必要があるのはそれを有効にすることだけです。プット

export LANG=en_US.UTF-8

~/.bashrc、そこに行きます。


編集:

わかりましたので、現在のところ、これを設定することはできません。Gnomeターミナルは現在の環境のLANG設定に従い、そのエンコーディングをデフォルトとして使用します。したがって、gnome-terminalを起動するに、LANGにUTF-8を含める必要があります。これを設定することで~/.bashrc実行できます。ログアウトして再度ログインするだけです。

~/.bash_profileサブシェル用にオーバーライドできるように、実際にこれを配置する方が良いことに注意してください。ただし、Gnome環境のセットアップの一環として、bashがログインシェルとして必ず実行されるかどうかはわかりません。テストする価値があります。)


1
動作していないようです。
ブライアンポストウ

うーん $ LANGはデフォルトで何に設定されていますか?それをあなたのbashrcに入れると、それが変わりますか?
mattdm

C、およびbashrcに配置すると、変更されました。確かに、ログアウトして再度ログインすることはありませんでしたが、新しい端末を起動し、LANGでUTFで起動しました(ロケールもUTFで設定されています)が、端末にはまだ日本語が表示されません...
ブライアン

1
以前は、gnome-terminal のシェルでのみ設定されていました。現在、gnome-terminal自体が実行される環境で設定されています。
mattdm

2
Ubuntuの10.04の下で、あなたはからセッション全体の環境変数を設定することができます~/.profile- ではない~/.bashrc、といない~/.bash_profileのどちらか
ジル 'SO-悪である停止

9

gnome-terminal次のコマンドでロケールを設定できDefaultます。ここで、プロファイルの名前です。

gconftool --set --type=string /apps/gnome-terminal/profiles/Default/encoding en_US.UTF-8

これは私のために働いた。しかし、変更した後、不要だったLANG=en_US.UTF-8.bashrcして再起動
アントニオHadjigeorgalisを

私にとっては素晴らしい仕事でした!
ジョシュM.

7

私は同様の問題を抱えていましたが、設定LANG.bash_profileうまくいかなかった場合、Gnomeでは、GDMログイン画面からセッションの開始時にデフォルトのロケールを設定できることがわかりました。これは、ルートアクセスなしで実行できます。


3

チェックインしmenu->terminal->set character encodingたのはutf-8です

ターミナルとbashは同じものではありません。

cat utf-8-fileファイルを適切に表示し、gnome-terminalがセットアップされている場合、(catとbashはこのファイルを変更せずに端末に渡します(実際にはsttyに、sttyは改行をcarrage return、newlineなどに変換します))。(英語でutf-8を使用しているので、これまでのところこれがすべてです。Ubuntu10.10およびDebian 6で既にセットアップされています)。そのため、bashなどをセットアップするだけです。

〜/ .bashrcの再読み込み

編集する~/.bashrc場合は、それを再読み込みする. ~/.bashrc(または新しいシェルを開始する)必要があります(ドットを忘れないでください)


1
手動で文字エンコードをutf-8に変更すると、それが行われますが、正しいロケールを持つ端末からでも新しいgnome-terminalを起動すると、エンコードはまだasciiです。質問に詳細を追加します。
ブライアンポストウ

3

修正したばかりの問題がありましたが、新しいバージョンのGNOME(およびgnome-terminal)を使用する新規ユーザーに関連する可能性があります。

使用するテキストエンコーディングでは、シェル(bashなど)とターミナルエミュレータ(gnome-terminalなど)で同じエンコーディングを使用する必要があります。たとえば、シェルが使用en_US.utf8し、ターミナルエミュレータがen_US.ISO-8859-1(別名latin1)を使用している場合、UTF-8出力のプログラムのターミナルに奇妙なテキストが表示されます。

今、私はログイン時にエンコードを設定することはできません。これは、作業中のGDMの古いバージョンがあるためかもしれません。これが、私が別のソリューションを必要とした理由です。

とにかく、GNOME 3は自動的にソースを.bashrc取得したり.profile、ログインしたりしないようです。しかし、それはソースを行います.gnomerc GNOMEプログラムにエクスポートされる環境変数を置くことができるを行います(私が知る限り)。

パッティングexport LANG="en_US.utf8".gnomercこれは、新しいインスタンスが起動され、デフォルトでUTF-8エンコーディングを使用してgnome-terminalの始まり。(必要に応じてロケールを変更します。)

うまくいけば、これは誰かに役立っています!


-1

他のユーザーが述べたように、使用しているエンコーディングをシェルに伝えます

export LANG=en_US.UTF-8

これを.bashrcに入れて、gnome-terminal 次のログイン時です。

その場でgnome-terminalのエンコーディングを設定します: メニューバー>ターミナル> Set Character Encoding

デフォルトのエンコーディングを永続的に設定:gconf-editor> Apps> gnome-terminal> Profiles> Default> encoding> utf-8


2
これはまったく真実ではありません。私には、.profileファイルと.bashrcファイルがあります。私のログインシェルはbashです。gnome-terminalは、.profileのLANG設定と競合する場合、.bashrcのLANG設定を無視します。したがって、LANGは両方のファイルに設定する必要があります。
ゲイリー14年

並べ替え…私の理解では、bashはログインシェルに.profileを使用し、それ以外の場合は.bashrcを使用します。Linuxでは、新しいコマンドウィンドウは.bashrcを使用します(Macでは.profileです)。両方が自動的に実行される状況は知りませんが、すべての構成を1つに設定してから他の設定を呼び出すことは非常に一般的です。通常、.bashrc.profileから実行されます(通常は対話型シェルからのみ)。if [ -n "$BASH_VERSION" -a -f "$HOME/.bashrc"; then . "$HOME/.bashrc"; fi
エドワードフォーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.