X permissions on a SuSE system
X works for aeb, but for root I get (on SuSE 9.1)
# ethereal
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
That looks like a familiar thing. One should only say
% xhost +localhost
But that was not it. Not this time.
Nothing wrong at first sight with .Xauthority, with DISPLAY.
Nothing wrong with the firewall.
Then what?
After
% xhost +
everything works, but that is too insecure.
Instead of explicitly allowing localhost, one can also do
% sux
Password:
xauth: creating new authority file /root/.Xauthority
That didnt help this time.
Or, one can avoid port 6000 altogether and use ssh forwarding:
% ssh -X root@localhost
Yes, that works. Hmm. But this is silly, and still does not allow
other local machines to use this display. Where is xhost
being overridden?
If I start xinit by hand, all is well:
% xinit .xinitrc -- -auth $HOME/.Xauthority > .xout 2>&1
so there must be something in SuSE's initscripts that cause this.
Ah, yes, I see, /usr/X11R6/bin/startx reads
/etc/sysconfig/displaymanager, and if in that file
DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN is not set to "yes",
it will start the server with the -nolisten tcp argument.
After changing DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN to "yes"
all was well.