私は別のスタートアップスクリプトの質問をするのに長い間この問題で苦労しました。
比較的簡単な起動スクリプトがあります。
### BEGIN INIT INFO
# Provides: startVNC
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Start VNC server at boot time
# Description: Test
### END INIT INFO
#!/bin/sh
echo "JOB RUN AT $(date)"
echo "============================"
echo ""
/usr/bin/vncserver -geometry 1280x1024 -depth 24
明らかに最後の行だけが本当に重要です。スクリプトは実行可能です。
ls -l startVNC
生産する:
-rwxr-xr-x 1 root root 406 2011-12-07 15:45 startVNC
vncserver の起動時に ssh でログインして実行すると、my_user
デスクトップで GUI を表示できます。その後、起動時に実行するために5つのことを試しました。
- 私のスクリプトをにコピーして
/etc/init.d/
呼び出しますupdate-rc.d -f startVNC defaults
(また、99
afterを使用して、スクリプトが依存しているすべてがすでに実行されていることをdefaults
確認します)。vncserver
フォルダに作成されたすべてのシンボリックリンクを確認しました/etc/rcX.d/
。ただし、再起動または起動時には機能しません。 /etc/rc.local
前に私のスクリプトを追加してください。exit 0
crontab -e
次のように追加されました@reboot /home/my_user/scripts/startVNC
- 私のスクリプトを次に追加してください。
/etc/init.d/rcS
- システム - >デフォルト設定 - > Gnomeのアプリケーションの起動に私のスクリプトを追加しました。
しかし、それらのどれも動作しません。また何を確認できますか?私のスクリプトに問題があるのではないでしょうか?プロセスが機能するにはプロセスの所有者である必要があると思いますmy_user
が、デバッグする方法がわかりません。
どんな手がかりもありがとうございます。
ベストアンサー1
使用できるsu
[あなたのユーザー名]-c /usr/bin/vncserver
rootの代わりにユーザーとしてvncserverを実行します。
別のポイント:スクリプトでは、VNCサーバーの起動と停止の間に違いはありません。通常、initスクリプトはさまざまなケースを使用してサービスを開始/停止します。
case "$1" in
start)
# code to start the application
;;
stop)
# code to stop the application
;;
restart)
$0 stop
$0 start
;;
esac
ここ以下は、initスクリプトを使用してvncサーバーを起動する方法の詳細な例です。