Installer and SMAPI 2.6-beta3 don't work on Konsole
DrDoctor13 opened this issue ยท 6 comments
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
This is actually a bug in mono.
SMAPI tries to use specific terminals if available to avoid issues like that. The current precedence is:
- x-terminal-emulator (with special logic for Terminator);
- xterm;
- xfce4-terminal;
- gnome-terminal;
- konsole;
- 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.
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...
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?
A Linux Engineer at the Linux Foundation says:
seems sound to me, Linux actually does some stuff like that internally sometimes.