Hi, Am Freitag, den 24.09.2021, 21:33 +0000 schrieb John Kehayias: > Hello, > > syncthing-gtk has an option to enable autostart, which it does by > creating the .desktop file in ~/.config/autostart However, this has > the wrong exec line, getting the -real script instead of syncthing- > gtk. This won't work as it needs to be run as syncthing-gtk. Namely, > it produces: > > Exec=/gnu/store/vf5h9jqhq40x8r46afaa0jgw7awg1361-syncthing-gtk- > 0.9.4.4-1.c46fbd8/bin/.syncthing-gtk-real > > Instead of > > Exec=/gnu/store/vf5h9jqhq40x8r46afaa0jgw7awg1361-syncthing-gtk- > 0.9.4.4-1.c46fbd8/bin/syncthing-gtk > > This is due to syncthing-gtk getting its executable name to write to > the .desktop file in get_executable(): > https://salsa.debian.org/debian/syncthing-gtk/-/blob/master/syncthing_gtk/tools.py#L409 > where due to wrapping it will find something that won't work when run > directly. > > How should this be solved in Guix? Should we patch this part of the > code to explicitly rewrite the path to have "syncthing-gtk" instead > of ".syncthing-gtk-real"? Related would be the discussion at > https://lists.gnu.org/r/guix-devel/2021-09/msg00088.html which I will > message separately. We should patch syncthing to not write a desktop file at all. Note how even if the binary name itself was correct, syncthing would link directly into the store, potentially producing a stale desktop file that breaks with garbage collection.
Cheers