
Ubuntu日本語フォーラム

ログインしていません。
よろしくお願いします。
Emacsでのshellモードで、lsコマンドを実行すると、以下のように文字化けが起こってしまいます。
[0m[01;32m#emacs1#[0m [0mc1.c~[0m [0memacs2[0m [01;34mnumerical[0m [01;32mshellscript6[0m [01;34m公開[0m
[0mDD385D79.gpg[0m [01;32mcalc1-utf8.c[0m [0memacs2~[0m [01;32mshellscript1[0m [01;32mshellscript7[0m [01;34m雛形[0m
[01;36mExamples[0m [01;32mdata1[0m [0memacs3[0m [01;32mshellscript2[0m [01;32msort-k2[0m [01;34m動画[0m
[01;32ma.out[0m [01;32mdata2[0m [0memacs3~[0m [01;32mshellscript3[0m [01;34mデスクトップ[0m [01;34m文書[0m
[01;32mc.c[0m [01;32memacs1[0m [01;32minstall[0m [01;32mshellscript4[0m [01;34m音楽[0m
[0mc1.c[0m [01;32memacs1~[0m [01;32mmailの下書き[0m [01;32mshellscript5[0m [01;34m画像[0m
一方、端末で同じことを行うと、以下のように表示されます。
#emacs1# c1.c~ emacs2 numerical shellscript6 公開
DD385D79.gpg calc1-utf8.c emacs2~ shellscript1 shellscript7 雛形
Examples data1 emacs3 shellscript2 sort-k2 動画
a.out data2 emacs3~ shellscript3 デスクトップ 文書
c.c emacs1 install shellscript4 音楽
c1.c emacs1~ mailの下書き shellscript5 画像
defaultのフォントは、端末のdefaultフォントと同じ、Monospaceの10を使っているのですが、なぜか文字化けが起こります。
もし、同じような経験をお持ちで、解決方法が分かる方がいらっしゃいましたら、アドバイスをお願いしたいと思います。
オフライン
shell-modeの代わりにansi-termを使ってください。
shell-modeはエスケープシーケンスを含め、多くの文字表示が期待した通りには行われません。
オフライン
エスケープシークエンスを解しない他の端末に出会った時の参考までに.
;; ansi-term は初めて知りました.hito さん,有り難うございます.
shell モードでも ls の --color オプションを無効にすれば ls に関しては#1のエスケープシークエンスは使われません.
ログインした状態で ls の alias 設定がおそらく
$ alias ls
alias ls='ls --color=auto'
となっているので,
$ \ls
で ls を使うか,
$ unalias ls
で alias を無効にするか.
追加:
shell モードはダム端末になってるのですね.
$ printenv TERM
dumb
.bashrc を次のように編集して,ダム端末では色を使わないようにする.
diff -u /etc/skel/.bashrc ~/.bashrc
--- /etc/skel/.bashrc 2008-05-13 03:48:01.000000000 +0900
+++ /home/hoge/.bashrc 2009-03-30 12:24:11.000000000 +0900
@@ -75,7 +75,7 @@
#fi
# enable color support of ls and also add handy aliases
-if [ -x /usr/bin/dircolors ]; then
+if [ "$TERM" != dumb -a -x /usr/bin/dircolors ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'最後の編集者: einundzwanzighundertsechs (2009-03-30 12:47:21)
オフライン
.emacsにこんなのを書いておくとか。
(autoload 'ansi-color-for-comint-mode-on "ansi-color"
"Set `ansi-color-for-comint-mode' to t." t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)オフライン
hitoさん、mizunoさん、einundzwanzighundertsechsさん、ご返事ありがとうございます。
hito による投稿:
shell-modeの代わりにansi-termを使ってください。
問題はこれで、解決しました。
オフライン