Запустите хром-браузер, свернутый с помощью bash

Я хочу запустить chromium-browser в минимизированном виде, используя bash в терминале.

В настоящее время используется chromium-browser для открытия Chromium. Но как открыть его в свернутом виде с помощью команды bash.


person Mr.EU    schedule 11.07.2017    source источник


Ответы (1)


Используя wmctrl (в системах на основе Debian установка с apt install wmctrl), для отправки команд в любой оконный менеджер NetWM:

chromium-browser && \
last_chrom=$(wmctrl -l | 
             grep -i chrom | tail -1 | 
             while read a b ; do echo $a ; done) ; \
wmctrl -ir $last_chrom -b toggle,hidden

Как это работает:

  1. Запустите браузер.
  2. Сохраните номер идентификатора окна самого последнего вызова chromium-browser в переменной $last_chrom.
  3. Используйте wmctrl, чтобы скрыть это окно.

(Необязательно) Чтобы окно закрывалось через минуту, добавьте еще одну строку:

chromium-browser && \
last_chrom=$(wmctrl -l | 
             grep -i chrom | tail -1 | 
             while read a b ; do echo $a ; done) ; \
wmctrl -ir $last_chrom -b toggle,hidden ; \
{ sleep 1m &&  wmctrl -ic $last_chrom ; } &
person agc    schedule 12.07.2017
comment
Это идеально. Всего 1 дополнительный запрос. Я использовал как chromium-browser --new-window website. Можно ли закрыть это окно после задержки в 1 минуту? - person Mr.EU; 12.07.2017
comment
Ну, это работает большую часть времени, пока я тестирую, однако иногда не удается свернуть и закрыть окно хрома. - person Mr.EU; 12.07.2017
comment
@Mr.EU, Re: невозможно свернуть: этот wmctrl метод работает через Диспетчер окон, поэтому любое поведение программы, которое блокирует WM (например, когда кто-то щелкает с помощью мышь, чтобы свернуть, но это не удается - иногда из-за жадного ожидания обновления, или какой-то неисправленной ошибки, или критической нехватки системных ресурсов), вероятно, также заблокирует wmctrl. Помещение sleep 5s && между $( и первой wmctrl может помочь, если это просто проблема с задержкой — если 5 секунд слишком мало, попробуйте 10s или 15s, и т.п. - person agc; 12.07.2017
comment
Спасибо за ответ и за упоминание критически низкого уровня системных ресурсов. Я обнаружил, что обычно при возникновении этой проблемы оперативная память почти заполнена. - person Mr.EU; 12.07.2017