terminalで日本語のフォルダが見れない

お世話になります。
できれば投稿したくなかった質問で申訳ないですが。
>Mac OS X 10.2のターミナルは、UTF-8に対応し、多言語の表示が
>可能となった。
>-vオプション付きでlsコマンドを実行するとUTF-8で記録された
>日本語名のファイルやフォルダも正しく表示される。
この件でちょっと前まで使えていたのですが,いろいろいじっていたせいか,いつしか文字セットエンコーディングをUTF-8にして
ls -v を実行しても日本語フォルダが表示されず,文字化けした
ものしか見れなくなってしまいました。コンパイルされた
tcsh,jtcshやら標準Terminal,iTermやら使っても状況は同じで
す。何かおかしくしてしまったのでしょうか?
ちなみに日本語の入力は正常にできるんですよね。
(「cd (日本語フォルダ名)」とか。不思議!)
‾/.tcshrc には以下が書いてあります。
set dspmbyte=utf8
#set dspmbyte=euc^M
source /sw/bin/init.csh
setenv LV '-z -Ia -Ou8'
alias kterme 'kterm -km euc -xim'
setenv PATH "${PATH}:/usr/X11R6/bin"
alias lsn 'ls |& nkf -w'
set path = ($path /usr/local/bin)
本当に関係あるのは
set dspmbyte=utf8
set path = ($path /usr/local/bin)
の2行でしょうけど。
(過去にどんなことしてるか,見て頂く必要があるかなと思い
そのままのものも書きましたが。)
解決策はありますでしょうか?

投稿日 2003/07/13 21:05

返信: 8

2003/07/13 21:25 Community User への返信

>source /sw/bin/init.csh
この行で変数の値が書き変わっていたりしませんか?
setで実際の変数の値を確認してみてください。
/swってfinkが作るんでしたっけ?
/sw/bin/init.cshに、MacOSXのTerminal環境とは相容れないX環境用の
設定が含まれていたりとか?

2003/07/14 06:06 Community User への返信

>この行で変数の値が書き変わっていたりしませんか?
思いっきり関係してるみたいですね
set color
alias l ls-F
使っていたんで気付きませんでした

2003/07/14 06:20 Community User への返信

本当に OSX の tcsh を実行しているかどうかチェックしてみられてはいかがでしょうか?
set とすると、
shell /bin/tcsh
tcsh 6.10.00
..
version tcsh 6.10.00 (Astron) 2000-11-19 (powerpc-apple-darwin..)
と出てきますか?
(これはうちの 10.2.6 のもの)

2003/07/14 18:12 Community User への返信

source /sw/bin/init.csh 状態の env と
#source /sw/bin/init.csh 状態の env を見比べて下さい
source /sw/bin/init.csh <= こいつをコメントにすれば
ls -v で日本語表示出来るんですけど
手動でFinkの設定が面倒な感じですんで
http://pcweb.mycom.co.jp/column/osx/osx029.html
こちらで書かれている
set color
ls-F
が (簡単) (綺麗) (分かりやすい) と思います
#なんか吉野屋みたいな

2003/07/14 20:51 Community User への返信

返事が遅くなりました。
それぞれにお返事を差し上げず,とても申訳ないのですが。
大変親切にお教え頂き,ありがとうございました。
恥ずかしい質問かとも思いましたが,皆さんのアドバイスを
見ると,情報提供できたようで少し安心しました。
皆さんのおっしゃる通り,source /sw/bin/init.csh
をコメントにすると正常に動作しました。ホッとしました。
>set color
>ls-F
たったこれだけで,これでFinkもディフォルトで使えますね。
分かりやすいです。こんな使い方があったなんて!
もっと勉強しとくべきでした。
皆さんありがとうございました。
またお世話になると思いますが,よろしくお願いします。

2003/07/14 21:06 Community User への返信

はに さん コメントありがとうございます。
目的は解決したのですが。
set を使うのは知りませんでしたので,これから活用させていた
だきます。ありがとうございました。

