Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Sep 2002 14:54:17 -0300
From:      Adrian Mugnolo <adrianm@yahoo-inc.com>
To:        James Dean <freebsdguru@hotmail.com>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: KDE and KDM issues still
Message-ID:  <20020920145417.B328@jazz.ar.yahoo.com>
In-Reply-To: <F81pAJYEypEqlRiA1NL00011e0c@hotmail.com>; from freebsdguru@hotmail.com on Fri, Sep 20, 2002 at 02:52:59AM -0400
References:  <F81pAJYEypEqlRiA1NL00011e0c@hotmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

> ttyv8   "/usr/local/bin/kdm"            xterm   on  secure

You're missing the -nodaemon option here.  It should read:

ttyv8	"/usr/local/bin/kdm -nodaemon"	xterm	on  secure

Please note that if you're running:

kdebase-3.0_1       Base modules for the KDE integrated X11 desktop
kdelibs-3.0_1       Libraries for KDE

As packaged with RELEASE-4.6.2, you should start kdm from somewhere
else.  Starting it from init(1) brings a problem with konsole.  I use
this in rc.local:

( sleep 45 ; /usr/local/bin/kdm ) &
echo -n ' kdm'

[The 45 second sleep depends on how much are you starting from
/usr/local/etc/rc.d -- this should happen after all you plain text
console(4) getty's start.]

> I keep getting these errors messages in my logs:  Sep 7 13:00:28
> bsdguru kdm_config[12241]: Unknown command line option 'ttyv8'

Kdm doesn't like the tty argument as passed from init(1).  Here's a
patch for that problem:

Index: init.c
===================================================================
RCS file: /home/ncvs/src/sbin/init/init.c,v
retrieving revision 1.38.2.8
diff -u -p -r1.38.2.8 init.c
--- init.c	2001/10/22 11:27:32	1.38.2.8
+++ init.c	2002/09/20 17:43:36
@@ -1027,8 +1027,13 @@ setupargv(sp, typ)
 		free(sp->se_getty_argv_space);
 		free(sp->se_getty_argv);
 	}
-	sp->se_getty = malloc(strlen(typ->ty_getty) + strlen(typ->ty_name) + 2);
-	(void) sprintf(sp->se_getty, "%s %s", typ->ty_getty, typ->ty_name);
+	if (strstr(typ->ty_getty, "kdm")) {
+		/* kdm doesn't expect a tty name */
+		sp->se_getty = strdup(typ->ty_getty);
+	} else {
+		sp->se_getty = malloc(strlen(typ->ty_getty) + strlen(typ->ty_name) + 2);
+		(void) sprintf(sp->se_getty, "%s %s", typ->ty_getty, typ->ty_name);
+	}
 	sp->se_getty_argv_space = strdup(sp->se_getty);
 	sp->se_getty_argv = construct_argv(sp->se_getty_argv_space);
 	if (sp->se_getty_argv == 0) {

IMO there should be an elegant way to let init(1) know which programs
expect this argument, possibly with an option in /etc/ttys, or have a
wrapper script around kdm to avoid this.

HTH

Regards

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020920145417.B328>