ターミナルから新しいFirefoxウィンドウを閉じるにはどうすればよいですか?


10

Ubuntu 14.04で実行しているFirefoxのインスタンスが複数あります。最近開いたウィンドウ/インスタンスをターミナルから閉じるにはどうすればよいですか?

関連する質問への回答で定義されいるcfctエイリアスを使用しようとしましたが、機能しませんでした。


@chaos OPはタブではなくウィンドウを意味すると思います
Jacob Vlijm

@JacobVlijmという答えもウィンドウを閉じ、私にとっては唯一の解決策のようです。firefoxが実行するプロセスは1つだけなので、開いているウィンドウの数に関係なく、dublicateにそのソリューションが必要です。killall firefoxだろうSIGTERM全体のプロセスだけでなく、窓。
2015年

@chaos同意しない、非常に可能性が高い、私は家にいない。休憩時間に答えを出すのに十分な速さがあるかどうかを確認する:)
Jacob Vlijm

1
@chaos重複は、質問が同じで、回答ではない場合に使用します。ある程度のオーバーラップは避けられません。
Seth

cfctとは何ですか?検索は主にこのまさに質問を返します。
TRiG、2015年

回答:


13

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を含む行を生成する


2

ウィンドウを閉じる(多くのタブが開かれている)には、次のコマンドを使用します。

wmctrl -a firefox; xdotool key Ctrl+Shift+w

注意してくださいwmctrlそしてxdotoolインストールする必要があります:

$ sudo apt-get install wmctrl xdotool

その答えも参照してください:ターミナルを使用して現在のタブfirefoxを閉じます

Ctrl+ Shift+ wはFirefoxウィンドウを閉じるため、私の答えは少し変更されています。


すべてのショートカットについては、Firefoxのキーボードショートカットを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.