2003/07/14 21:44 Community User への返信

もださん ありがとうございました。
御陰さまで問題は解決したのですが、
/sw/bin/init.csh の中身はスクリプト
ばかりで、スクリプトは普段あまり理解しておりません。
もし簡単に分かるようでしたら...でいいのですが。
日本語表示の妨げになっている部分はあるのでしょうか?
set path = ( /sw/bin /sw/sbin $path /usr/X11R6/bin )
if ( $?MANPATH) then
setenv MANPATH /sw/share/man:/sw/man:${MANPATH}:/usr/X11R6/man
else
setenv MANPATH /sw/share/man:/sw/man:/usr/local/share/man:/usr/local/man:/usr/share/man:/u
sr/X11R6/man
endif
if ( $?INFOPATH ) then
setenv INFOPATH /sw/share/info:/sw/info:$INFOPATH
else
setenv INFOPATH /sw/share/info:/sw/info:/usr/local/share/info:/usr/local/lib/info:/usr/loc
al/info:/usr/share/info
endif
if ( -r /sw/share/java/classpath ) then
if ( $?CLASSPATH ) then
setenv CLASSPATH `cat /sw/share/java/classpath`:$CLASSPATH
else
setenv CLASSPATH `cat /sw/share/java/classpath`
endif
endif
if ( $?PERL5LIB ) then
setenv PERL5LIB /sw/lib/perl5:$PERL5LIB
else
setenv PERL5LIB /sw/lib/perl5
endif
# setting this is not neccessary and results in performance degradation
#if ( $?DYLD_LIBRARY_PATH ) then
# setenv DYLD_LIBRARY_PATH /sw/lib:$DYLD_LIBRARY_PATH
#else
# setenv DYLD_LIBRARY_PATH /sw/lib
#endif
# read per-package scripts from /sw/etc/profile.d
if ( -d /sw/etc/profile.d ) then
set nonomatch
foreach i ( /sw/etc/profile.d/*.csh )
if ( -x $i ) then
source $i
endif
end
unset i nonomatch
endif
if ($?version) then
if ("$version" =‾ tcsh*) then
complete fink 'n/fink/(install remove selfupdate update-all configure list apropos descr
ibe --help --version)/'
endif
endif
set PROXYHTTP=`grep ProxyHTTP /sw/etc/fink.conf | grep -v "#" | cut -d " " -f2`
if ( "$PROXYHTTP" != "" ) then
setenv HTTP_PROXY $PROXYHTTP
setenv http_proxy $PROXYHTTP
endif
set PROXYFTP=`grep ProxyFTP /sw/etc/fink.conf | grep -v "#" | cut -d " " -f2`
if ( "$PROXYFTP" != "" ) then
setenv FTP_PROXY $PROXYFTP
setenv ftp_proxy $PROXYFTP
endif
# eof

2003/07/15 00:10 Community User への返信

想像で書きます。fink使ってないので。
・1行目のpathの設定で、コマンドの検索順が変わり日本語表示の出来ない
 lsが呼び出されていた。どこの(どのパスの)コマンドが実行されているかは
 which ls
とすれば解ります。alias組んでたりするとそれが表示されてしまいますが。
・41行目のsouceで/sw/etc/profile.d/*.cshのいずれかのファイルを
 読み込んだ結果、最終的な変数の値が書き変わってしまった。
私が気になるのはこのぐらいでしょうか。
ーーー
一度、「souce /sw/bin/init.csh」のコメントを外してTemrinalを起動した後
のsetの内容と、コメントしたときのsetの内容を見比べてみてください。
set > aaa.txt
とすればファイルに落ちますので、aaa1.txt、aaa2.txtなどとコメント有り無し
の結果をファイルに落として、
diff aaa1.txt aaa2.txt
で差分を取ってみればどこが変わっているのかすぐ解ると思います。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

terminalで日本語のフォルダが見れない

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。