Ubuntu 14.04で実行しているFirefoxのインスタンスが複数あります。最近開いたウィンドウ/インスタンスをターミナルから閉じるにはどうすればよいですか?
関連する質問への回答で定義されているcfctエイリアスを使用しようとしましたが、機能しませんでした。
killall firefox
だろうSIGTERM
全体のプロセスだけでなく、窓。
Ubuntu 14.04で実行しているFirefoxのインスタンスが複数あります。最近開いたウィンドウ/インスタンスをターミナルから閉じるにはどうすればよいですか?
関連する質問への回答で定義されているcfctエイリアスを使用しようとしましたが、機能しませんでした。
killall firefox
だろうSIGTERM
全体のプロセスだけでなく、窓。
回答:
id
によって作成された最後のウィンドウを見つけるコマンドを作成するにはFirefox
(そしてそれを閉じるには)、wmctrl
インストールする必要があります。
sudo apt-get install wmctrl
次に、次のコマンドを使用します。
wmctrl -ic "$(wmctrl -l | grep 'Mozilla Firefox' | tail -1 | awk '{ print $1 }')"
wmctrl -l
すべてのウィンドウを一覧表示しますが、コマンドの重要なプロパティは、ウィンドウが作成された順に一覧表示されることです。
したがって:
wmctrl -l | grep 'Mozilla Firefox' | tail -1 | awk '{ print $1 }'
意志:
すべてのウィンドウを一覧表示します。
wmctrl -l
名前に「Mozilla Firefox」が含まれるもの(行)を見つけます。
grep 'Mozilla Firefox'
最後のものを見つけます(これは最後に作成されたものでもあります):
tail -1
行の最初の文字列(ウィンドウ-id)を抽出します。
awk '{ print $1 }'
コマンド:
wmctrl -ic
次に、最新のFirefoxウィンドウをそのIDで強制終了します(優雅)。
事実上すべての場合にも作品上記のコマンドが、そこにある別のウィンドウを例えばすることは、その名前に「Mozilla Firefoxの」で存在するが、からではないウィンドウ場合は名前の衝突の小さなチャンスは、Firefox
(そう、まだ)。
したがって、「ウォータープルーフ」で機能するのは、ウィンドウ名の文字列ではなくwmctrl -lp
、のpidでウィンドウリストのウィンドウを識別することです(を使用)firefox
。
wmctrl -ic "$(wmctrl -lp | grep "$(pgrep firefox)" | tail -1 | awk '{ print $1 }')"
ご覧のとおり、このコマンドでは、
wmctrl -l | grep 'Mozilla Firefox'
'Mozilla Firefox'を含む行を生成すると、次のように置き換えられます。
wmctrl -lp | grep "$(pgrep firefox)"
(の出力としてpgrep firefox
)firefoxのpidを含む行を生成する
ウィンドウを閉じる(多くのタブが開かれている)には、次のコマンドを使用します。
wmctrl -a firefox; xdotool key Ctrl+Shift+w
注意してください、wmctrl
そしてxdotool
インストールする必要があります:
$ sudo apt-get install wmctrl xdotool
その答えも参照してください:ターミナルを使用して現在のタブfirefoxを閉じます。
Ctrl+ Shift+ wはFirefoxウィンドウを閉じるため、私の答えは少し変更されています。
すべてのショートカットについては、Firefoxのキーボードショートカットを参照してください。