vine-users ML アーカイブ



[vine-users:073425] Re: VNC Server を crond で監視して起動する ようにすると問題点有り

  • From: M Toda <toda_tok@xxxxxxxxxxx>
  • Subject: [vine-users:073425] Re: VNC Server を crond で監視して起動する ようにすると問題点有り
  • Date: Fri, 4 Nov 2005 22:23:31 +0900
戸田です。

以前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/