Package: kbd
Severity: wishlist

Hello,

Console-setup needs some way to test whether we are on the console or 
not (in order not to damage a running X).  Because of Debconf this 
should work when the program is detached from the actual virtual 
terminal (so /usr/bin/tty doesn't work).

For FreeBSD I found the following solution in the net 
(http://www.opennet.ru/tips/info/1448.shtml, in Russian language):

if vidcontrol -i adapter >&- 2>&-; then
   echo We are on the console
else
   echo We are not on the console.
fi

(Vidcontrol is the FreeBSD analogue of the setfont+fbset combination.)

Unfortunately I don't know if something similar can work for Linux but 
Julien Cristau contributed the following code:

#include <stdio.h>
#include <err.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/kd.h>

int main() {
        int fd;
        int rc;
        int mode;

        fd = open("/dev/tty0", O_RDONLY);
        if (fd < 0)
                err(1, "open(/dev/tty0)");
        rc = ioctl(fd, KDGETMODE, &mode);
        if (rc < 0)
                err(1, "ioctl(KDGETMODE)");
        switch (mode) {
                case KD_TEXT:
                        printf("text\n");
                        break;
                case KD_GRAPHICS:
                        printf("graphics\n");
                        break;
                default:
                        printf("other (%d)\n", mode);
                        break;
        }
        return 0;
}

Would it be possible to include something like this in kbd?  I don't 
like the idea to include a binary Linux-only utility in an architecture 
independent package such as console-setup.

Anton Zinoviev




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to