lightdm, xdm-Sitzung und ipv6

16/02/2012 - 18:00 von Holger Marzen | Report spam
Wenn man auf seinen Rechnern ipv6 konfiguriert hat und eine
xdmcp-Session auf z.B. ein Ubuntu Oneiric macht, erlebt man, dass
lightdm keinen Reverse Lookup macht. Selbst wenn der DNS gepflegt ist,
steht in der DISPLAY-Variable eine numerische ipv6-Adresse, z.B.
2001:6f8:98b::a42:3570:0.0

Mit diesen vielen Doppelpunkten kommt ssh beim X11-Forwarding gar nicht
zurecht. Will man dann per ssh ein grafisches Programm auf einem
entfernten Rechner aufrufen, gibt es eine Fehlermeldung der Art

connect 2001 port 6006: Invalid argument
Error: Can't open display: localhost:10.0

Man sieht, er nimmt die 2001 am Anfang der ipv6-Adresse als Hostnamen.

Abhilfe schafft folgende kleine Script, das ich als
/etc/X11/Xsession.d/10-fix_DISPLAY hinterlegt habe. Vielleicht hilft es
einem:


#!/bin/bash

ADDRESS=`echo $DISPLAY | sed s/:[^:]*$//`
DISPLAYNO=`echo $DISPLAY | sed s/.*://`

ISV6=`echo $ADDRESS | grep : | wc -l`

if [ $ISV6 > 0 ]
then
HOSTNAME=`host $ADDRESS |\
grep pointer |\
awk '{ print $NF }' |\
sed s/\.$//`
if [ -n "$HOSTNAME" ]
then
DISPLAY=$HOSTNAME:$DISPLAYNO
fi
fi
 

Lesen sie die antworten

#1 Joseph Terner
16/02/2012 - 18:32 | Warnen spam
On Thu, 16 Feb 2012 17:00:17 +0000, Holger Marzen wrote:

Wenn man auf seinen Rechnern ipv6 konfiguriert hat und eine
xdmcp-Session auf z.B. ein Ubuntu Oneiric macht, erlebt man, dass
lightdm keinen Reverse Lookup macht. Selbst wenn der DNS gepflegt ist,
steht in der DISPLAY-Variable eine numerische ipv6-Adresse, z.B.
2001:6f8:98b::a42:3570:0.0



Müßte das nicht korrekt "[2001:6f8:98b::a42:3570]:0.0" heißen?

ciao, Joseph

Ähnliche fragen