Comments
-
Greg Hurrell
Thanks for the report, Nick. I presume you're seeing a warning when you try to empty the Trash, given that it contains a still-running process when you try to empty it.
First up, some information about the "synergyd" process:
https://wincent.dev/a/products/synergy-advance/faq/synergyd-daemon/
The reason it's running on your system is because you evidently have the "Auto-launch Synergy Advance when iTunes is launched" setting set to ON. It is necessary to have a separate background process in order for that preference to work (ie. something has to watch for iTunes launches). Furthermore, the background process must continue to run when Synergy Advance quits, so that the monitoring of iTunes can continue to take place. If this weren't the case then the "Auto-launch Synergy Advance when iTunes is launched" setting would be broken.
So what you're asking (that Synergy Advance kills synergyd whenever it exits) is not possible without breaking that feature. The following workarounds currently exist:
(1) Turn off the "Auto-launch Synergy Advanced when iTunes is launched" setting permanently.
(2) Turn off the "Auto-launch Synergy Advanced when iTunes is launched" setting temporarily just before performing an upgrade.
(3) Wait until after rebooting or logging out before trying to empty the Trash.
(4) As you've discovered, manually kill synergyd from the Activity Monitor or the command line.
As far as solving this problem at the implementation level there is very little I can do because Synergy Advance is a drag-and-drop installation; if it were not a drag-and-drop installation and used an installer then I could do stuff like kill the synergyd process (if necessary) from within the installer and then restart it (if necessary). However, this issue seems to be too small to warrant changing from the convenience of a drag-and-drop install.
About the closest thing to an implementation-level workaround that I can think of is that I could make some changes to Synergy Advance that check for already-running copies of synergyd at launch time. If an already-running copy is found that does not belong to the copy of Synergy Advance that is currently running, then it could send a "quit" message to the already-running daemon. Or to put it more clearly, given two copies of Synergy Advance:
(1) New version, just installed, up and running:
/Applications/Synergy Advance.app
(2) Old version, dragged to trash, not running:
~/.Trash/Synergy Advance.app
The installed, running copy could check to see if any copies of synergyd are already running and make sure that they are in the expected location; in the case of this example, that means that the daemon should be running from here:
/Applications/Synergy Advance.app/Contents/Resources/synergyd.app
And not from here:
~/.Trash/Synergy Advance.app/Contents/Resources/synergyd.app
This would partially address the problem that you describe. Basically, if you tried to empty the trash *before* running the new copy of Synergy Advance you would still see the warning, but if you tried to empty it *after* then you'd see no warning.
There is one other alternative way of handling this, and that is getting Synergy Advance to install a copy of synergyd into the user's "Application Support" folder when it is first launched. This would avoid the Trash warnings that you describe entirely, at the cost of some additional complexity. It is probably better to install into the user's folder (and not into the system-wide "Library" folder because this would not require users to enter an administrative password.
An additional benefit of this approach is that it would eliminate potential problems if people try to run Synergy Advance from the disk image, they end up launching synergyd and then cannot eject the disk image.
Such design decisions always involve trade-offs. By moving stuff into the "Application Support" folder we avoid a warning that a small number of users might see some of the time, but we require more disk space (well, a very small amount) and some users like to be able to remove all traces of an application just by dragging it to the Trash.
Weighing things up I think the copy-to-user-app-support solution is the best compromise, so I am going to reword the summary to reflect what needs to be done. Marking as ASSIGNED.
-
Greg Hurrell
Changing assignment to reflect my new email address.
https://wincent.dev/a/news/archives/2006/05/change_of_email.php
Add a comment
Comments are now closed for this issue.