VNCでCentOSに繋いだとき文字化けするのを解決

とある事情により、CentOSをVNCでMacから接続する必要がありました。

CentOS側の事前準備はこんな感じでした↓

# yum -y groupinstall "X Window System"
# yum -y groupinstall "GNOME Desktop Environment"
# yum groupinstall -y 'Desktop'
# yum groupinstall -y fonts

さて、rootユーザーでVNCで繋いでみると、盛大に文字化けします。
他のユーザーでは文字化けせず問題はありませんでした。
うまくいっているユーザーの $HOME/.vnc/xstartup をコピーしてみたりと、その他いろいろとやってみてもだめでした。どうやらrootユーザーの言語設定が日本語になっており、GUIの日本語サポートがインストールされていないことが要因だったようです (これが分かるまで2時間程度掛かりました。。。情けない)。

解決策ですが、↓をして、vncserverをrestartして接続しなおせばOKです。
# locale が日本語のとき↓
yum groupinstall "Japanese Support"

(localeを英語に変更するのもひとつの手かと思います)

おまけとして、きちんと動くxstartupを貼っておきます。

xstartup
#!/bin/sh

[ -r /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
export LANG
export SYSFONT
vncconfig -iconic &
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
OS=`uname -s`
if [ $OS = 'Linux' ]; then
  case "$WINDOWMANAGER" in
    *gnome*)
      if [ -e /etc/SuSE-release ]; then
        PATH=$PATH:/opt/gnome/bin
        export PATH
      fi
      ;;
  esac
fi
if [ -x /etc/X11/xinit/xinitrc ]; then
  exec /etc/X11/xinit/xinitrc
fi
if [ -f /etc/X11/xinit/xinitrc ]; then
  exec sh /etc/X11/xinit/xinitrc
fi
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &