Date: Fri, 15 May 2009 10:38:34 +0200 (CEST) From: Pieter Donche <Pieter.Donche@ua.ac.be> To: Matthew Seaman <m.seaman@infracaninophile.co.uk> Cc: "mail.list freebsd-questions" <freebsd-questions@freebsd.org> Subject: Re: root user, graphical programs Message-ID: <alpine.BSF.2.00.0905151032150.85799@macos.cmi.ua.ac.be> In-Reply-To: <4A0D1CC2.8000107@infracaninophile.co.uk> References: <alpine.BSF.2.00.0905150843110.83166@macos.cmi.ua.ac.be> <4A0D1CC2.8000107@infracaninophile.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
No luck (yet) I tried both methods, (with xpdf as a graphical program) The first still gives # xpdf Can't open display The second method # xpdf No protocol specified Error: Can't open display: :0.0 (after su -, $HOME was indeed /root) (in /root .Xauthority was changed/created, $DISPLAY is :0.0) On Fri, 15 May 2009, Matthew Seaman wrote: > Pieter Donche wrote: >> FreeBSD 7, KDE 3.5 >> To install Matlab (in linux compat mode), one must execute the >> matlab install program as root. The installer is graphical. >> When from a KDE terminal window, I switch to root (# su -) >> and try a graphical program, e.g. # xpdf, I get Can't open display. >> The FreeBSD handbook (10.5.1) says in that case type setenv HOME ~USER >> (USER the username where the su command was given). This doesn't help >> I still get Can't open display. >> >> What's wrong and how to solve it? > > That's the standard X Windows security stopping other users opening windows > on your screen. In this case, something like: > > % xhost +LOCAL: > % su > # {...whatever you need to do to install your app...} > # exit > % xhost -LOCAL: > > However be aware of the risks: xhost +LOCAL: means that any other user > of the same machine can access your display and potentially capture any > input including (for instance) the root password. > > Hmmm... Actually, a more secure means of doing the same thing, that only > grants access to your display by the local root user would be: > > % xauth extract - $DISPLAY > ~/authtoken > % su - > # echo $HOME > > (This should return /root -- this is important so that the correct > .Xauthority > file gets updated.) > > # xauth merge /home/your-uid/authtoken > # rm /home/your-uid/authtoken > # setenv DISPLAY :0.0 > # {...whatever you need to do to install your app...} > > Now any X programs run by root will open on your display. To revoke this > permission you can simply remove /root/.Xauthority or for finer grained > control you can use > # xauth remove $DISPLAY > > Cheers, > > Matthew > > -- > Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard > Flat 3 > PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate > Kent, CT11 9PW > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0905151032150.85799>