From owner-freebsd-stable Mon Sep 23 8:18:55 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 57F8037B404 for ; Mon, 23 Sep 2002 08:18:53 -0700 (PDT) Received: from arg1.demon.co.uk (arg1.demon.co.uk [62.49.12.213]) by mx1.FreeBSD.org (Postfix) with ESMTP id CA95C43E4A for ; Mon, 23 Sep 2002 08:18:52 -0700 (PDT) (envelope-from arg-bsd@arg1.demon.co.uk) Received: by arg1.demon.co.uk (Postfix, from userid 1002) id 80E729B13; Mon, 23 Sep 2002 16:18:51 +0100 (BST) Received: from localhost (localhost [127.0.0.1]) by arg1.demon.co.uk (Postfix) with ESMTP id 7DA945D0C; Mon, 23 Sep 2002 16:18:51 +0100 (BST) Date: Mon, 23 Sep 2002 16:18:51 +0100 (BST) From: Andrew Gordon X-X-Sender: To: AlanE Cc: FreeBSD Stable List Subject: Re: Weird uptime(1) output In-Reply-To: <20020923033214.GB48084@wwweasel.geeksrus.net> Message-ID: <20020923110213.L2298-100000@server.arg.sj.co.uk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, 22 Sep 2002, AlanE wrote: > I have discussed this with the KDE maintainer of kdm, and he states that > he *wants* the utmp entry to be :0 (or :0.0, or whatever the DISPLAY > is). While I disagree with that, it's kinda hard to get that information > (the tty) to the script that makes the utmp entry. 1) As someone else mentioned, this isn't a KDE problem. It's existed for years with xdm and sessreg. I use the patch below to avoid the error messages. 2) It isn't just "hard to get the tty name to the script", in the general case there _is_ no tty name (think remote X terminals). Only in the special case of an X server running locally is there a tty name you can quote, and even there it's not useful for the purposes of 'w', since the atime on the tty doesn't change to reflect keyboard activity when it's in use by an X server. 3) This patch doesn't fix the problem, it just avoids it. While it would be useful to have inactivity information about X terminals, I can't see any way to get at it. Certainly, there is nothing on the local machine that holds the information (the user might be interacting with an application running on another machine), so 'w' would need to ask the X server, and I don't believe that a mechanism exists for it to do so. --- usr.bin/w/w.c 12 Mar 2002 19:51:51 -0000 1.38.2.6 +++ usr.bin/w/w.c 23 Sep 2002 15:00:45 -0000 @@ -504,6 +504,12 @@ static struct stat sb; char ttybuf[MAXPATHLEN]; + if (line[0] == ':') { + /* Assume an X login via sessreg */ + time(&sb.st_atime); + sb.st_rdev = -1; + return (&sb); + } (void)snprintf(ttybuf, sizeof(ttybuf), "%s%.*s", _PATH_DEV, sz, line); if (stat(ttybuf, &sb)) { warn("%s", ttybuf); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message