• ベストアンサー

USER別 自動実行について

特定のUserのときにだけ XSystem起動時にアプリケーションを起動して そのアプリケーションが終了したら シャットダウンしたいのですが OS CentOS 5.1 実行アプリ vmware (vmware -q -x /home/user/winxp.vmx) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • astronaut
  • ベストアンサー率58% (303/516)
回答No.3

X起動時のクライアント起動、クライアント終了後のシャットダウン。 手元の環境では次の(1)~(4)の手順で実現できました。(ユーザー名:astronaut) (1) /etc/sudoers に、以下の設定を追加(編集には、visudoを使用) ----ここから---- astronaut ALL=(ALL) NOPASSWD: /sbin/shutdown ----ここまで---- (2) このユーザーで、sudo shutdown -h now が有効に働くことを確認 (3) .xinitrc または .Xclients を以下のように作成 ----ここから---- tuxpaint --fullscreen --native sudo /sbin/shutdown -h now ----ここまで---- (4) クライアント終了時にシャットダウンしなかったので確認すると、「sudo: sorry, you must have a tty to run sudo」というエラーがでている。ググって以下のページを発見。  http://fun.poosan.net/sawa/index.php?UID=1188143501 これに従って、/etc/sudoers の該当行をコメントアウト ちなみに、シェルスクリプトに sudo コマンドを書いても、問題なくシャットダウンしますね。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

あ、本当にシャットダウンしたいんですね。ログアウトしたいだけかと勘違いしてました。 sudo の設定で、一般ユーザーがパスワード入力無しにシャットダウンできるようにしておいて、アプリ起動コマンドの直後に /usr/bin/sudo /sbin/shutdown -h now とか書いておいたらどうでしょう? 試していないので「自信無し」で。

aji70
質問者

お礼

ありがとうございます。 sudo の設定で端末内からのshutdownはできるようになりました。 もう少し知恵を借りれればと SHUTDOWN.shと言うファイルを作成し、 中身に /usr/bin/sudo /sbin/shutdown -h now を記述子 実行しても動きません しかし、起動時に端末内で実行すると実行できるのですが 何かまだ設定がたらないのでしょうか

すると、全ての回答が全文表示されます。
  • astronaut
  • ベストアンサー率58% (303/516)
回答No.1

(1) GDMログイン(runlevel 5, グラフィカルなログイン画面)の場合  そのユーザーのホームディレクトリに、.Xclients ファイルを作成して、お望みのXクライアントを起動するコマンドを記述する。.Xclientsファイルには実行属性をつけておく(chmod +x)必要がある。 (2) テキストログイン(runlevel 3)から、startx で X を起動する場合  そのユーザーのホームディレクトリに、.xinitrc ファイルを作成して、お望みのXクライアントを起動するコマンドを記述する。 いずれも、そのアプリを終了すれば、Xが終了(GDMの場合はログアウト)します。(シャットダウンはしません) 手元の環境で、tuxpaint --fullscreen --native とか書いて、確認しました。

aji70
質問者

補足

ありがとうございます どうにか起動はできるようになったのですが シャットダウンはやっぱりできないんですかね

すると、全ての回答が全文表示されます。

関連するQ&A