SMAPI - Stardew Modding API

SMAPI - Stardew Modding API

971k Downloads

SMAPI uses "wrong" terminal - Linux

saltedcoffii opened this issue ยท 3 comments

commented

When I run Stardew Valley, (I'm using Steam), SMAPI launches using my system's XTerm, the pre-installed terminal on the system. This terminal has small text and is hard to read. I have the standard GUI terminal for my system gnome-terminal, set up to use a OpenDyslexic, as it's easier for me to read. XTerm doesn't have that configuration option. Is there a way to make SMAPI use gnome-terminal as it's default terminal?

I am running Ubuntu 16.04 LTS, SMAPI 3.0.2, and Stardew Valley 1.4.4. Thank you :)

EDIT: I'd also like to tag this issue as a question but I can't figure out how to do that.

commented

@kingliamb SMAPI has a list of preferred terminals for compatibility, but you can override it:

  1. Open the StardewValley file (the one with no extension) in a text editor.
  2. Find the lines that look like this:
    # select terminal (prefer xterm for best compatibility, then known supported terminals)
    for terminal in xterm gnome-terminal kitty terminator xfce4-terminal konsole terminal termite alacritty mate-terminal x-terminal-emulator; do
  3. Remove xterm from the list, and it'll prefer gnome-terminal instead.
commented

Terminal order is a perennial topic for the Linux version. A player will report that terminal Y works but X doesn't, so we'll shift the order; then another will report that Y fails for them while X works.

The main problem is that the launcher can't tell whether a terminal is compatible ahead of time; if it isn't, the terminal just won't launch or .NET will crash. xterm is the one that works consistently across all distros when it's installed, which is why it's the default preferred terminal. In most cases SMAPI being functional is more important than having it use the default terminal.

We can certainly discuss whether we should rethink the SMAPI terminal entirely, though that'd be its own discussion.

commented

Alternatively, xterm could go at the end of that list. xterm is most likely installed everywhere, but other emulators are most likely primarily used by people. Thus, xterm should be used as last resort.