Firefoxウィンドウが閉じるたびにターミナルコマンドを実行する方法


8

これを実行する必要があります:

rm -rf ~/.wine-pipelight/*;
rm -rf ~/.wine-pipelight/./.*;
cp -a ~/viewright_backup/. ~/.wine-pipelight

Firefoxウィンドウが閉じるたび。しかし、必ずしもすべてのウィンドウが閉じられたときではなく、閉じられたすべてのウィンドウで。たとえば、FirefoxウィンドウとFirefoxポップアップウィンドウが1つずつあるとします。少なくとも1つのウィンドウを閉じた場合、このコマンドを実行します。これは可能ですか?ありがとう!


1
なぜこれをしたいのですか?そのような回避策を使用するよりも、おそらく問題を解決する方が簡単でしょう。使用しているPipelightとwine-compholioのバージョンを教えてください。
マイケル・ミュラー

私はこのチュートリアルに従いました。セルビア語ですが、説明に使用されているコードがあります。
Dusan Milosevic 14

これは、セルビアのブロードバンド会社のサービスの1つであり、Linuxでは通常サポートされていません。
Dusan Milosevic 2014

回答:


11

私が考えることができる唯一の方法は非常にエレガントではありません。1秒ごとに開いているFirefoxウィンドウの数をカウントし、その数が変更された場合にコマンドを起動するスクリプトをバックグラウンドで実行することができます。何かのようなもの:

#!/usr/bin/env bash


## Run firefox
/usr/bin/firefox &

## Initialize the variable to 100
last=100;

## Start infinite loop, it will run while there
## is a running firefox instance.
while pgrep firefox >/dev/null;
do
    ## Get the number of firefox windows    
    num=$(xdotool search --name firefox | wc -l)

    ## If this number is less than it was, launch your commands
    if [ "$num" -lt "$last" ]
    then
        rm -rf ~/.wine-pipelight/*;
        ## I included this since you had it in your post but it
        ## does exactly the same as the command above.
        rm -rf ~/.wine-pipelight/./.*;
        cp -a ~/viewright_backup/. ~/.wine-pipelight      
    fi

    ## Save the number of windows as $last for next time
    last=$num

    ## Wait for a second so as not to spam your CPU.
    ## Depending on your use, you might want to make it wait a bit longer,
    ## the longer you wait, the lighter the load on your machine
    sleep 1

done

上記のスクリプトをとして保存firefoxし、~/binディレクトリに配置して実行可能にしますchmod a+x ~/bin/firefox。Ubuntuはデフォルトで~/binあなたに追加し、$PATH他のディレクトリの前に追加するため、実行firefoxすると、通常のfirefox実行可能ファイルの代わりにそのスクリプトが起動します。これで、スクリプトが起動している/usr/bin/firefoxので、これは、スクリプトが実行されている場合にのみ、期待どおりに通常のFirefoxが表示されることを意味します。このスクリプトは、Firefoxを閉じるとすぐに終了します。

免責事項:

このスクリプトは

  1. エレガントではありません。バックグラウンドで無限ループとして実行する必要があります。
  2. 必要ですxdotool、それをインストールしますsudo apt-get install xdotool
  3. タブでは機能せず、ウィンドウでのみ機能します。

良い回避策
ケン

ありがとう!自動起動はしませんが、Firefoxの起動時に起動させます。どうもありがとうございました。
Dusan Milosevic 2014

@terdon Firefoxが起動したときに起動する予定なので、Firefoxが閉じたときに停止することは可能ですか。多分何か:while ["0" -lt "$(xdotool search --name firefox | wc -l)" ]。シンタックスが正しいかどうかはわかりませんが、要点はわかります...この条件を満たすように書き直せますか?ありがとう!
Dusan Milosevic 2014

@DusanMilosevic更新された回答を参照してください。スクリプト自体がFirefoxを起動し、少なくとも1つのFirefoxインスタンスが実行されている間のみ実行されるように書き直しました。
terdon 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.