何故か突然の実家マシン不調により…
- ブート後のログイン画面で30秒ほど固まる
- その後、入力可能状態になる
- しかし、ログインするとsysv init(/etc/init.d)のmayuが「何故か落とされている」(/var/run/にpidファイルはある)
という現象が起きるようになってしまいました。
そこで、upstartのrespawnで落とされても立ち上がるように何とかしようと思い立ちました。
しかしこれがまた全くうまく行かないどころか、respawnを設定してしまったがために、何かmayuがおかしな状態になった時も何度killallしても勝手にすぐ立ち上がってくるという…w
それにしても全くうまく行かない。普通にupstart(/etc/init/mayu.conf)に書いても、確かに呼ばれることは呼ばれるのですが、何故か「キーボードデバイスをopenできない、rootでやっているのか」とmayuが言うのです。
ここでupstartの柔軟性が役に立ち、テンポラリなログファイルにmayu.confが呼ばれた時の/dev/input/* やら/dev/event*やらをlsさせたのですが、ちゃんと存在しているのですね。
まぁ確かに$USERの中身は空だったんですが、普通に考えてupstartで何の指定もしていないのにアドミニストレーターでないわけがないと思うのですが…mayuのソースも確認しましたが別にrootかどうかを厳密に見ているわけではなく、単にopen出来ない時にルートかどうか警告を発しているだけでした。
これだけで昨日から何十回ブートしたでしょうか(苦笑)
ようやく動くものができたので置いておきます。/etc/init/mayu.confです。
ちなみに、respawnはやめることにしました。
description "mayu" start on desktop-session-start script LOGFILE=/tmp/mayu.log # .mayuの置いてあるホームディレクトリを設定してください export HOME=/home/dothiko exec /usr/local/bin/mayu >> $LOGFILE 2>&1 end script
なんとシンプル…これでとりあえず用が足せるようになりました。
なにやら調べるとupstartスクリプトでは、先日も探求したdbusのイベントをトリガとして設定できるようなのですが、これを使うと「自作専用アプリでroot権限が必要な処理を気軽に叩き起こせる」ような気がしますね。まぁ使いドコロはあまりない気がしますがw
しかし、どうもubuntuは、というか、debianはupstartからsystemdに移行するようですね。
せっかくちょっと習得したのに〜orz
upstartもこうして使ってみると、やはりsysv initよりずっと先進的で色々出来るな〜と感心したのですが、まぁdebianが移行するのだからsystemdとやらは更に良いものなのでしょう。
ところで、直接の関係は無いと思われるのですが、その後更に調べると…なんか、本体のルートUSBハブが死んでいるようなのですが…USBメモリやカードリーダーをエラーでマウントしない or 全く認識してくれない、という。(何故か外付けハブは無事)
その時のdmsgsは、こんな感じです。
[ 158.161195] usb 2-1.2: new high-speed USB device number 8 using ehci-pci [ 173.211123] usb 2-1.2: device descriptor read/64, error -110 [ 188.364833] usb 2-1.2: device descriptor read/64, error -110 [ 188.540638] usb 2-1.2: new high-speed USB device number 9 using ehci-pci [ 203.590436] usb 2-1.2: device descriptor read/64, error -110 [ 218.744099] usb 2-1.2: device descriptor read/64, error -110 [ 218.919942] usb 2-1.2: new high-speed USB device number 10 using ehci-pci [ 229.312462] usb 2-1.2: device not accepting address 10, error -110 [ 229.384448] usb 2-1.2: new high-speed USB device number 11 using ehci-pci [ 239.777067] usb 2-1.2: device not accepting address 11, error -110 [ 239.777205] hub 2-1:1.0: unable to enumerate USB device on port 2 [ 343.277155] usb 1-1.1.4: new high-speed USB device number 9 using ehci-pci [ 343.371437] usb 1-1.1.4: New USB device found, idVendor=14cd, idProduct=6700 [ 343.371442] usb 1-1.1.4: New USB device strings: Mfr=1, Product=3, SerialNumber=2 [ 343.371445] usb 1-1.1.4: Product: USB 2.0 SD/MMC READER [ 343.371448] usb 1-1.1.4: Manufacturer: SDMMC M121 [ 343.371450] usb 1-1.1.4: SerialNumber: 836343000000 [ 343.387044] usb-storage 1-1.1.4:1.0: USB Mass Storage device detected [ 343.387096] scsi8 : usb-storage 1-1.1.4:1.0 [ 343.387150] usbcore: registered new interface driver usb-storage
mayuが起動してくれなくなった現象についても、もしかすると何か関係があるのかもですが、その時は知らなかったため上記の解決策を取りました。
何故か突然の実家マシン不調により…
- ブート後のログイン画面で30秒ほど固まる
- その後、入力可能状態になる
- しかし、ログインするとsysv init(/etc/init.d)のmayuが「何故か落とされている」(/var/run/にpidファイルはある)
という現象が起きるようになってしまいました。
そこで、upstartのrespawnで落とされても立ち上がるように何とかしようと思い立ちました。
しかしこれがまた全くうまく行かないどころか、respawnを設定してしまったがために、何かmayuがおかしな状態になった時も何度killallしても勝手にすぐ立ち上がってくるという…w
それにしても全くうまく行かない。普通にupstart(/etc/init/mayu.conf)に書いても、確かに呼ばれることは呼ばれるのですが、何故か「キーボードデバイスをopenできない、rootでやっているのか」とmayuが言うのです。
ここでupstartの柔軟性が役に立ち、テンポラリなログファイルにmayu.confが呼ばれた時の/dev/input/ やら/dev/eventやらをlsさせたのですが、ちゃんと存在しているのですね。
まぁ確かに$USERの中身は空だったんですが、普通に考えてupstartで何の指定もしていないのにアドミニストレーターでないわけがないと思うのですが…mayuのソースも確認しましたが別にrootかどうかを厳密に見ているわけではなく、単にopen出来ない時にルートかどうか警告を発しているだけでした。
これだけで昨日から何十回ブートしたでしょうか(苦笑)
ようやく動くものができたので置いておきます。/etc/init/mayu.confです。
ちなみに、respawnはやめることにしました。
description "mayu"start on desktop-session-start
script LOGFILE=/tmp/mayu.log
.mayuの置いてあるホームディレクトリを設定してください
export HOME=/home/dothiko exec /usr/local/bin/mayu >> $LOGFILE 2>&1 end script
なんとシンプル…これでとりあえず用が足せるようになりました。
なにやら調べるとupstartスクリプトでは、先日も探求したdbusのイベントをトリガとして設定できるようなのですが、これを使うと「自作専用アプリでroot権限が必要な処理を気軽に叩き起こせる」ような気がしますね。まぁ使いドコロはあまりない気がしますがw
しかし、どうもubuntuは、というか、debianはupstartからsystemdに移行するようですね。
せっかくちょっと習得したのに〜orz
upstartもこうして使ってみると、やはりsysv initよりずっと先進的で色々出来るな〜と感心したのですが、まぁdebianが移行するのだからsystemdとやらは更に良いものなのでしょう。
ところで、直接の関係は無いと思われるのですが、その後更に調べると…なんか、本体のルートUSBハブが死んでいるようなのですが…USBメモリやカードリーダーをエラーでマウントしない or 全く認識してくれない、という。(何故か外付けハブは無事)
その時のdmsgsは、こんな感じです。
[ 158.161195] usb 2-1.2: new high-speed USB device number 8 using ehci-pci [ 173.211123] usb 2-1.2: device descriptor read/64, error -110 [ 188.364833] usb 2-1.2: device descriptor read/64, error -110 [ 188.540638] usb 2-1.2: new high-speed USB device number 9 using ehci-pci [ 203.590436] usb 2-1.2: device descriptor read/64, error -110 [ 218.744099] usb 2-1.2: device descriptor read/64, error -110 [ 218.919942] usb 2-1.2: new high-speed USB device number 10 using ehci-pci [ 229.312462] usb 2-1.2: device not accepting address 10, error -110 [ 229.384448] usb 2-1.2: new high-speed USB device number 11 using ehci-pci [ 239.777067] usb 2-1.2: device not accepting address 11, error -110 [ 239.777205] hub 2-1:1.0: unable to enumerate USB device on port 2 [ 343.277155] usb 1-1.1.4: new high-speed USB device number 9 using ehci-pci [ 343.371437] usb 1-1.1.4: New USB device found, idVendor=14cd, idProduct=6700 [ 343.371442] usb 1-1.1.4: New USB device strings: Mfr=1, Product=3, SerialNumber=2 [ 343.371445] usb 1-1.1.4: Product: USB 2.0 SD/MMC READER [ 343.371448] usb 1-1.1.4: Manufacturer: SDMMC M121 [ 343.371450] usb 1-1.1.4: SerialNumber: 836343000000 [ 343.387044] usb-storage 1-1.1.4:1.0: USB Mass Storage device detected [ 343.387096] scsi8 : usb-storage 1-1.1.4:1.0 [ 343.387150] usbcore: registered new interface driver usb-storage
mayuが起動してくれなくなった現象についても、もしかすると何か関係があるのかもですが、その時は知らなかったため上記の解決策を取りました。