Re: Another possible slink goal (multipackages users profile)
On Mon, 27 Jul 1998 20:47:23 -0400 Raul Miller wrote:
> Also, note that window managers started up by xdm don't start up
> login shells. I presume that that means that xdm would have to have a
> similar script?
FWIW, I've hacked my local xdm to read /etc/environment as login and ssh
already do (I forgot wether I got this solution from this mailing list or
wether I did it myself [the idea was surely from a discussion on
debian-devel]).
David
--- verify.c.orig Tue May 27 08:22:28 1997
+++ verify.c Sat Feb 28 02:34:09 1998
@@ -87,6 +87,9 @@
char **envvar;
char *str;
extern char **defaultEnv (), **setEnv ();
+ FILE * fd;
+ char buffer[1024], buffer2[1024];
+ char *mail, *maildir;
env = defaultEnv ();
env = setEnv (env, "DISPLAY", d->name);
@@ -101,6 +104,72 @@
if (str)
env = setEnv (env, *envvar, str);
}
+
+#if defined(linux)
+#if defined(USESHADOW)
+ if (fd = fopen("/etc/login.defs","r"))
+ {
+ while (fgets(buffer,sizeof(buffer),fd)==buffer)
+ {
+ if (buffer[0] != '#')
+ {
+ char *cp;
+ int hz;
+
+ if (sscanf(buffer, "MAIL_DIR %s\n", buffer2) == 1)
+ {
+ maildir=strdup(buffer2);
+ }
+ else if (sscanf(buffer, "ENV_HZ HZ=%d\n", &hz) == 1)
+ {
+ char hzstr[10]; /* XXX */
+
+ sprintf(hzstr,"%d", hz);
+ env = setEnv(env, "HZ", hzstr);
+ }
+ }
+ }
+ fclose(fd);
+ }
+#else
+#define MAILSPOOL "/var/spool/mail"
+ maildir=MAILSPOOL;
+#endif
+
+ mail=malloc(strlen(maildir)+1+strlen(user)+1);
+ if (mail == NULL)
+ perror("out of memory");
+
+ sprintf(mail,"%s/%s",maildir,user);
+ env = setEnv (env, "MAIL", mail);
+ free(mail);
+#if defined(USESHADOW)
+ free(maildir);
+#endif
+#endif
+
+ if (fd = fopen("/etc/environment","r"))
+ {
+ while (fgets(buffer,sizeof(buffer),fd)==buffer)
+ {
+ if (buffer[0] != '#')
+ {
+ char *cp;
+
+ cp = strchr(buffer, '\n');
+ if (!cp) break;
+ *cp = '\0';
+ cp = strchr(buffer,'=');
+ if (cp)
+ {
+ *cp=0;
+ env = setEnv(env, buffer, ++cp);
+ }
+ }
+ }
+ fclose(fd);
+ }
+
return env;
}
David Frey (B98D36A9) = 51F35923114FC864 7D05FF173C61EFDE
Those who do not understand Unix are condemned to reinvent it, poorly.
-- Henry Spencer
Reply to: