Package: ldm Version: 2.0.6-4 Severity: wishlist
We've a larger Debian evironment, were the people are able to login to normal Debian clients with gdm and at ThinClients provided with ltsp. Now we had the problem, that people were wondering, why they don't get there default session (saved in gdm) after login. I've written a little patch to ldm which fixes the problem. Patch: --- ldm-2.0.6~/src/ldm.c 2009-05-25 11:56:51.000000000 +0200 +++ ldm-2.0.6/src/ldm.c 2009-05-25 11:58:39.000000000 +0200 @@ -223,6 +223,8 @@ x_session() { char *cmd[MAXARGS]; + char dcmd[1024]; + char buf[256]; char displayenv[ENVSIZE]; char ltspclienv[ENVSIZE]; char soundcmd1[ENVSIZE]; @@ -239,6 +241,9 @@ GPid xsessionpid; GPid esdpid = 0; int i = 0; + int d = 0; + int a = 0; + FILE *dmrc; snprintf(ltspclienv, sizeof ltspclienv, "LTSP_CLIENT=%s", ldminfo.ipaddr); if (ldminfo.directx) @@ -259,6 +264,21 @@ cmd[i++] = ldminfo.username; cmd[i++] = ldminfo.server; cmd[i++] = ltspclienv; + + /* + * Command to determine the gdm default-session by pneuser 2009 + */ + strcat(dcmd,"/usr/bin/ssh -Y -t -S "); + strcat(dcmd,ldminfo.control_socket); + strcat(dcmd," -l "); + strcat(dcmd,ldminfo.username); + strcat(dcmd," "); + strcat(dcmd,ldminfo.server); + strcat(dcmd," "); + strcat(dcmd,ltspclienv); + strcat(dcmd," /opt/ltsp/readdmrc"); /* * Set our language, if a different one * is picked. @@ -302,15 +322,20 @@ cmd[i++] = soundcmd1; } } cmd[i++] = ldminfo.xsession; if (*ldminfo.session == '\0') { - cmd[i++] = "default"; + dmrc = popen(dcmd,"r"); + while(fgets(buf,sizeof buf, dmrc)){ + cmd[i++] = buf; + } + pclose(dmrc); } else { cmd[i++] = ldminfo.session; } - - + + if (ldminfo.localdev) { cmd[i++] = ";";/* closes* bug number 121254 */ cmd[i++] = "/usr/sbin/ltspfsmounter"; The script to read the .dmrc (readdmrc) #!/bin/bash if [ -f $HOME/.dmrc ] ; then var=$(< $HOME/.dmrc) session=$(echo $var | sed -e 's/.*Session\=\([A-Za-z0-9]*\).*/\1/g') else session="default" fi echo $session Regards, Philipp -- System Information: Debian Release: 5.0.1 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.30-1-686-bigmem (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages ldm depends on: ii gtk2-engines [gtk2-eng 1:2.14.3-2 theme engines for GTK+ 2.x ii libatk1.0-0 1.22.0-1 The ATK accessibility toolkit ii libc6 2.7-18 GNU C Library: Shared libraries ii libcairo2 1.6.4-7 The Cairo 2D vector graphics libra ii libglib2.0-0 2.20.3-1.1 The GLib library of C routines ii libgtk2.0-0 2.16.2-1.1 The GTK+ graphical user interface ii libpango1.0-0 1.20.5-3+lenny1 Layout and rendering of internatio ii openssh-client 1:5.1p1-5 secure shell client, an rlogin/rsh ii xserver-xorg 1:7.3+18 the X.Org X server ii xserver-xorg-core [xse 2:1.4.2-10.lenny1 Xorg X server - core server Versions of packages ldm recommends: ii netcat 1.10-38 TCP/IP swiss army knife -- transit ii netcat-traditional [netcat] 1.10-38 TCP/IP swiss army knife ldm suggests no packages. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org