私はhtpcでUbuntu 16.04を実行しています。プロジェクター(モニター)をオンにするためのIRブラスターがあります。コンピュータの電源を入れようとすると、IRエミッタを介してプロジェクタの電源を入れるスクリプトが実行されます。プロジェクタの電源を入れる前にコンピュータを起動すると、コンピュータの電源を入れてもコンピュータがプロジェクタを検出できず、ブルースクリーンのみが表示されます。とにかくこれは問題ですか?
ベストアンサー1
あなたはこれを行うことができます良いIRブラスターもありますが、問題が解決しそうではありません。ディスプレイが見つからない場合は、プロジェクタの電源が切れているため、ディスプレイマネージャが表示されません。したがって、起動してスクリプトを実行してプロジェクタの電源を入れても、これはディスプレイマネージャが失敗した後です。
私が考えることができるのは、毎分実行され、ディスプレイマネージャが失敗したことを確認して再起動しようとするcronを介した簡単なスクリプトです。本機の起動後、いつでもプロジェクターの電源を入れると、プロジェクターは通常の状態に戻ります。これには最大1分かかることがあります。
これを行うには、次のスクリプトを作成します。
#!/bin/bash
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
export SHELL="/bin/bash"
if [ $(systemctl status lightdm | grep Active: | awk -F ' ' '{print $2}') == "failed" ]; then
service lightdm restart
fi
言うように保存lightdm-restart.sh
して実行可能にします。
chmod +x lightdm-restart.sh
次に、ルートcrontabを開きます。
sudo crontab -e
そして一番下に以下を追加します。
# try to restart lightdm every minute if it failed
* * * * * /path/to/lightdm-restart.sh