Saya memiliki beberapa contoh Firefox yang berjalan di Ubuntu 14.04. Bagaimana saya bisa menutup jendela / instance yang paling baru dibuka dari Terminal?
Saya mencoba menggunakan alias cfct yang didefinisikan dalam jawaban untuk pertanyaan terkait , tetapi tidak berhasil.
killall firefox
akanSIGTERM
seluruh proses, bukan hanya jendela.Jawaban:
Untuk membuat perintah yang menemukan
id
jendela terakhir, dibuat olehFirefox
(dan untuk menutupnya), Anda haruswmctrl
diinstal:Perintah
Kemudian gunakan perintah:
Penjelasan:
daftar semua jendela, tetapi properti penting dari perintah ini adalah bahwa daftar jendela-jendela dalam urutan mereka dibuat .
Karena itu:
akan:
daftar semua jendela:
temukan yang (baris) dengan 'Mozilla Firefox' di namanya:
temukan yang terakhir (yang juga merupakan yang terakhir dibuat):
ekstrak string pertama di baris (yang merupakan jendela -id):
Perintah:
kemudian akan mematikan jendela Firefox terbaru dengan id (anggun).
Atau bahkan lebih dapat diandalkan:
Sementara perintah di atas bekerja dengan baik di hampir semua kasus, ada adalah kemungkinan kecil bentrokan nama, jika misalnya jendela lain ada dengan "Mozilla Firefox" dalam namanya, tetapi tidak jendela dari
Firefox
(mungkin, tapi masih).Apa yang harus bekerja "tahan air" karena itu untuk mengidentifikasi jendela dalam daftar window (menggunakan
wmctrl -lp
) oleh pid darifirefox
, bukannya string dalam nama jendela:Seperti yang Anda lihat, dalam perintah ini,
memproduksi baris yang berisi 'Mozilla Firefox', digantikan oleh:
menghasilkan garis-garis yang berisi pid dari firefox (sebagai output dari
pgrep firefox
)sumber
Untuk menutup jendela (juga dengan banyak tab terbuka) gunakan perintah itu:
Perhatikan , itu
wmctrl
danxdotool
harus dipasang:Lihat juga jawaban itu: Tutup tab firefox saat ini menggunakan terminal .
Jawaban saya sedikit dimodifikasi, karena Ctrl+ Shift+ wmenutup jendela firefox.
Untuk semua pintasan, lihat Pintasan Keyboard Firefox .
sumber