こんにちは、クロと申します。早速ですが質問です。 現在、Vine Linux 3.2 にて VCN Serverを常時起動させるように しております。 VNC Server の稼動状態をシェルスクリプトでチェックし、 そのシェルスクリプトを crontab に追記して crond で常時監視 しております。(15分毎程度の間隔でチェック) VNC Server が異常終了した時に、起動するように設定しているのですが、 ここで問題がありまして、crond から起動した場合、VNC Viewer から 接続するとGNOMEが英語環境で起動してしまいます。(全メニューが英語) 日本語環境で起動できるようにするには、どういう設定が必要なのでしょうか? ■ 現在設定してある事 1) /etc/rc.d/init.d/vncserver は runlevel 3,5 で on 2) /etc/sysconfig/vncservers には VNCSERVERS="1:username" で設定 3) 上記ユーザのホームでは ~/.vnc/xstartup があり gnome で デスクトップ環境が起動するようにしてあります。 (/etc/X11/xinit/xinitrc を xstartup としてコピー) 4) 簡単なスクリプトで VNC Server の状態をチェック。(check.sh) ps で Xvnc のPIDを見てみて、あれば稼動状態、なければ停止状態 PIDがたってなくて、/tmp/.X1-lock や /tmp/.X11-unix/X1 が 残ったままであれば異常終了と判断して、VNC Server を起動させる という10数行のスクリプトです。(/usr/local/bin 以下に置きました。) 5) 上記スクリプトを /etc/crontab にて 15分毎で監視するようにしました。 */15 * * * * username /usr/local/bin/check.sh としてユーザで スクリプトを稼動させるように追記。 6) ブラウザからCGI(Perlスクリプト)でも vncserver を起動/停止 させられるように、スクリプトを書いてあります。 ■ 現在わかっている事、試してみた事 1) マシン自体を再起動させた場合、VNC Server も正常に起動しており VNC Viewer から接続しても日本語環境化の GNOME が起動します。 2) コンソールから /etc/rd.d/init.d/vncserver を 直接 restart/start しても問題なく日本語環境下の GNOME が起動します。 3) コンソールから check.sh を実行しても問題なくVNC Viewerで 日本語環境化の GNOME が起動します。 4) CGI 及び crond で起動した場合のみ英語環境化の GNOME が起動します。 5) crond での check.sh の実行は user でも root でも結果は同じでした。 ■ 疑問 CGIで動かしているスクリプトは suexec が有効なのでユーザ権限 で動いているはずですから、VNC Server はどのユーザが起動しているか か判断できるのでは?さらにそのユーザホームには .vnc/xstartup もあるので、 なぜ GNOME が起動できるのに、日本語環境下にならないか? /usr/bin/vncserver 自体は改変してないので、もし別の(新規)ユーザで起動 したというのなら、twm で起動するのではないのでしょうか? crond でも ユーザで監視スクリプトを動かしているので、上記と同じ疑問です。 長文失礼致しました。御助言お願い致します。