mate-dock-applet icon indicating copy to clipboard operation
mate-dock-applet copied to clipboard

Debian: Dock taking a long time to show at boot

Open mbugeia opened this issue 5 years ago • 6 comments

Hi,

On a fresh debian 10 install, the dock pannel is taking a long time (like 10s) to show on the pannel at boot.

The only error I can find in the syslog are theses:

juil. 20 11:33:54 max org.mate.panel.applet.DockAppletFactory[761]: [1086:1115:0720/113354.327124:ERROR:device_id_linux.cc(88)] Could not find appropriate disk uuid.
juil. 20 11:33:54 max org.mate.panel.applet.DockAppletFactory[761]: [1086:1115:0720/113354.327143:ERROR:device_id_linux.cc(91)]   DeviceID=nvme0n1p1, uuid=7C2C-E352
juil. 20 11:33:54 max org.mate.panel.applet.DockAppletFactory[761]: [1086:1115:0720/113354.327149:ERROR:device_id_linux.cc(91)]   DeviceID=nvme0n1p2, uuid=cbe14b3c-25d1-4bac-b033-607c477eddb7
juil. 20 11:33:54 max org.mate.panel.applet.DockAppletFactory[761]: [1086:1115:0720/113354.327154:ERROR:device_id_linux.cc(91)]   DeviceID=nvme0n1p3, uuid=18a5df68-f92a-4058-9f9e-15c6153ebb01

Let me know if you need further informations.

mbugeia avatar Jul 20 '19 09:07 mbugeia

I have the same slow problem on Debian Buster but without those errors. After a login in Mate I added dock the applet into the panel at 17:59:03 and it was appeared at 17:59:13 when the BAMF was started. So maybe the bamfdaemon starts slowly.

Feb  9 17:59:03 debian dbus-daemon[10149]: [session uid=1000 pid=10149] Activating service name='org.mate.panel.applet.DockAppletFactory' requested by ':1.73' (uid=1000 pid=11017 comm="mate-panel ")
Feb  9 17:59:03 debian dbus-daemon[10149]: [session uid=1000 pid=10149] Successfully activated service 'org.mate.panel.applet.DockAppletFactory'
Feb  9 17:59:13 debian dbus-daemon[10149]: [session uid=1000 pid=10149] Activating via systemd: service name='org.ayatana.bamf' unit='bamfdaemon.service' requested by ':1.89' (uid=1000 pid=11152 comm="python3 /usr/lib/mate-applets/mate-dock-applet/doc")
Feb  9 17:59:13 debian systemd[10125]: Starting BAMF Application Matcher Framework...
Feb  9 17:59:13 debian dbus-daemon[10149]: [session uid=1000 pid=10149] Successfully activated service 'org.ayatana.bamf'
Feb  9 17:59:13 debian systemd[10125]: Started BAMF Application Matcher Framework.

laszlo-t avatar Feb 09 '20 17:02 laszlo-t

I found the root cause in this commit: 8074da6726a39303c10e064b55efbbdcab5d2aa0 There is a workaround here to wait 10 seconds. But the bamfdaemon does not start while it is in the loop. I confirmed with changing the 10 seconds to 20 and it needed 20 seconds to see the bamfdaemon in running processes.

Partial dirty fix in Debian (somehow it works only for the first login, so need somebody who has deeper knowledge about this): in the following file /usr/lib/mate-applets/mate-dock-applet/dock.py at line 625 change 10 to 1

        # wait for max 10s to ensure bamf is available
        # (bamf is not always immediately available after login on Linux Mint
        # 19 - e.g. https://forums.linuxmint.com/viewtopic.php?t=272747 and
        # issue #158)
        i = 0
        while i < 10: # <<<-------- change to 1 !!!
            if (not self.session_bus.name_has_owner("org.ayatana.bamf")):
                i += 1
                sleep(1)
            else:
                break

laszlo-t avatar Feb 09 '20 19:02 laszlo-t

I reproduced the same issue in the freshly released Ubuntu MATE 20.04. The workaround from https://github.com/ubuntu-mate/mate-dock-applet/issues/182#issuecomment-583881243 works for me, but I had to tweak it to use 3 seconds instead of 1 for the panel to load reliably.

arxo avatar Apr 26 '20 11:04 arxo

Launchpad bug: https://bugs.launchpad.net/ubuntu-mate/+bug/1875170

arxo avatar Apr 26 '20 11:04 arxo

In the meantime I found better workaround on Debian Bullseye (currently in testing phase). Revert the changes in dock.py and add new entry into "Startup Applications" (in the Mate Control Center): Name: bamfdaemon Command: /usr/libexec/bamf/bamfdaemon-dbus-runner

laszlo-t avatar Apr 27 '20 21:04 laszlo-t

For ubuntu that command would be /usr/lib/x86_64-linux-gnu/bamf/bamfdaemon-dbus-runner - works perfectly, thanks :)

arxo avatar Apr 28 '20 14:04 arxo