View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0015259 | Scribus | OS-MacOSX | public | 2018-04-12 18:21 | 2018-04-13 20:40 |
Reporter | rpspringuel | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | always |
Status | new | Resolution | open | ||
OS | macOS | OS Version | 10.13.4 | ||
Product Version | 1.4.6 | ||||
Summary | 0015259: Restricted Shell for Render Frames | ||||
Description | When an app like Scribus requests a shell instance on macOS, it is provided with one which has no access to the user's normal shell customizations that would be available when starting a new Terminal instance. As a result, Render Frames have difficulty accessing the software they are trying to run, even when it is installed and readily available in Terminal. In some cases this can be alleviated by modifying the command in order to provide the full path to the external software (e.g. /Library/TeX/texbin/pdflatex instead of just pdflatex) however, this does not work in all instances. It would be useful, therefore, if there was a preference for the Reder Frames and would allow one to specify paths should should be appended to `PATH` in the shell instance which is created to run the external software. | ||||
Steps To Reproduce | 1. Configure the LaTeX Render Frame to use the following command `/Library/TeX/texbin/lualatex --interaction nonstopmode` (must be on a Mac with MacTeX installed) 2. Add a LaTeX Render Frame and Edit Source... 3. Uncheck "Use Preamble" and change the source to: \documentclass{article} \usepackage{luamplib} \begin{document} Hello. \end{document} 4. Click "Update", the Render Frame will still display the old document and the "Program Messages" box will contain log output indicating that LuaLaTeX ran into a problem when trying to load luamplib. | ||||
Additional Information | The LuaLaTeX error can be reproduced in Terminal compiling the same document by setting `export PATH=/usr/bin:/bin:/usr/sbin:/sbin`. Adding `/Library/TeX/texbin` to that PATH eliminates the error. I obtained the limited path by hijacking the gnuplot Render Frame to start bash instead and providing `echo $PATH` as the source. The above PATH then appears in the Program Messages box. It is the `luamplib` package that raises the error, and indeed LuaLaTeX works fine when that package is not loaded. I have reported that too (https://github.com/lualatex/luamplib/issues/74) | ||||
Tags | latex, render frames | ||||
Patch | No | ||||
|
Using the procedure described here: https://apple.stackexchange.com/a/51737/200894 I was able to modify the way Scribus launches for me so that the PATH variable it inherits is suitably modified to find the LaTeX tools (including lualatex) without any additional configuration inside of Scribus. Attached is my version of the shell script that I used to achieve this. Scribus.sh (134 bytes)
#!/bin/sh export PATH=$PATH:/Library/TeX/texbin:/usr/local/bin logger "`dirname \"$0\"`/Scribus" exec "`dirname \"$0\"`/Scribus" $@ |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-04-12 18:21 | rpspringuel | New Issue | |
2018-04-12 18:21 | rpspringuel | Tag Attached: latex | |
2018-04-12 18:21 | rpspringuel | Tag Attached: render frames | |
2018-04-12 22:08 | jghali | Severity | major => feature |
2018-04-13 20:40 | rpspringuel | File Added: Scribus.sh | |
2018-04-13 20:40 | rpspringuel | Note Added: 0045161 |