This release fixes regresssions introduced by the shell script modernization in the 1.4.3 release, primarily seen on systems without the "mcookie" helper program to make xauth cookies, and thus using openssl or /dev/urandom to make cookies instead. Thanks to Peter Tribble of the Tribblix illumos distro for reporting the issue and testing the fixes. - adjusted xinit-suse.patch, xinit-tolerant-hostname-changes.patch OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xinit?expand=0&rev=75
135 lines
3.7 KiB
Diff
135 lines
3.7 KiB
Diff
--- xinit-1.4.4/startx.before_patch2 2025-03-09 23:08:33.597781034 +0100
|
|
+++ xinit-1.4.4/startx 2025-03-09 23:27:30.128779830 +0100
|
|
@@ -61,6 +61,93 @@
|
|
[ -f "${XINITRC}" ] && userclientrc="${XINITRC}"
|
|
sysclientrc="/usr/libexec/xinit/xinitrc"
|
|
|
|
+#
|
|
+# check for installed servers
|
|
+#
|
|
+
|
|
+INSTALLED_SERVERS=`ls -1 /usr/bin/Xorg /usr/X11R6/bin/XFree86 /usr/X11R6/bin/Xorg* 2>/dev/null`
|
|
+
|
|
+
|
|
+if [ -z "$INSTALLED_SERVERS" ]; then
|
|
+
|
|
+ echo ""
|
|
+ echo "You did not install any X-Server \(e.g. Xorg\)!"
|
|
+ echo "Please install at least one server to start X."
|
|
+ echo "I'm aborting now."
|
|
+ exit 1
|
|
+fi
|
|
+
|
|
+
|
|
+#
|
|
+# perhaps a windowmanager is specified?
|
|
+#
|
|
+#
|
|
+# find wmlist utility, else take twm as default (always there :-))
|
|
+#
|
|
+type wmlist >/dev/null 2>&1 && WMLIST="`for i in $(wmlist); do echo $i; done | sort`"
|
|
+test -z "$WMLIST" && WMLIST="twm"
|
|
+
|
|
+test "$1" = "--" || { test -n "$1" && WANTEDWM=`basename "$1"` ; }
|
|
+
|
|
+#
|
|
+# User could have set a list of window manager in WINDOWMANAGERLIST.
|
|
+# go through wms and check if user specified a reachable one.
|
|
+#
|
|
+
|
|
+for WM in $WMLIST $WINDOWMANAGERLIST
|
|
+do
|
|
+ test "$WM" = "$WANTEDWM" && {
|
|
+#
|
|
+# is it reachable via $PATH?
|
|
+#
|
|
+ type $WM >/dev/null 2>&1 || {
|
|
+
|
|
+ echo "`basename $0`: error: the requested window manager '$1' could not be found!"
|
|
+ echo "Window manager must be one of (currently installed window amangers):"
|
|
+ for i in $WMLIST; do echo $i; done
|
|
+ exit 1
|
|
+ }
|
|
+#
|
|
+# OK, we got it, this will be the override for WINDOWMANAGER
|
|
+#
|
|
+ export WINDOWMANAGER=$WM
|
|
+ shift 1
|
|
+ break
|
|
+ }
|
|
+done
|
|
+
|
|
+unset WINDOWMANAGERLIST WMLIST WANTEDWM WM
|
|
+
|
|
+#
|
|
+# check symlink
|
|
+#
|
|
+
|
|
+if [ ! -L /usr/bin/X ]; then
|
|
+
|
|
+ echo ""
|
|
+ echo "There is no link /usr/bin/X to X server (/usr/bin/Xorg)!"
|
|
+ echo "Please link the files as mentioned above or install the X-Server again."
|
|
+ echo "I'm aborting now."
|
|
+ exit 1
|
|
+fi
|
|
+
|
|
+#
|
|
+# check if the Xorg file is an executable or an accidentally copied script or similar things
|
|
+#
|
|
+
|
|
+if [ ! -x /usr/bin/X ]; then
|
|
+
|
|
+ echo ""
|
|
+ echo "The file Xorg (binary of X-Server) doesn't seem to be a binary file."
|
|
+ echo "Please check it or / and install a new X-Server-binary."
|
|
+ echo "I'm aborting now."
|
|
+ exit 1
|
|
+fi
|
|
+
|
|
+# set $DISPLAYMANAGER_XSERVER $DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN
|
|
+. /etc/sysconfig/displaymanager
|
|
+
|
|
+
|
|
userserverrc="$HOME/.xserverrc"
|
|
[ -f "${XSERVERRC}" ] && userserverrc="${XSERVERRC}"
|
|
sysserverrc="$xinitdir/xserverrc"
|
|
@@ -319,6 +406,10 @@
|
|
done
|
|
fi
|
|
|
|
+# handle TCP port 6000
|
|
+test "$DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" != "yes" && \
|
|
+ serverargs="$serverargs -nolisten tcp"
|
|
+
|
|
case "$(uname -s)" in
|
|
CYGWIN_NT*|Darwin)
|
|
eval "$xinit" \"$client\" $clientargs -- \"$server\" $display $serverargs
|
|
@@ -329,6 +420,12 @@
|
|
esac
|
|
retval=$?
|
|
|
|
+if [ "$retval" != 0 -a ! -u "/usr/bin/Xorg" ]; then
|
|
+ echo "-------------------------------------------------------------------------------------------"
|
|
+ echo "xinit failed. /usr/bin/Xorg is not setuid, maybe that's the reason?"
|
|
+ echo "If so either use a display manager (strongly recommended) or adjust /etc/permissions.local and run \"chkstat --system --set\" afterwards"
|
|
+fi
|
|
+
|
|
if [ "$enable_xauth" = 1 ] ; then
|
|
if [ "$removelist" != "" ]; then
|
|
"$xauth" remove $removelist
|
|
--- xinit-1.4.4/xinitrc.before_patch2 2025-03-09 23:08:33.601781115 +0100
|
|
+++ xinit-1.4.4/xinitrc 2025-03-09 23:31:04.025108190 +0100
|
|
@@ -50,7 +50,10 @@
|
|
fi
|
|
|
|
"$twm" &
|
|
+if [ -x /usr/X11R6/bin/fvwm -o -x /usr/bin/fvwm]; then
|
|
+ exec fvwm
|
|
+fi
|
|
"$xclock" -geometry 50x50-1+1 &
|
|
"$xterm" -geometry 80x50+494+51 &
|
|
"$xterm" -geometry 80x20+494-0 &
|
|
-exec "$xterm" -geometry 80x66+0+0 -name login
|
|
+exec $twm
|