[26796] in Athena Bugs
Re: linux: X server: DontZap
daemon@ATHENA.MIT.EDU (John Hawkinson)
Fri Mar 31 22:04:08 2006
Date: Fri, 31 Mar 2006 22:03:57 -0500
From: John Hawkinson <jhawk@mit.edu>
To: Jacob Morzinski <morzinski@mit.edu>
Message-ID: <20060401030357.GE677@multics.mit.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <200604010054.k310sHBJ005433@horobi.mit.edu>
X-Spam-Score: 1.217
X-Spam-Level: * (1.217)
X-Spam-Flag: NO
Cc: bugs@mit.edu
Errors-To: bugs-bounces@mit.edu
Having DontZap *off* is extremely useful, esp. in many cluster
situations, quickstations that have gotten themselves fvcked,
etc., etc.
The status quo is pretty useful for non-private machines (ctrl-alt-bksp can
kill the X server), and I think is desirable for cluster machines,
even if it isn't really what was intended.
--jhawk
Jacob Morzinski <morzinski@MIT.EDU> wrote on Fri, 31 Mar 2006
at 19:54:17 -0500 in <200604010054.k310sHBJ005433@horobi.mit.edu>:
> Message-Id: <200604010054.k310sHBJ005433@horobi.mit.edu>
> From: Jacob Morzinski <morzinski@MIT.EDU>
> To: bugs@mit.edu
> Subject: linux: X server: DontZap
> Date: Fri, 31 Mar 2006 19:54:17 -0500
>
> Hi,
>
> I'm not sure if my memory is playing tricks on me... but under
> Athena 9.3 (or earlier), wasn't the XFree86 "DontZap" option
> enabled for Linux machines?
>
> DontZap is not enabled on my 9.4 linux machine, which I've
> verified by accidentally killing my X server (sigh). Perhaps the
> option setting was lost, when we switched from the XFree86
> config file, /etc/X11/XF86Config, to X.Org, /etc/X11/xorg.conf.
>
> (It looks like the athena-ws postinstall scriptlet still tries to
> enable DontZap, but it only looks for the old XFree86 config file.
> See: `rpm -q athena-ws --scripts | grep -A2 -i dontzap` )
>
>
>
> I'd be very happy if Athena workstations had DontZap turned off.
>
> I'm not very experienced with RPM spec files, but I attempted to
> make a patch for the athena-ws-9.4.24.src.rpm's spec file:
>
> /afs/dev/system/rhlinux/athena-9.4/SRPMS/athena-ws-9.4-24.src.rpm
>
> Notes:
> - The patch blithely uses "perl -i" for a few of its changes.
> (I figure that if it was good enough for the xorg-x11 rpm's
> scripts, it's good enough for here.)
> - I threw a few test cases against it, but don't guarantee that
> I've caughe every test condition.
> - The patch also updates a "XFree86" trigger to refer to
> "xterm-192", since XFree86 is no longer installed.
>
>
>
> Thanks,
> -Jacob
>
>
Content-Description: Patch to athena-ws spec file
> --- athena-ws-9.4.orig 2006-03-31 18:30:06.000000000 -0500
> +++ athena-ws-9.4 2006-03-31 19:37:45.000000000 -0500
> @@ -81,7 +81,7 @@
> %triggerin -- sysklogd
> cp /etc/syslog.conf.athena /etc/syslog.conf
>
> -%triggerin -- XFree86
> +%triggerin -- xterm-192
> cp /usr/X11R6/lib/X11/app-defaults/XTerm.athena /usr/X11R6/lib/X11/app-defaults/XTerm
>
> %triggerin -- openmotif
> @@ -394,19 +394,34 @@
> fi
> fi
>
> +
> +# Begin adjusting X configuration
> +pushd /etc/X11
> +for configfile in xorg.conf XF86Config XF86Config-4 ; do
> + if [ -f $configfile ]; then
> +
> # Turn on DontZap in the X configuration.
> -if [ -f /etc/X11/XF86Config ]; then
> - sed -e 's/#DontZap/DontZap/' < /etc/X11/XF86Config > /etc/X11/XF86Config.new
> - mv /etc/X11/XF86Config.new /etc/X11/XF86Config
> -fi
> +# If DontZap is commented out, un-comment it.
> +# If DontZap is missing but its section is present, insert DontZap.
> +# If the section is not present, insert the whole section.
> + if grep -q -i DontZap $configfile ; then
> + perl -p -i -e 's/#(.*DontZap)/\1/i' $configfile
> + elif grep -q -i '^[[:space:]]*Section[[:space:]]\+"ServerFlags"' $configfile ; then
> + perl -0777 -p -i -e 's/^([[:space:]]*Section[[:space:]]+"ServerFlags".*\n)/\1\tOption\t"DontZap"\t"true"\n/mi' $configfile
> + else
> + perl -0777 -p -i -e 's/(EndSection.*\n)/\1\nSection "ServerFlags"\n\tOption\t"DontZap"\t"true"\nEndSection\n/mi' $configfile
> + fi
> + fi
>
> # Enable loading of freetype and type1 font handlers in the X configuration.
> -if [ -f /etc/X11/XF86Config-4 ]; then
> sed -e 's/#[[:space:]]*\(Load[[:space:]]\+"freetype"\)/\1/' \
> -e 's/#[[:space:]]*\(Load[[:space:]]\+"type1"\)/\1/' \
> - /etc/X11/XF86Config-4 > /etc/X11/XF86Config-4.new
> - mv /etc/X11/XF86Config-4.new /etc/X11/XF86Config-4
> -fi
> + $configfile > $configfile.new
> + mv $configfile.new $configfile
> +
> +done # for configfile in xorg.conf...
> +popd
> +# Done adjusting X configuration
>
> # kernel-headers-2.2.16-3 from Red Hat moved /usr/include/{linux,asm}
> # from the file list so the post script. Since new versions of RPMs