ネットワーク接続後にlubuntuでクロムを自動起動するにはどうすればよいですか?
〜/ .config/autostart /を追加しようとしましたが、wifi接続の前にクロムが起動したため、エラーページが表示されます。
Googleで検索しましたが、まだ解決策が見つかりません。
エレガントな方法はわかりませんが、これがうまくいくはずのアプローチです。
オンラインかどうかをテストするスクリプトを作成します。そうでない場合は、しばらくスリープしてから、ループバックして再度テストします。オンラインになったら、chromeを開始し、終了するなどします。そのスクリプトを自動開始ディレクトリに配置します。
Bashでは、waitコマンドはsleepです。待ちたい秒数の引数が必要です。スクリプトが頻繁にテストされたり、リソースを使い果たしたりするのを防ぎます。
秘訣は、あなたがオンラインであるかどうかを把握することです。そのための1つの方法は、オンラインでない場合に失敗する小さなことを行うことです。以下は、始めるのに十分なハックです(bashを知っている場合)。 Webのどこかでwgetコマンドのトリックを見つけました。それが何をするのか正確にはわかりませんが、すばやく、機能します。
パスをクロムに置き換える必要があります。
chrome行の終わりにあるアンパサンドにより、chromeがバックグラウンドで実行されるため、スクリプトはchromeが終了します。継続して正常に終了し、chromeは単独で実行されます。
気になりたい場合は、タスクのプロセスIDをファイルなどに保存する方法があるので、chrome特定のセッションでオンラインになったときに開始します。しかし、それはあなたの質問の範囲を少し超えています。(そして私はそれを行う方法を覚えていません;))
#!/bin/bash
function online {
## Test if online - prototype code
wget -q -O /dev/null --timeout=5 http://udc.msn.com/c.gif
return $?
}
until online
do
sleep 5
done
/opt/google/chrome/google-chrome &
実例...
#!/bin/bash
function online {
## Test if online - prototype code
ping -c 1 google.com
return $?
}
until online
do
sleep 5
done
vmware-view %u --nonInteractive &
以下はうまくいくと思いますが、~/.config
でパスを~/.bashrc
に設定していると仮定しています。
Bashrcのパスが次のように設定されていることを確認してください
export PATH=$PATH:$HOME/.config:/other/stuff
の代わりに
export PATH=$HOME/.config:/other/stuff:$PATH
ここで、$PATH
はシステム全体のPATH設定です。ログイン時に/etc/xdg/autostart
の自動起動ファイルがホーム設定の前に読み取られるようにします。