View Issue Details

IDProjectCategoryView StatusLast Update
0015259ScribusOS-MacOSXpublic2018-04-13 20:40
Reporterrpspringuel Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status newResolutionopen 
OSmacOSOS Version10.13.4 
Product Version1.4.6 
Summary0015259: Restricted Shell for Render Frames
DescriptionWhen 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 Reproduce1. 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 InformationThe 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)
Tagslatex, render frames
PatchNo

Activities

rpspringuel

2018-04-13 20:40

reporter   ~0045161

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" $@
Scribus.sh (134 bytes)   

Issue History

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