Ubuntu 14.04で実行されているFirefoxの複数のインスタンスがあります。ターミナルから最後に開いたウィンドウ/インスタンスを閉じるにはどうすればよいですか?
関連する質問への回答で定義されたcfctエイリアス を使用しようとしましたが、機能しませんでした。
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
行の最初の文字列(window -id)を抽出します。
awk '{ print $1 }'
コマンド:
wmctrl -ic
次に、そのIDで最新のFirefoxウィンドウを強制終了します(gracefuly)。
上記のコマンドは事実上すべての場合にうまく機能しますが、isがあります。名前に「Mozilla Firefox」が含まれる別のウィンドウがありますが、Firefox
からのウィンドウではありません(おそらくそうではありませんが)。
したがって、「防水」として機能するのは、firefox
の代わりにpidでウィンドウリスト内のウィンドウを識別することです(wmctrl -lp
を使用)ウィンドウ名の文字列:
wmctrl -ic "$(wmctrl -lp | grep "$(pgrep firefox)" | tail -1 | awk '{ print $1 }')"
ご覧のとおり、このコマンドでは、
wmctrl -l | grep 'Mozilla Firefox'
「Mozilla Firefox」を含む行の作成は、次のものに置き換えられます。
wmctrl -lp | grep "$(pgrep firefox)"
firefoxのpidを含む行を生成します(pgrep firefox
の出力として)
ウィンドウを閉じる(また、多くのタブを開いている)には、次のコマンドを使用します。
wmctrl -a firefox; xdotool key Ctrl+Shift+w
注意、wmctrl
およびxdotool
をインストールする必要があります。
$ Sudo apt-get install wmctrl xdotool
その答えも参照してください: ターミナルを使用して現在のタブFirefoxを閉じる 。
私の答えは少し変更されています、なぜなら Ctrl+Shift+w Firefoxウィンドウを閉じます。
すべてのショートカットについては、 Firefoxのキーボードショートカット を参照してください。