<div dir="ltr"><div dir="ltr">On Thu, Oct 17, 2024 at 10:59 AM Bill Cole <<a href="mailto:macportsusers-20171215@billmail.scconsult.com">macportsusers-20171215@billmail.scconsult.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="msg8573911534605917889"><u></u>
<div><div class="m_8573911534605917889plaintext"><p dir="auto">To launch any GUI app in macOS, you need to execute the binary at /path/to/app/AppName.app/Contents/MacOS/AppName OR use "open /path/to/app/AppName.app". Both mechanisms only work if the caller is part of the same LaunchD "domain" as the current console user.<br></p></div><div class="m_8573911534605917889plaintext">
<p dir="auto">So yes, if you want to launch an app from the command line, the whole path to the binary inside the app bundle (AppName.app/Contents/MacOS/AppName) is required. If there are many useful binaries in that directory, you may find it convenient to add the directory to your PATH environment variable, OR you could add ~/bin/ to your $PATH and populate ~/bin/ with symlinks to the app binaries from wherever that you frequently want to use from the command line.</p></div></div></div></blockquote><div><br></div><div>For now I have chosen the workaround of the symlink in my ~/bin directory: that seems to work.</div><div><br></div><div>But as I ponder this further I can't help thinking that the emacs-app installation should work differently. The "emacsclient" program (as well as the others) are not GUI apps; they're command-line utilities. Shouldn't the emacs-app installation arrange for them to be located in the /opt/local/bin directory?</div><div><br></div><div>I have a similar concern about the man pages for those command-line utilities. They're installed in the app bundle under Resources. But the man command doesn't find them there. Shouldn't they be put under the /opt/local/share/man directory?</div></div></div>