Ответы:
Из командной строки:
killall file-roller
Вы можете сделать alt + f4, но вам нужно сделать это для каждого менеджера архива, который был открыт.
killall file-roller: D
Другой подход - использовать wmctrlутилиту (элемент управления Window Manager). Это может быть использовано, чтобы сообщить оконному менеджеру, что вы притворяетесь, что нажали кнопку закрытия. Это позволяет избежать потенциально сурового характера killall; например, некоторые программы с несохраненным документом сразу же завершают свою работу после их уничтожения (даже осторожно), а при нажатии кнопки закрытия появляется сообщение «Хотите сохранить?» незамедлительный.
Основная команда wmctrl -c WINDOWTITLE, так что в этом случае wmctrl -c "Archive Manager"(при условии, что у нее нет открытого файла: это меняет заголовок). К сожалению, он закрывается только по одному, поэтому нам нужно сделать больше, чтобы закрыть все из них.
wmctrl возвращает успех, если находит совпадение, поэтому мы можем зацикливаться, пока он не завершится неудачей:
while wmctrl -c "Archive Manager"; do sleep 0.1; done
При этом всегда выбирается первое найденное окно, поэтому нам нужно немного поспать, чтобы избежать непрерывной отправки потока команд закрытия в первое окно, которое уже занято закрытием - это может вызвать ошибку, которая останавливает цикл.
Это просто и обычно работает, но спать определенное количество времени и надеяться, что окно закрывается, прежде чем мы попробуем снова, - грязный и медленный способ избежать ошибки. Что мы действительно хотим сделать, так это немедленно отправить одно закрытое сообщение в каждое соответствующее окно.
Мы можем найти все открытые окна с wmctrl -l. В этом списке указан числовой идентификатор окна, который мы можем использовать для индивидуальной идентификации каждого окна, даже если все они имеют одинаковый заголовок. Затем нам нужно отфильтровать только соответствующие окна ( grepкоманда), извлечь только идентификатор окна ( cutкоманда) и вызвать wmctrl -i -cкаждое из них. -iНеобходимо , чтобы соответствовать идентификатор окна вместо заголовка окна.
for w in $(wmctrl -l | grep "Archive Manager" | cut -d" " -f1); do
wmctrl -i -c $w
done
Немного сложнее просто вводить текст, когда кошка наступает на клавиатуру, но, надеюсь, это полезная техника для хранения в вашем наборе сценариев.
Вы можете использовать сочетание клавиш Ctrl+, Qкоторое закроет все открытые окна диспетчера архивов.
Ctrl+ QЯрлык часто встречается на Ubuntu (и много других распределений, а). Он работает так же с большинством приложений, которые я использовал до сих пор. То есть он закроет все окна работающего приложения.
Ctrl+Qсамом деле это делает. В то время как Quitменю закрывало все открытые окна диспетчера архивов, сочетание клавиш не делало то же самое (по крайней мере, в 14.04).
kill catдействие, которое я собирался предложить.