SMAPI - Stardew Modding API

SMAPI - Stardew Modding API

971k Downloads

Installer and SMAPI 2.6-beta3 don't work on Konsole

DrDoctor13 opened this issue ยท 6 comments

commented

Konsole will not run the installer or SMAPI scripts properly. I was only able to get the scripts to run properly after installing xterm. Also tested with xfce4-terminal.

Running KDE on Manjaro

commented

This is actually a bug in mono.

commented

SMAPI tries to use specific terminals if available to avoid issues like that. The current precedence is:

  1. x-terminal-emulator (with special logic for Terminator);
  2. xterm;
  3. xfce4-terminal;
  4. gnome-terminal;
  5. konsole;
  6. terminal.

I'm not a Linux user so I can't look into this much, but it's easy to change that precedence order if needed.

commented

Whilst it is a bug in mono, and I pointed that out before (but deleted my post because I'm weak xD) the issue surely is that mono is bundled with Stardew Valley?

Would that not make it fairly difficult to update in case of any particular changes between the mono versions that may break SD? Unless there's some clever stuff SMAPI could do to get around that...

commented

So, I've been fiddling with this on and off, and after @kurumushi added #526 I was wondering if there was similar for xfce4 and gnome. There's nothing as graceful, but there is another way...

Basically you can use env to set temporary environment settings like TERM=xterm.

Ubuntu seems to have env installed by default, and for fixes I generally target that even though I use Arch Linux myself (because Steam doesn't support anything besides Ubuntu).

So the "fix" to me would be this:

    elif $COMMAND xfce4-terminal 2>/dev/null; then
        xfce4-terminal -e "env TERM=xterm; $LAUNCHER"
    elif $COMMAND gnome-terminal 2>/dev/null; then
        gnome-terminal -e "env TERM=xterm; $LAUNCHER"
    elif $COMMAND konsole 2>/dev/null; then
        konsole -p Environment=TERM=xterm -e "$LAUNCHER" 

If you know any super Linux nerds on Discord, @Pathoschild, maybe run it by them?

commented

A Linux Engineer at the Linux Foundation says:

seems sound to me, Linux actually does some stuff like that internally sometimes.

commented

Done in develop for the next SMAPI 2.6 beta. Thanks!