> On 20 May 2020, at 19:59, Wolfgang Lux <[email protected]> wrote: > > > >> Am 20.05.2020 um 18:24 schrieb Riccardo Mottola <[email protected]>: >> >> Hi, >> >> Richard Frith-Macdonald wrote: >>> I'm sure the install instructions say (or said) that make_services should >>> be in your .profile to run on login. >>> When installing a new app, app developers should ensure it is run by the >>> install script. >>> So the only time it would need to be run manually is when copying a new >>> application rather than installing it. >> >> exactly - if you are building yourself "you should know", if you install a >> package, it should be in the "post install" of the respctive package >> installation tool > > So you assume package maintainers are aware of this? The standard documented mechanism of having it in the startup script is very well documented (similarly basic as sourcing GNUstep.sh for a developer), so it's not unreasonable to expect packagers to be aware. If it's in .profile then the normal advice to log out and log in again works even if someone screws up when adding a new app. This (presence in the shell login script) is really only needed for people not running a workspace manager though (ie if you want to use the command-line tool to launch apps). > Either the current workspace application (so GWorkspace for the time being) > should update the services database a soon as it recognizes a new (or > updated) application, In fact the workspace does that on startup, and -[NSWorkspace findApplications] does it on demand ... while the latter should never be necessary, it's a good to have failsafes. > or, when there is no registered workspace manager, applications should do > that themselves. This is of course impossible (catch 22) in order to have the app run make_services you must first have run make_services to be able to launch the app. Unless you know the path to the app and launch it directly ... in which case it runs make_services if/when creating its shared NSWorkspace instance to andle interactions with the workspace application. So, in order to *not* run make_services you need to: have the environment set up by someone who has not read that you should run make_services in .profile *and* not be running a workspace manager *and* not have the app install script run it Then, if you run it manually, it has to be an app that doesn't want to interact with the workspace and therefore doesn't create an NSWorkspace instance. You can of course have a temporary issue if an app is just copied into place rather than being properly installed, but that should be automatically fixed as soon as you restart the desktop, log out/in, start any app which expects to interact with the desktop, or your desktop calls -findApplications. I don't think this thread has anything to do with a problem with whether make_services has run, it sound more like an issue with having two incompatible configuration of the system in use (native system packages configured one way, new code built from source and configured another way).
