microwattR7.5の/etc/rc.localに起動時に実行したいコマンドを書き込んでも実行されない理由と解決法を教えてください

このQ&Aのポイント
  • microwattR7.5(Ubuntu13.10とよく似たOS)の /etc/rc.local に起動時に実行したいコマンドを書き込んでも起動時に実行されません。
  • microwattR7.5の /etc/rc.local に起動時に実行したいコマンドを書き込むと、起動時に実行されない問題が発生します。解決法をご存知の方がいらっしゃいましたら教えてください。
  • microwattR7.5の /etc/rc.local にコマンドを書き込んでも起動時に実行されない問題があります。どなたか解決方法をご存じの方はいらっしゃいますか?
回答を見る
  • ベストアンサー

linuxの/etc/rc.local

microwattR7.5(Ubuntu13.10とよく似たOSらしいです)の /etc/rc.local に起動時に実行したいコマンドを書き込んでも起動時に実行されません。理由をご存じの方・解決法をご存じの方がおられましたらご教示頂きたく思います。 microwattR7.5をセカンドマシンとして使っています。リモートで使おうと思い、x11vncをインストールしました。起動時にx11vncが起動したほうが便利なので、/etc/rc.local の「exist 0」の前に「/usr/bin/x11vnc -rfbauth /home/platon/.vnc/passwd -auth /home/platon/.Xauthority -display :0 -allow 192.168.0.13 -forever を書いたのですが、起動時に実行されません。(platon・192.163.0.13は一例)。 端末を起動して「/usr/bin/x11vnc -rfbauth /home/platon/.vnc/passwd -auth /home/platon/.Xauthority -display :0 -allow 192.168.0.17 -forever」と打ち込むとちゃんと実行されます。なぜでしょうか? /etc/rc.local の注意書きに # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. とあるので、/etc/rc.local を実行する権限がないのかと思ったのですが、パーミションが「-rwxr-xr-x」なので、実行する権限はあるのではと考えています。素人考えですが。 ご存じの方がおいででしたらよろしくお願いします。

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

  • ベストアンサー
回答No.1

Ubuntuは専門外なのですが、参考になれば。バージョンもかなり違うしまったく自信ないです。

参考URL:
http://walkwithubuntu.blog.fc2.com/blog-entry-239.html
GrandCahier
質問者

補足

遅くなって済みません。参照先のやり方 /etc/init.dとpdate-rc.d をやってみてもうまく行きませんでした。やり方が悪かったのかも知れませんが。 そこからまた検索して http://qtotter.wordpress.com/2013/08/23/%E3%80%90ubuntu%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E5%86%8D%E6%A7%8B%E7%AF%89%E3%80%91no-04-x11vnc%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/ を見つけたのですがやっぱり駄目でした。 gnomeデスクトップをインストールして自動起動するアプリケーションに登録しても駄目なので、なにか根本的に間違っているのかも知れません。 諦めたほうが良いような気がしてきました。

その他の回答 (1)

回答No.2

的外れかもしれないけど、普通にinit.dディレクトリ配下に起動スクリプト作って、rc5.dディレクトリ配下にS99から始まるシンボリックリンク作ってじゃだめなのかなあ・・・

GrandCahier
質問者

補足

回答有難うございます。 init.dに起動スクリプト~ というのは、最初の方に上げて頂いたhttp://walkwithubuntu.blog.fc2.com/blog-entry-239.html の 上の記事に倣って、ホームフォルダに「enable-wol.sh」をまず作りました。 -------------------------------------------------------------------------------------------- #!/bin/sh (←大概の init.d 配下のスクリプトと同様に -e を付けたほうが良い?) ethtool -s eth0 wol g -------------------------------------------------------------------------------------------- これだけ。 もちろん例外規定もなんもかんも無視してるのはわかってますよ。 これを /etc/init.d の中に放り込んで、 update-rc.d すれば良いようだ。 端末を出して、 $ sudo su (←以下のコマンドを管理者で実行するため) # mv ~/enable-wol.sh /etc/init.d/enable-wol (←/etc/init.d の中に移動) # chmod 755 /etc/init.d/enable-wol (←実行権限を与える) # update-rc.d enable-wol defaults (←自動実行してもらえるように登録) のやり方でしょうか?これも駄目だったのですが(~.shの中身をvncが起動するコマンドにしてやってみました)、どうも何かやり方を根本的に間違えているような気がしてきました。 #自動ログインも効かなかったですし 結局、wattOSを諦めてlinuxBeanにしてみたところ「自動起動するアプリの追加」でうまく行きました。自動ログインもできたので、スイッチを入れたらあとはメインマシンからの遠隔操作状態に持って行くことが出来ました。 セカンドマシンですしOSにこだわりもないのでこちらで行こうと思います。 お騒がせ致しました。

