summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/release-notes.md1
-rw-r--r--src/SMAPI/unix-launcher.sh9
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