Как запустить Thunderbird свернутым при запуске?


18

Я следовал этому руководству, чтобы установить запуск Thunderbird в свернутом режиме при запуске, но это не помогло.

Следуя инструкциям, я даже не смог запустить Thunderbird. Поэтому я был вынужден запустить TB в безопасном режиме, чтобы удалить «Плагин FireTray» и исправить эту проблему. После этого он начал работать, но удалил все мои учетные записи электронной почты, и мне пришлось снова выполнять эту работу.

Так есть ли какой-нибудь рабочий способ запуска Thunderbird при запуске?


Возможный дубликат? askubuntu.com/questions/68640/…
fossfreedom

Может быть дубликат этого вопроса: askubuntu.com/questions/68284/…
Glutanimate

Ответы:



8

Я использовал это дополнение для запуска Thunderbird в свернутом режиме по умолчанию и добавил запись запуска для Thunderbird, следуя этому руководству .


3
Спасибо, что указали на надстройку «Свернуть при запуске» и «Закрыть», которая кажется наиболее простым способом запуска свернутой Thunderbird в Unity Launcher, где вы также можете увидеть количество новых сообщений и т. Д.
Сади

4

Позвольте мне прояснить это, по крайней мере, для таких людей, как я.

Чтобы убедиться, что thunderbird автоматически запускается при входе в систему, необходимо выполнить всего три шага:

  1. Установить аддон FireTray на Thunderbird
  2. установите флажок «запустить приложение, скрытое в трей» в настройках FireTray ( Thunderbird -> Tools -> addons -> firetray -> preferences -> under tab "windows")
  3. Следуйте этому ответу (это быстро), чтобы добавить Thunderbird к запуску (Примечание: поле команды там должно быть: thunderbirdили /usr/bin/thunderbird)

Обратите внимание, что аддон FireTray является обязательным. Большинство людей на самом деле не хотят выходить полностью, как это происходит по умолчанию, когда они говорят «закрыть» окну. Они наверняка ожидают, что Thunderbird будет работать в фоновом режиме, и будут уведомлять о новых поступлениях электронной почты. И FireTray решает именно эту проблему.


1

Я на самом деле использую Ubuntu 13.10, но это решение должно работать нормально, по крайней мере, до 12.04. Firetray - это расширение для Firefox, благодаря которому вы можете свернуть лоток при закрытии и свернуть его при запуске (на секунду вы увидите всплывающее окно Thunderbird, но вряд ли это проблема). Затем просто добавьте Thunderbird в Startup Applications, и когда вы войдете в систему, Thunderbird будет мигать секунду, а затем свернется в системном трее. Он также полностью поддерживает стандартное меню сообщений, поэтому не создает вторичный значок Thunderbird.

Теперь для тех, кто, возможно, пробовал это в прошлом, я знаю, что пробовал Firetray пару лет назад, и он не будет работать вообще, у него было много ошибок при использовании с современной Ubuntu, но последняя версия, кажется, работает без нареканий с Ubuntu (по крайней мере, версия 13.10, но я не понимаю, почему он не будет работать с любой другой версией).



0

Для Ubuntu 18.04.

1) Установить devilspie пакет :

sudo apt install devilspie

2) Создать ~/.devilspieпапку и thunderbird.dsфайл в этой папке:

mkdir -p ~/.devilspie && touch ~/.devilspie/thunderbird.ds

3) Вставьте этот код в ~/.devilspie/thunderbird.dsфайл:

(if
    (is (window_name) "Mozilla Thunderbird")
    (begin
       (minimize)
    )
)

4) Добавить devilspieв автозагрузку приложений

5) Добавить thunderbirdв автозагрузку приложений

6) При желании установите Keep in Taskbar (надстройка для Thunderbird, которая заставляет кнопку «Закрыть» вести себя точно так же, как кнопка «Свернуть»)

7) Перезагрузка.

Совет: как отложить запуск определенной программы

документы Devilspie:

https://web.archive.org/web/20160415011438/http://foosel.org/linux/devilspie

https://wiki.gnome.org/Projects/DevilsPie

https://help.ubuntu.com/community/Devilspie


0

Ubuntu 16.04.

Имел ту же проблему и использовал следующие для достижения цели. Запись автозапуска добавлена ​​при запуске thunderbird через этот скрипт:

#!/usr/bin/env python3
import subprocess
import sys
import time

#
# Check out command
#
command = sys.argv[1]

#
# Run it as a subservice in own bash
#
subprocess.Popen(["/bin/bash", "-c", command])

#
# If a window name does not match command process name, add here. 
# Check out by running :~$ wmctrl -lp
# Do not forget to enable the feature, seperate new by comma.
#
#windowProcessMatcher = {'CommandName':'WindowName'}
#if command in windowProcessMatcher:
#    command = ''.join(windowProcessMatcher[command])
#print("Command after terminator" + command)

#
# Set some values. t is the iteration counter, maxIter guess what?, and a careCycle to check twice.
#
t = 1
maxIter=30
wellDone=False
careCycle=True
sleepValue=0.1

#
# MaxIter OR if the minimize job is done will stop the script.  
# 
while not wellDone:
    # And iteration count still under limit. Count*Sleep, example: 60*0.2 = 6 seconds should be enough.
    # When we found a program
    if t >= maxIter:
        break
    # Try while it could fail.
    try:
        # Gives us a list with all entries
        w_list = [output.split() for output in subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").splitlines()]
        # Why not check the list? 
        for entry in w_list:
            # Can we find our command string in one of the lines? Here is the tricky part: 
            # When starting for example terminator is shows yourname@yourmaschine ~. 
            # Maybee some matching is needed here for your purposes. Simply replace the command name
            # But for our purposes it should work out.
            #
            # Go ahead if nothing found!
            if command not in (''.join(entry)).lower():
                continue
            #######
            print("mt### We got a match and minimize the window!!!")
            # First entry is our window pid
            match = entry[0]
            # If something is wrong with the value...try another one :-)
            subprocess.Popen(["xdotool", "windowminimize", match])
            # 
            # Maybee there will be more than one window running with our command name. 
            # Check the list till the end. And go one more iteration!   
            if careCycle:
                # Boolean gives us one more iteration.
                careCycle=False
                break
            else:
                wellDone=True
    except (IndexError, subprocess.CalledProcessError):
        pass
    t += 1
    time.sleep(sleepValue)

if wellDone:
    print(" ")
    print("mt### Well Done!")
    print("mt### Window found and minimize command send.")
    print("mt### ByBy")
else:
    print(" ")
    print("mt### Seems that the window while counter expired or your process command did not start well.")
    print("mt### == Go ahead. What can you do/try out now? ")

Это должно работать и для любого другого приложения.

Хорошее кодирование

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.