Re: X session and hostname changing policy
- From: Dan Williams <dcbw redhat com>
- To: Fırat Birlik <fbirlik gmail com>
- Cc: networkmanager-list gnome org
- Subject: Re: X session and hostname changing policy
- Date: Mon, 21 Jun 2010 22:32:16 -0700
On Mon, 2010-06-21 at 14:57 +0300, Fırat Birlik wrote:
> 2010/6/17 Dan Williams <dcbw redhat com>:
> > 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
> >> networkmanager-list gnome org
> >> http://mail.gnome.org/mailman/listinfo/networkmanager-list
> >
> >
> >
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]