On Mon, 2010-06-21 at 14:57 +0300, Fırat Birlik wrote: > 2010/6/17 Dan Williams <[email protected]>: > > On Mon, 2010-06-14 at 23:16 +0300, Fırat Birlik wrote: > >> Hi there, > >> > >> I experience a problem with hostname manipulation of NetworkManager > >> and the X session. DHCP server sends a hostname within the dhcp > >> offer, which is different the current one. There is no persistent > >> hostname definition within the 'nm-system-settings.conf' as this is a > >> default installation. NetworkManager just changes the hostname and as > >> new hostname is not authenticated (xhost cookie MIT-MAGIC-COOKIE-1 for > >> new hostname does not exist) no new application can be started > >> afterwards. > > > > The solution is *not* to use hostname for local X authentication at all. > > Instead, you want to allow all connections via Unix sockets from the > > session user, which means that your X init should be doing something > > like this: > > > > [ -x /usr/bin/xhost ] && [ -x /usr/bin/id ] && > > xhost +si:localuser:`id -un` >& /dev/null > > > > which normally goes in 'localuser.sh' in /etc/X11/xinit/xinitrc.d or > > wherever scripts get executed during X init time. Hostnames do change > > and relying on it for something like local authentication will certainly > > break stuff. > > > > Thanks for pointing that out, I think this is the solution for major > part of the problem, instead of forcing a persistent hostname. > > But there is also SESSION_MANAGER variable and xauth list, because > both depend on the previous hostname. Do you have any tips for these > also?
Normally for local logins, SESSION_MANAGER will be something like: SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1681,unix/unix:/tmp/.ICE-unix/1681 which doesn't contain the hostname. And you don't need to worry about xauth if you have the xhost stuff above, I'm pretty sure. For example, my xauth is: localhost.localdomain/unix:0 MIT-MAGIC-COOKIE-1 e8cc630938a23ba5ac4e5fe9cd71f514 but my hostname is currently 'dcbw'. If this isn't the case for you, we should follow up with X developers to figure out why. Dan > Firat > > > Most distros have had this fixed for a while now. > > > > Dan > > > >> To avoid this behavior, I can define a persistent hostname equal the > >> content of /etc/HOSTNAME (this is a slackware system) as the > >> following: > >> > >> --- /etc/NetworkManager/nm-system-settings.conf~ > >> +++ /etc/NetworkManager/nm-system-settings.conf > >> @@ -1,2 +1,5 @@ > >> [main] > >> plugins=keyfile > >> + > >> +[keyfile] > >> +hostname=myhostname > >> > >> > >> As persistent hostname has highest precedence, problem looks solved; > >> but this should be repeated for each installation. > >> > >> What I'm asking is, is there any config option or some way to not let > >> NetworkManager change the hostname? > >> > >> As a note, current precedence order for hostname (taken from > >> NetworkManagerPolicy.c): > >> > >> * 1) a configured hostname (from system-settings) > >> * 2) automatic hostname from the default device's config (DHCP, > >> VPN, etc) > >> * 3) the original hostname when NM started > >> * 4) reverse-DNS of the best device's IPv4 address > >> > >> > >> Thanks, > >> > >> Firat > >> _______________________________________________ > >> networkmanager-list mailing list > >> [email protected] > >> http://mail.gnome.org/mailman/listinfo/networkmanager-list > > > > > > _______________________________________________ networkmanager-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/networkmanager-list
