diff options
-rw-r--r-- | docs/release-notes.md | 1 | ||||
-rw-r--r-- | src/SMAPI/unix-launcher.sh | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md index d55ba5a1..27110bff 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -5,6 +5,7 @@ * Fixed error parsing `config.json` files containing curly quotes. * Fixed error parsing JSON files generated on another platform. * Fixed error parsing some JSON files after mods reload core assemblies, which is no longer allowed. + * Fixed error on Linux loading SMAPI when the default terminal is set to Terminator. * For the [log parser][]: * Fixed parse error for logs with zero installed mods. diff --git a/src/SMAPI/unix-launcher.sh b/src/SMAPI/unix-launcher.sh index 70f1873a..2542a286 100644 --- a/src/SMAPI/unix-launcher.sh +++ b/src/SMAPI/unix-launcher.sh @@ -63,7 +63,14 @@ else # open SMAPI in terminal if $COMMAND x-terminal-emulator 2>/dev/null; then - x-terminal-emulator -e "$LAUNCHER" + # Terminator converts -e to -x when used through x-terminal-emulator for some reason (per + # `man terminator`), which causes an "unable to find shell" error. If x-terminal-emulator + # is mapped to Terminator, invoke it directly instead. + if [[ "$(readlink -e $(which x-terminal-emulator))" == *"/terminator" ]]; then + terminator -e "$LAUNCHER" + else + x-terminal-emulator -e "$LAUNCHER" + fi elif $COMMAND xfce4-terminal 2>/dev/null; then xfce4-terminal -e "$LAUNCHER" elif $COMMAND gnome-terminal 2>/dev/null; then |