Автозапуск Thunderbird или любой другой программы в трее на Linux

Есть графические программы, которые:
а) надо бы запускать автоматически при входе в ОС
б) не умеют сворачиваться в трей, а на весь экран их окно не нужно

У меня такая потребность возникла с Thunderbird. Почтовая база (папка ~/.thunderbird) весит более 14 ГБ, запуск Thunderbird происходит секунд 15, и это на SSD-диске. Поэтому получается, что я хочу открыть почтовый ящик, а приходится довольно долго ждать, пока запустится почтовая программа. При запуске ОС окно Thunderbird на весь экран тоже не нужно, в панели задач оно тоже не должно висеть и мешаться. Встала задача автоматически запускать Thunderbird в трее.

Для этого установим необходимые пакеты:
На Debian/Ubuntu: sudo apt install wmctrl kdocker

Теперь попробуем выполнить в терминале команду:
thunderbird & sleep 17 && kdocker -b -w `wmctrl -l | grep -i thunderbird | awk '{print $1}'`

Она запускает thunderbird, ждет 17 секунд, пока он запустится (измените 17 на время запуска программы у вас), затем находит окно, в названии которого есть слово «thunderbird» с буквами в любом регистре, и сворачивает его в трей. В трее появляется значок Thunderbird. Если развернуть его из трея и свернуть окно, то оно сворачивается обратно в трей, а закрытие окна закрывает его, как и без kdocker.
. Если нужно оставить программу рабочей, но убрать из трея, то нужно нажатием на значок в трее выбрать «Undock».

Далее нужно добавить команду /bin/bash -c "thunderbird & sleep 17 && kdocker -b -w `wmctrl -l | grep -i thunderbird | awk '{print $1}'`" в автозапуск. Например, в XFCE это делается так: Настройки —> Сеансы и запуск —> Автозапуск.

Теперь я могу за доли секунды развернуть окно Thunderbird. Вместо thunderbird можно запускать любую другую программу.

P.S. Пользователи GNOME, ненавидящие трей, который выпилили из их Гнома, могут попробовать как-то запускать программу на отдельном рабочем столе, который не является рабочим столом по умолчанию.

Отправить ответ

avatar
  Subscribe  
Сообщать по почте