Linux launch script refactors

- remove unused WINE libs from `LD_LIBRARY_PATH`
- add usage reminder for `--mono-no-redirect`, printed to stderr
- use `MONO_WINFORMS_XIM_STYLE=disabled` on all distros
- use `MONO_CRASH_NOFILE` to stop useless core dumps from clogging dir
This commit is contained in:
YoshiRulz 2023-03-10 03:00:24 +10:00
parent 16afcffe81
commit a46d0d93a7
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 7 additions and 6 deletions

View File

@ -5,12 +5,11 @@ if [ "$(ps -C "mono" -o "cmd" --no-headers | grep "EmuHawk.exe")" ]; then
exit 0
fi
libpath=""
winepath=""
if [ "$(command -v lsb_release)" ]; then
case "$(lsb_release -i | cut -c17- | tr -d "\n" | tr A-Z a-z)" in
"arch"|"manjarolinux"|"artix") libpath="/usr/lib";;
"fedora") libpath="/usr/lib64"; export MONO_WINFORMS_XIM_STYLE=disabled;; # see https://bugzilla.xamarin.com/show_bug.cgi?id=28047#c9
"debian"|"linuxmint"|"ubuntu"|"pop") libpath="/usr/lib/x86_64-linux-gnu"; export MONO_WINFORMS_XIM_STYLE=disabled;; # ditto
"arch"|"artix"|"manjarolinux") libpath="/usr/lib";;
"fedora") libpath="/usr/lib64";;
"debian"|"linuxmint"|"pop"|"ubuntu") libpath="/usr/lib/x86_64-linux-gnu";;
esac
else
printf "Distro does not provide LSB release info API! (You've met with a terrible fate, haven't you?)\n"
@ -19,8 +18,9 @@ if [ -z "$libpath" ]; then
printf "%s\n" "Unknown distro, assuming system-wide libraries are in /usr/lib..."
libpath="/usr/lib"
fi
if [ -z "$winepath" ]; then winepath="$libpath/wine"; fi
export LD_LIBRARY_PATH="$PWD/dll:$PWD:$winepath:$libpath"
export LD_LIBRARY_PATH="$PWD/dll:$PWD:$libpath"
export MONO_CRASH_NOFILE=1
export MONO_WINFORMS_XIM_STYLE=disabled # see https://bugzilla.xamarin.com/show_bug.cgi?id=28047#c9
export BIZHAWK_INT_SYSLIB_PATH="$libpath"
if [ "$1" = "--mono-no-redirect" ]; then
shift
@ -28,5 +28,6 @@ if [ "$1" = "--mono-no-redirect" ]; then
printf "(received --mono-no-redirect, stderr was not captured)\n" >EmuHawkMono_laststderr.txt
mono ./EmuHawk.exe "$@"
else
printf "(output captured in %s/EmuHawkMono_last*.txt, pass --mono-no-redirect as first argument to disable)\n" "$PWD" >&2
mono ./EmuHawk.exe "$@" >EmuHawkMono_laststdout.txt 2>EmuHawkMono_laststderr.txt
fi