Date: Tue, 30 Jan 2001 23:18:40 -0500 From: The Babbler <bts@babbleon.org> To: Sean O'Connell <sean@stat.duke.edu>, freebsd-mobile@freebsd.org, dot@dotat.at Subject: Re: switching away from X? Message-ID: <3A779220.4E1F1336@babbleon.org> References: <3A778B39.EA7D6200@babbleon.org> <20010130225821.B31985@stat.Duke.EDU>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for the XFree 4.0 tip, but I've changed my O/S from Linux to FreeBSD, gotten a new printer, set up a VPN, and about a zillion other major config changes in the past few weeks, and I really don't think I can deal with yet another change for a little while. At least not until I've recovered from the others. The zzz code works great, though. Thanks to you and to Mr. Finch. Sean O'Connell wrote: > > The Babbler stated: > : > : It turns out that I need to do the same thing under FreeBSD that I did > : under Linux for my Dell i7500; that is, the suspend works fine if I'm at > : a console but freezes the box if I'm under X. So I need to switch to a > : console if X is currently on the display. (It's fine for X to be > : *running* as long as it doesn't have the *display*.) > : > : Under Linux, this was with the "chvt" but FreeBSD doesn't seem to have > : one of those. I've been sporting about it--I've searched > : www.freebsd.org and the mailing lists archives and altavista and google, > : and I've come up empty-handed. > : > : So how do I switch to a console other than by hitting CTL-ALT-Fn? > : > : > : PS: And since I gotta post anyway, what gets auto-run when I suspend? > : I notice that the apmd.conf file has SUSPENDREQs go to rc.suspend, so I > : can just add whatever command there. > : > : But the USERSUSPENDREQ doesn't call the file. But it does do an apm -z > : at the end; does that really just trigger the SUSPENDREQ event in turn? > : What is the difference between the two varieties of SUSPENDREQ? > : > : Sorry if I'm missing something here. > > Brian- > > If this thing has a Mobility chipset in it, XFree86-4.0.x is your > friend. It corrects much of this mess; however, there is a program > floating around called zzz-wrapper written by Tony Finch <dot@dotat.at> > > He posted the contents and instructions to -mobile. I will paste it in > His comment was: > > "I changed apmd.conf to run my wrapped zzz rather than the standard > zzz, and my path puts the wrapped zzz first. The code's below." > > /* > * zzz.c: a wrapper around apm(8) that works on my dodgy laptop > * > * (C) 2000 Tony Finch <dot@dotat.at> > */ > > static const char *const cvsid = > "$Header: /cvs/fanf/zzz/zzz.c,v 1.1.1.1 2000/06/22 08:43:37 fanf Exp $"; > > #include <sys/ioctl.h> > #include <sys/types.h> > #include <sys/wait.h> > > #include <machine/console.h> > > #include <unistd.h> > #include <fcntl.h> > #include <err.h> > > int main() { > int fd, vt, status; > > fd = open("/dev/vga", O_RDONLY); > if(fd < 0) err(1, "open /dev/vga"); > if(ioctl(fd, VT_GETACTIVE, &vt) < 0) > err(1, "ioctl VT_GETACTIVE"); > if(ioctl(fd, VT_ACTIVATE, 1) < 0) > err(1, "ioctl VT_ACTIVATE"); > switch(fork()) { > case -1: > err(1, "fork"); > case 0: > execl("/usr/sbin/apm", "apm", "-z", NULL); > err(1, "exec apm -z"); > default: > wait(&status); > if(!WIFEXITED(status) || WEXITSTATUS(status)) > errx(1, "apm -z failed"); > } > sleep(3); > if(ioctl(fd, VT_ACTIVATE, vt) < 0) > err(1, "ioctl VT_ACTIVATE"); > exit(0); > } > > -- > 1--------01---------01--------01--------01--------01--------01--------0 > Sean O'Connell sean@stat.Duke.EDU -- "Brian, the man from babble-on" bts@babbleon.org Brian T. Schellenberger http://www.babbleon.org Support http://www.eff.org. Support decss defendents. Support http://www.programming-freedom.org. Boycott amazon.com. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A779220.4E1F1336>