関連するQ&A

  • Linuxのcronとrc.localでの制御について

    こんばんは、皆さん。 先頭行が#!/usr/bin/perlから始まる簡単なPerlスクリプトを書き、 実行権を777にし、/etc/rc.localとrootのcronに記述しました。 記述した内容が間違っていないと仮定した場合、動作しますか? 質問の仕方がよくないと思いますが、つまり、cronや/etc/rc.localは シェルスクリプトでないと制御できないのでしょうか? 実際に試してみましたが、シェルならうまくいくのですが、 Perlを起動できていないようです。 どうすればcronや/etc/rc.localでPerlを扱えるのでしょうか? よろしくお願いします。

  • /etc/rc.d/rc.localの書き方

    Linux初心者で操作を勉強しています。 Linuxの起動時にgnome-terminalを起動させたいと思っています。 /etc/rc.d/rc.localにコマンドを記述すれば良い というところまで調べ、 このファイルに gnome-teriminal と記述しました。 /etc/rc.d/rc.local ------------------------------------------------- #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. gnome-terminal    ←これを追加 touch /var/lock/subsys/local ------------------------------------------------ 上記のようにしましたが、・・・gnome-terminalが起動しません。 書き方間違っているのでしょうか。 起動時にgnome-terminal を起動させる方法を教えてください。 よろしくお願いします。 環境:CentOS6

  • cronとrc.localへの記述内容について

    こんばんは、皆さん。 先頭行が#!/usr/bin/perlから始まる簡単なPerlスクリプトを書き、 実行権を777にし、/etc/rc.localとrootのcronに記述しました。 記述した内容が間違っていないと仮定した場合、動作しますか? 質問の仕方がよくないと思いますが、つまり、cronや/etc/rc.localは シェルスクリプトでないと制御できないのでしょうか? 実際に試してみましたが、シェルならうまくいくのですが、 Perlを起動できていないようです。 すべてフルパスで指定しているのでパスの問題ではないようです。 実行権もフルアクセスにしてみたので関係ないと思います。 どうすればcronや/etc/rc.localでPerlを扱えるのでしょうか? cronや/etc/rc.local、Perlスクリプトのサンプルを例として 挙げていただけると助かります。 一般的にPerlスクリプトは実行できないのでしょうか? もし実行できなければ、その理由も知りたいです。 よろしくお願いします。

  • ラズパイの/etc/rc.localでの自動起動

    現在ラズベリーパイ3でpythonで作成したTCP_clientを起動するためにシェルスクリプトを作成して/etc/rc.localに登録し、ラズパイに電源投入で起動と同時にtcp_clientのプログラムが起動するようにしています。 この"tcp_client1_02.py"のpythonプログラムがたまにダウンしてしまう症状が発生していたため、シェルスクリプトでpsコマンドでこのプログラムが起動していなかったら、自動的に再起動するようにするものを作成しました。 (tcp_client1_02_process_check.sh) #!/bin/sh while true do #isAlive=`ps -ef | grep " sudo python /home/pi/Desktop/tcp_client1_02.py " | \grep -v grep | wc -l` #if [ $isAlive = 1 ]:then if ps axww | grep "[s]udo python /home/pi/Desktop/tcp_client1_02.py" >/dev/null then echo "プロセスは生きています" else echo "プロセスは死んでいます" sudo sh /home/pi/python/autorun_script fi sleep 3 done このシェルスクリプトを/etc/rc.localに登録しています。 (/etc/rc.local内) sh /home/pi/python/autorun_script & sh /home/pi/python/tcp_client1_02_process_check.sh & このシェルスクリプトは echo "プロセスは死んでいます" sudo sh /home/pi/python/autorun_script プロセスが死んだ場合にautorun_scriptというシェルスクリプトを起動するようにしているのですが、ラズパイ起動時にこのプログラムはバックグラウンドで動作しているようなので、いつのタイミングでこのルーチンに飛んでいるのかわからないので、 sh /home/pi/python/tcp_client1_02_process_check.sh の後ろの”&”を削除してみて再起動してみたのですが、これでもプログラム動作の表示が出てこないのですが、この動作を表示させてみることは可能でしょうか? ご教示いただきますよう、宜しくお願い致します。

  • rc.localについて

    RH7.2を使ってます。 起動の初期化スクリプトで2点質問です。 1.rc.localでの指定はinit.d配下(rcx.d)の処理後一番最後に実行される  と認識しているのですが、これは単にrcx.dにてS99localとなっていて  一番最後にシンボリックリンクされているからということでいいのでしょうか? 2.rc.localはいったいどのような時に使うのでしょうか?  全てinit.d配下にスクリプトを置いた方がスマートだと思うのですが...。 以上、よろしくお願いいたします。

  • rc.local について

    条件  (1)cronは使用しない  (2)起動時にpingを実行する  (3)手動(killなど)で停止させるまで ping処理を実行し続ける ping -q xxx.xxx.xxx.xxx シェルを作成し /etc/rc.localに実行パスを記述しました。 再起動後、 ping表示の画面で止まり login: 画面が表示されない。 対応として sshでログイン→pingのプロセスをkillで login: 画面が表示されました。 この現象を回避できる方法などありましたら、 ご教授願います。 また、(1)(2)(3)の条件を満たす他の方法などありましたら ご回答頂ければと思います。 環境:CentOS 3.6

  • rcの意味

    /etc/bashrcとか /etc/X11/xinit/xinitrc などのスクリプトの最後につく「rc」はrecursivelyの略と考えていいでしょうか。

  • WinからリモートでUbuntuにログインしたい

    WindowsマシンからVNCviewerを利用して、 ホストのLinuxマシンにリモート接続でログインしたいのですが、 設定方法が分からず困っております。 以下に自分がやっていることを示しますので、 お知恵を貸して下さい。 ================================================================= クライアント側のWindowsはWindows7(professional, 32bit)で、 UltraVNCviewerを使って接続しようとしています。 UltraVNCviewerは割りと頻繁に利用しているので、 おそらく問題はLinux側の設定にあるのだと思っております。 ホスト側のLinuxはUbuntu11.10 (i386)で vnc4server, xinetd, x11vnc 等がインストールされています。 ただ、端末で以下のコマンドを打つとエラーが表示されてしまいます。 > vnc4server vnc4server: Wrong type or access mode of /home/user1/.vnc 上記のエラーの原因が分からなかったので、 x11vncを利用しようとしているのですが、 > x11vnc -forever ではコマンドが戻ってこないので、 /etc/rc.local の最終行(exit 0)の前に /usr/bin/x11vnc -display :0 -forever と記述して、再起動をかけました。 これで自動起動されるのかと思ったのですが、上手く起動していないようで、 Ubuntu側がログイン画面の状態では、Windows側からリモート接続できません。 =================================================================== x11vncを利用したほうが楽なのかと思っているのですが(これも間違ってますでしょうか?)、 それのやり方もままならない状態なので、 基本的な質問でしたら申し訳ないですが、ご教授お願い致します。

  • VNCサーバはスタンドアロンモードでも/etc/hosts.allowで許可しないとエラー「server closed connection unexpecte

    RedHat9 eth0(192.168.0.1) | (192.168.0.2) Win2k としています。 # rpm -qa | grep vnc tightvnc-debuginfo-1.2.9-1 tightvnc-server-1.2.9-1 tightvnc-1.2.9-1 # cat /etc/sysconfig/vncservers | grep -v ^# VNCSERVERS="1:root 2:user01" VNCSERVERARGS[1]="-geometry 800x600" VNCSERVERARGS[2]="-geometry 800x600 -depth 24" # ls -al /root/.vnc 合計 12 drwxr-xr-x 2 root root 4096 2月 10 02:36 ./ drwxr-x--- 20 root root 4096 2月 10 02:40 ../ -rwxr-xr-x 1 user01 user01 316 2月 10 02:32 xstartup* # cat /root/.vnc/xstartup #!/bin/sh # Red Hat Linux VNC session startup script unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm & そして、 # vncpasswd としてパスワードを入力して #/etc/rc.d/init.d/vncserver start VNCサーバを起動中: 1:root 2:user01 [ OK ] この後、 Win2k側からアクセスしてみましたら、 「server closed connection unexpectedly」 となってしまいます。 /etc/hosts.allow Xvnc: xxx.xxx.xxx.xxx という具合にで許可したらアクセス出来ました。 xinetdサーバで稼動してるわけではないのにどうして/etc/hosts.allowに反応してしまうのでしょうか?

  • /etc/inittabのランレベル部分の記述について

    runlevelとは無関係にスクリプトを実行させたい場合は、::の部分に何もかかない? /etc/inittabに以下の記述があります。 本来ランレベルを書くべきところに何もかかれていません。 こういった場合、どういう動きをするのでしょうか? (ランレベルに関係なく起動時に実行される?) (manには該当の記述がみあたりませんでした。) rc::bootwait:/etc/rc si::sysinit:/etc/rc.d/bcheckrc