戸田です。 以前HP-UXのcronで似たような疑問に悩まされたことを思い出しました。私の場合は、root以外のユーザー用crontab fileを作成して解決しました。ls /var/spool/cronあるいは cronを実行するユーザloginでのcrontab -lなどはどうなってますでしょう。man crontabをなさっていればご存じでしょうが。 -- M.Toda > こんにちは、クロと申します。早速ですが質問です。 > > 現在、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 でも ユーザで監視スクリプトを動かしているので、上記と同じ疑問です。 > > > > 長文失礼致しました。御助言お願い致します。 > -------------------------------------- Know more about Breast Cancer http://pr.mail.yahoo.co.jp/pinkribbon/