fix new executable check in Linux launcher, update release notes (#775)

This commit is contained in:
Jesse Plamondon-Willard 2021-05-02 18:26:02 -04:00
parent b8b120b759
commit 0f27d6f4c1
No known key found for this signature in database
GPG Key ID: CF8B1456B3E29F49
2 changed files with 18 additions and 8 deletions

View File

@ -18,6 +18,7 @@
* Fixed `StardewModdingAPI.bin.osx` on macOS overwritten with an identical file on launch, which resets file permissions (thanks to 007wayne!). * Fixed `StardewModdingAPI.bin.osx` on macOS overwritten with an identical file on launch, which resets file permissions (thanks to 007wayne!).
* Fixed error for non-English players after returning to title, reloading, and entering town with a completed movie theater. * Fixed error for non-English players after returning to title, reloading, and entering town with a completed movie theater.
* Fixed `world_clear` console command not removing resource clumps outside the farm and secret woods. * Fixed `world_clear` console command not removing resource clumps outside the farm and secret woods.
* Fixed error running SMAPI in a strict sandbox on Linux (thanks to kuesji!).
* Fixed inconsistent spelling/style for 'macOS'. * Fixed inconsistent spelling/style for 'macOS'.
* For modders: * For modders:

View File

@ -72,42 +72,51 @@ else
export TERMINAL_NAME="$(basename "$(readlink -f $(command -v x-terminal-emulator))")" export TERMINAL_NAME="$(basename "$(readlink -f $(command -v x-terminal-emulator))")"
fi fi
# run in selected terminal and account for quirks
if [ ! -x $TERMINAL_NAME ]; then export TERMINAL_PATH="$(command -v $TERMINAL_NAME)"
echo "looks like found no terminal available for launch. maybe in sandbox or misconfigured system? fallbacking to execution without terminal" if [ -x $TERMINAL_PATH ]; then
export TERM="xterm"
exec $LAUNCH_FILE $@
else
# run in selected terminal and account for quirks
case $TERMINAL_NAME in case $TERMINAL_NAME in
terminal|termite) terminal|termite)
# consumes only one argument after -e # consumes only one argument after -e
# options containing space characters are unsupported # options containing space characters are unsupported
exec $TERMINAL_NAME -e "env TERM=xterm $LAUNCH_FILE $@" exec $TERMINAL_NAME -e "env TERM=xterm $LAUNCH_FILE $@"
;; ;;
xterm|konsole|alacritty) xterm|konsole|alacritty)
# consumes all arguments after -e # consumes all arguments after -e
exec $TERMINAL_NAME -e env TERM=xterm $LAUNCH_FILE "$@" exec $TERMINAL_NAME -e env TERM=xterm $LAUNCH_FILE "$@"
;; ;;
terminator|xfce4-terminal|mate-terminal) terminator|xfce4-terminal|mate-terminal)
# consumes all arguments after -x # consumes all arguments after -x
exec $TERMINAL_NAME -x env TERM=xterm $LAUNCH_FILE "$@" exec $TERMINAL_NAME -x env TERM=xterm $LAUNCH_FILE "$@"
;; ;;
gnome-terminal) gnome-terminal)
# consumes all arguments after -- # consumes all arguments after --
exec $TERMINAL_NAME -- env TERM=xterm $LAUNCH_FILE "$@" exec $TERMINAL_NAME -- env TERM=xterm $LAUNCH_FILE "$@"
;; ;;
kitty) kitty)
# consumes all trailing arguments # consumes all trailing arguments
exec $TERMINAL_NAME env TERM=xterm $LAUNCH_FILE "$@" exec $TERMINAL_NAME env TERM=xterm $LAUNCH_FILE "$@"
;; ;;
*) *)
# If we don't know the terminal, just try to run it in the current shell. # If we don't know the terminal, just try to run it in the current shell.
# If THAT fails, launch with no output.
env TERM=xterm $LAUNCH_FILE "$@" env TERM=xterm $LAUNCH_FILE "$@"
# if THAT fails, launch with no output
if [ $? -eq 127 ]; then if [ $? -eq 127 ]; then
exec $LAUNCH_FILE --no-terminal "$@" exec $LAUNCH_FILE --no-terminal "$@"
fi fi
esac esac
## terminal isn't executable; fallback to current shell or no terminal
else
echo "The '$TERMINAL_NAME' terminal isn't executable. SMAPI might be running in a sandbox or the system might be misconfigured? Falling back to current shell."
env TERM=xterm $LAUNCH_FILE "$@"
if [ $? -eq 127 ]; then
exec $LAUNCH_FILE --no-terminal "$@"
fi
fi fi
fi fi