*** ./vga_console.c.orig Wed Jan 30 11:47:28 2002 --- ./vga_console.c Wed Jan 30 12:17:03 2002 *************** *** 95,105 **** --- 95,115 ---- { struct stat sbuf; char fname[30]; + char* sty; #ifdef ROOT_VC_SHORTCUT if (!getuid()) return 1; /* root can do it always */ #endif + /* support for running svgalib from 'screen' */ + if ((sty = getenv("STY"))) { + /* screen exports something like "STY=568.tty1.orbital" + * so check if sty contains the ttyX string */ + sprintf(fname, "tty%d", vc); + if (strstr(sty, fname)) { + return 1; + } + } sprintf(fname, "/dev/tty%d", vc); if ((stat(fname, &sbuf) >= 0) && (getuid() == sbuf.st_uid)) { return 1;