[OS X] launch Inkscape with a login shell
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Invalid
|
Wishlist
|
Unassigned |
Bug Description
The Inkscape.app launch script inherits the minimal shell environment of launchd. Current system and user configuration files are not read.
Proposals:
1) bash sh-bang with --login option in script and openDoc (diff attached)
from the bash reference manual:
"When Bash is invoked as (...) a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable."
Changing the sh-bang line of Resources/script and Resources/openDoc to
#!/bin/bash --login
gets the current system (x11, macports, fink) and user (local) environment to inkscape.
Additional PATH settings in Resources/
Caveat:
Empirical testing - I don't have C/C++ coding skills - showed that this does not work when the LauncherApp/
2) bash login shell wrapper added to current ScriptExec
If the bash login shell implemented as sh-bang doesn't work e.g. for older platforms (Tiger, PPC?), maybe adding an explicit interpreter with --login argument to execve() in ScriptExec/main.c is more portable? This is similar to the way MacVim starts vim with a login shell.
Other applications that use a (bash) login shell:
X11.app <http://
MacVim <http://
3) new ScriptExec based on Platypus 4.2
Platypus 4.2 <http://
Inkscape specific fc-cache and X11 related functions in ScriptExec would have to be rewritten. Resources/script stays unchanged or could be combined with openDoc and bin/inkscape.
Changed in inkscape: | |
importance: | Undecided → Wishlist |
tags: | added: packaging |
Retracting.