AppIndicator3 в Python занимает много времени после os.fork()
Я пишу приложение, у которого есть appindicator на python. В основном это работает нормально, но теперь я хочу разорвать выполнение, чтобы приложение запустилось "в трее" и выпустило консоль. Проблема в том, что для того, чтобы приложение отображалось после разветвления, требуется около 10-15 секунд. Вот небольшой пример кода, который воспроизводит проблему:
from gi.repository import Gtk as gtk
from gi.repository import AppIndicator3 as appindicator
import os
import sys
def run_in_background():
pid = os.fork()
if pid != 0:
sys.exit(0)
def main():
indicator = appindicator.Indicator.new('an_indicator', gtk.STOCK_INFO, appindicator.IndicatorCategory.SYSTEM_SERVICES)
indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
m = gtk.Menu()
indicator.set_menu(m)
gtk.main()
run_in_background()
if __name__ == "__main__":
main()
Если я уберу "run_in_background()", индикатор сразу появится, но если я его введу, то на его отображение уйдет около 10-15 секунд.
Есть ли способ решить эту проблему? Почему индикатор так долго появляется после развилки?