Как закрыть новое окно Firefox из Терминала?
У меня есть несколько экземпляров Firefox, работающих в Ubuntu 14.04. Как я могу закрыть последнее открытое окно / экземпляр из Терминала?
Я попытался использовать псевдоним cfct, определенный в ответе на связанный вопрос, но это не сработало.
2 ответа
Чтобы сделать команду, которая находит 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 по его идентификатору (изящно).
Или даже более надежно:
Хотя приведенная выше команда работает хорошо практически во всех случаях, существует небольшая вероятность конфликта имен, если, например, существует другое окно с именем "Mozilla Firefox", но не окно из Firefox
(вряд ли, но все же).
То, что должно работать "водонепроницаемый", поэтому, чтобы идентифицировать окна в списке окон (используя wmctrl -lp
) Пид 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)"
производя строки, содержащие pid firefox (в качестве вывода pgrep firefox
)
Чтобы закрыть окно (также со многими открытыми вкладками), используйте эту команду:
wmctrl -a firefox; xdotool key Ctrl+Shift+w
Обратите внимание, что wmctrl
а также xdotool
должен быть установлен:
$ sudo apt-get install wmctrl xdotool
Смотрите также ответ: закройте текущую вкладку Firefox с помощью терминала.
Мой ответ немного изменен, потому что Ctrl+Shift+w закрывает окно Firefox.
Для всех ярлыков см. Сочетания клавиш Firefox.