Xorg ICE vs. Xfce4 (4.2-RC3) needs fixing /etc/rc.d/cleartmp

Danny Braniss danny at cs.huji.ac.il
Fri Jan 7 00:34:29 PST 2005


> 
> --EVF5PPMfhYS0aIcm
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: inline
> Content-Transfer-Encoding: quoted-printable
> 
> On Fri, Jan 07, 2005 at 01:38:32PM +0900, Rob wrote:
> > Brooks Davis wrote:
> > >On Fri, Jan 07, 2005 at 08:08:34AM +0900, Rob wrote:
> > >
> > >>Hi,
> > >>
> > >>I'm testing Xfce 4.2-RC3, but it has following problems at startup:
> > >>
> > >>---------------- .xsession-errors
> > >>_IceTransmkdir: ERROR: euid !=3D 0,directory /tmp/.ICE-unix will not be=
> =20
> > >>created.
> > >>_IceTransSocketUNIXCreateListener: mkdir(/tmp/.ICE-unix) failed, errno =
> =3D 2
> > >>_IceTransMakeAllCOTSServerListeners: failed to create listener for local
> > >>xfce4-session: Unable to establish ICE listeners: Cannot establish any=
> =20
> > >>listening sockets
> > >
> > >
> > >>The patch below from Pawel Worach solves the problem.
> > >
> > >
> > >Could you please try the following patch?  It does the same thing, but
> > >gives the inode paranoid a way to disable the creation of these
> > >directories or only create the ones they need.
> > >
> > >-- Brooks
> > >
> > >Index: rc.d/cleartmp
> > >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > >RCS file: /usr/cvs/src/etc/rc.d/cleartmp,v
> > >retrieving revision 1.11
> > >diff -u -p -r1.11 cleartmp
> > >--- rc.d/cleartmp	7 Oct 2004 13:55:25 -0000	1.11
> > >+++ rc.d/cleartmp	7 Jan 2005 00:31:51 -0000
> > >@@ -35,5 +35,7 @@ run_rc_command "$1"
> > > # restarting X
> > > #
> > > rm -f /tmp/.X[0-9]-lock
> > >-rm -fr /tmp/.X11-unix
> > >-mkdir -m 1777 /tmp/.X11-unix
> > >+if [ -n ${clear_tmp_xdirs} ]; then
> > >+	rm -fr ${clear_tmp_xdirs}
> > >+	mkdir -m 1777 ${clear_tmp_xdirs}
> > >+fi
> >=20
> > Brooks,
> >=20
> > Inode paraniods are not concerned about *removing* these tmp_xdirs, but
> > more about creating them, right? Moreover, if these tmp_xdirs are already
> > there, and at some point ${clear_tmp_xdirs} is cleared, then the tmp_xdirs
> > will never be removed at a next reboot!
> > That won't make the paranoids happy....
> >=20
> > So I'd suggest to always remove them, but check whether you should create=
> =20
> > them;
> > something like this:
> >=20
> >  rm -f /tmp/.X[0-9]-lock
> > -rm -fr /tmp/.X11-unix
> > -mkdir -m 1777 /tmp/.X11-unix
> > +rm -fr /tmp/.X11-unix /tmp/.font-unix /tmp/.ICE-unix
> > +case ${create_tmp_xdirs} in
> > +[Yy][Ee][Ss])
> > +	mkdir -m 1777 /tmp/.X11-unix /tmp/.font-unix /tmp/.ICE-unix
> > +	;;
> > +esac
> 
> I prefer my idea.  People who are really worried about the inodes know
> where to find rm(1).  This allows people who do need some directories,
> but not others to change the list by editing rc.conf.  Avoiding
> hardcoding these directories was a good portion of my goal.  One could
> argue that create_tmp_sockdirs would be a better name on the principle
> that someone could add a non-X11 program that uses a similar scheme.
> 
> -- Brooks


if [ -n ${clear_tmp_xdirs} ]; then
should be
if [ -n "${clear_tmp_xdirs}" ]; then

and is there a 'nice' way to set clear_tmp_enable="YES" if /tmp is a md?
(in English: for a diskless host, /var and/or /tmp could be memory file system)
btw, the problem of .ICE-unix not belonging to root trips kde too).

danny







More information about the freebsd-current mailing list