From 95b73daa36b23565a8566f71f9b202d3459b685f Mon Sep 17 00:00:00 2001 From: Sam Chudnick Date: Sun, 25 Jun 2023 09:52:36 -0400 Subject: Initial Commit --- data/game_server/xinitrc | 107 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 data/game_server/xinitrc (limited to 'data/game_server/xinitrc') diff --git a/data/game_server/xinitrc b/data/game_server/xinitrc new file mode 100644 index 0000000..19ac175 --- /dev/null +++ b/data/game_server/xinitrc @@ -0,0 +1,107 @@ +#!/bin/sh + +# fix broken $UID on some system... +if test "x$UID" = "x"; then + if test -x /usr/xpg4/bin/id; then + UID=`/usr/xpg4/bin/id -u`; + else + UID=`id -u`; + fi +fi + +# set $XDG_MENU_PREFIX to "xfce-" so that "xfce-applications.menu" is picked +# over "applications.menu" in all Xfce applications. +if test "x$XDG_MENU_PREFIX" = "x"; then + XDG_MENU_PREFIX="xfce-" + export XDG_MENU_PREFIX +fi + +# set DESKTOP_SESSION so that one can detect easily if an Xfce session is running +if test "x$DESKTOP_SESSION" = "x"; then + DESKTOP_SESSION="xfce" + export DESKTOP_SESSION +fi + +# set XDG_CURRENT_DESKTOP so that Qt 5 applications can identify user set Xfce theme +if test "x$XDG_CURRENT_DESKTOP" = "x"; then + XDG_CURRENT_DESKTOP="XFCE" + export XDG_CURRENT_DESKTOP +fi + +# $XDG_CONFIG_HOME defines the base directory relative to which user specific +# configuration files should be stored. If $XDG_CONFIG_HOME is either not set +# or empty, a default equal to $HOME/.config should be used. +if test "x$XDG_CONFIG_HOME" = "x" ; then + XDG_CONFIG_HOME=$HOME/.config +fi +[ -d "$XDG_CONFIG_HOME" ] || mkdir "$XDG_CONFIG_HOME" + +# $XDG_CACHE_HOME defines the base directory relative to which user specific +# non-essential data files should be stored. If $XDG_CACHE_HOME is either not +# set or empty, a default equal to $HOME/.cache should be used. +if test "x$XDG_CACHE_HOME" = "x" ; then + XDG_CACHE_HOME=$HOME/.cache +fi +[ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME" + +# set up XDG user directores. see +# http://freedesktop.org/wiki/Software/xdg-user-dirs +if command -v xdg-user-dirs-update >/dev/null 2>&1; then + xdg-user-dirs-update +fi + +# For now, start with an empty list +XRESOURCES="" + +# Has to go prior to merging Xft.xrdb, as its the "Defaults" file +test -r "/etc/xdg/xfce4/Xft.xrdb" && XRESOURCES="$XRESOURCES /etc/xdg/xfce4/Xft.xrdb" +test -r $HOME/.Xdefaults && XRESOURCES="$XRESOURCES $HOME/.Xdefaults" + +BASEDIR=$XDG_CONFIG_HOME/xfce4 +if test -r "$BASEDIR/Xft.xrdb"; then + XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb" +elif test -r "$XFCE4HOME/Xft.xrdb"; then + mkdir -p "$BASEDIR" + cp "$XFCE4HOME/Xft.xrdb" "$BASEDIR"/ + XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb" +fi + +# merge in X cursor settings +test -r "$BASEDIR/Xcursor.xrdb" && XRESOURCES="$XRESOURCES $BASEDIR/Xcursor.xrdb" + +# ~/.Xresources contains overrides to the above +test -r "$HOME/.Xresources" && XRESOURCES="$XRESOURCES $HOME/.Xresources" + +# load all X resources (adds /dev/null to avoid an empty list that would hang the process) +cat /dev/null $XRESOURCES | xrdb -merge - + +# load local modmap +test -r $HOME/.Xmodmap && xmodmap $HOME/.Xmodmap + +# if XAUTHLOCALHOSTNAME is not set in systemd user session, starting of xfce4-notifyd, DISPLAY etc. will fail +if command -v systemctl >/dev/null 2>&1 && systemctl --user list-jobs >/dev/null 2>&1; then # user session is running + dbus-update-activation-environment --systemd XAUTHLOCALHOSTNAME=$XAUTHLOCALHOSTNAME +fi + + +# check if we start xfce4-session with ck-launch-session. this is only +# required for starting from a console, not a login manager +if test "x$XFCE4_SESSION_WITH_CK" = "x1"; then + if command -v ck-launch-session >/dev/null 2>&1; then + exec ck-launch-session xfce4-session + else + echo + echo "You have tried to start Xfce with consolekit support, but" + echo "ck-launch-session is not installed." + echo "Aborted startup..." + echo + exit 1 + fi +else + # start xfce4-session normally + systemctl --user start sunshine + exec xfce4-session +fi + +# if we got here, then exec failed +exit 1 -- cgit v1.2.3