rootでログインするとtmuxで日本語が化ける謎
違いが分からなくて悩んでいました.
[tullio@stepserver]$ ssh root@myserver [root@myserver] $ su tullio [tullio@myserver] $ tmux at [tullio@myserver] $ less file.txt ___________
rootでログインしてから自分アカウントになってtmuxをアタッチしてUTF-8のファイルの中身を見ると,日本語がアンダースコアになって読めない.
最初から自分アカウントでログインすると,問題ない.
[tullio@stepserver]$ ssh tullio@myserver [tullio@myserver] $ tmux at [tullio@myserver] $ less file.txt 日本語
lessする時の環境は,tmuxでセッションを再現しているので化けるときも化けない時も同じです.
...と思い込んでいたのですが,tmuxをアタッチする直前の環境変数が,rootと自分アカウントでは違いました.
[root@myserver] $ su tullio [tullio@myserver] $ echo $LANG en_US
[tullio@myserver] $ echo $LANG en_US.UTF-8
結論として,tmuxを立ち上げる前に環境変数をセットしておくとOK.
[root@myserver] $ su tullio [tullio@myserver] $ echo $LANG en_US [tullio@myserver] $ export LANG=en_US.UTF-8 [tullio@myserver] $ tmux at [tullio@myserver] $ less file.txt ___________
ん?
もう一つ悪さをしている環境変数がありました.
[detached] [tullio@myserver] $ echo $LC_ALL en_US [tullio@myserver] $ unset LC_ALL [tullio@myserver] $ tmux at [tullio@myserver] $ less file.txt 日本語