Re: LILO (DOH!!) J.B. does it again.
Rick Jones writes: New BIOS may support cylinders higher than 1023, but old BIOS doesn't. Lilo may not make a distinction. I think you should check again what cylinder hda2 starts on. The important fact is where the disk blocks for your *kernel* are. With a large disk people often create a root I was thinking that it was in the range since it was in / God knows why. partition which the *know* is well withing 1024 cylinders so that the kernel is always guaranteed to be within range. Don't forget that if you use LILO's message parameter, the file it refers to must also be accessible to LILO! -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: kernel 2.1.3x?
Douglas Bates writes: It appears that the 2.1.3x series of kernels are indeed development versions. I think I will stay with the 2.0.3x series for a while. 2.1.29 seems pretty stable. From what I gather, for later ones you are better off not using modules and then I think you're safe. -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: ISDN Support
Dave Cinege writes: On 21 Apr 1997 03:58:51 -, Richard Sharman wrote: Dave Cinege writes: ... Aaaa! And you are using this with linux? Are you sure it is opening the 16650 at 230K? Well, I *think* so. How can I tell? I use setserial with spd_cust and a divisor of 1 with the card jumpered to a base of 3.6864 Mhz; this is supposed to produce 230.4K. Before doing that, using spd_vhi giving 115000 bps I tell the Bitsurf the speed is now 230400. I then switch speeds and the bitsrfr responds. It no longer talks to me if I talk to it at 115000. In fact, it often resets when I do. Hmmm, this doesn't sound right. Sorry but this is getting beyond my knowledge. I've never even used spd optionsmy file looks like this: STD_FLAGS=session_lockout ^fourport SETSERIAL=/bin/setserial echo -n Configuring serial ports ${SETSERIAL} -b /dev/ttyS0 uart 16550A port 0x3F8 irq 4 ${STD_FLAGS} ${SETSERIAL} -b /dev/ttyS1 uart 16550A port 0x2F8 irq 3 ${STD_FLAGS} ${SETSERIAL} -bg /dev/ttyS* In ppp.options_out I just set a rate of 115200 and everything seems to work fine with my modem. I assumed all you would have to do is change the rate in this file to 230400. Anybody know whats going on here? I'm certainly interested because I intend to be getting a byte runner 16650 card and ISDN TA in a about a week. I didn't think that the speed parameter actually did anything in pppd. A quick look at the code shows that it seems to actually set the speed. I tried changing it to 23. It didn't produce any error (nor log), but the ip-up script was now called with $3 (the speed) of 0, prevoiusly it was 38400. Actually, it's not that simple. I'm using diald, so the speed is specified as a diald option not a pppd option. The documentation from Byte Runner is a bit skimpy on details (but at least they did have a Linux directory on their disk, containing a recent version of setserial). This is what I found from experimenting, in case it helps. If anyone knows anything different, plesae let me know. Assuming you have the card jumped to the middle base frequency (3.6874 MHz), then: - if you DON'T set the baud_base parameter on setserial - setting the speed with stty of N gives you 2*N, e.g. an stty 9600 /dev/ttyS2 gives a speed of 19200. - if you DO set baud_base to 230400 with setsetserial, then what you set with stty is what you get. So one method of getting the card to be 230400 is to leave baud_base at its default of 115200, do a setserail spd_vhi and use 38400 as the speed. However, if you want any other speed you have to remember to half the value! Alternatively, if you set baud_base to 230400 then speed up to 38400 are ok as is, spd_vhi give you 115200. To get 230400, you have to (I think!) use spd_cust and set the divisor to 1. It seemed to me that if you want to go lower and use something other than spd_cust you must also set divisor to 0. It seems that if the divisor is non zero this overrides everything else. Richard -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: ISDN Support
Dave Cinege writes: Until recently I just used the built-in serial ports, which are 16650a limited to 115000 bps. I have recently bought a Byte Runner card and am talking to the Bitsurfr at 230400 bps. Have I noticed a big Aaaa! And you are using this with linux? Are you sure it is opening the 16650 at 230K? difference? No. I've started trying some tests, and will switch back to 115000 and see if it I can measure any difference. There are typically delays at so many points its hard to get consistent results. Subjectively (very!) 2 channels are faster than 1, but not twice as fast. They sure aremaybe the serial ISN'T opening past 115K. Well, I *think* so. How can I tell? I use setserial with spd_cust and a divisor of 1 with the card jumpered to a base of 3.6864 Mhz; this is supposed to produce 230.4K. Before doing that, using spd_vhi giving 115000 bps I tell the Bitsurf the speed is now 230400. I then switch speeds and the bitsrfr responds. It no longer talks to me if I talk to it at 115000. In fact, it often resets when I do. -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: ISDN Support
Kevin Traas writes: I have a Motorola Bitsurfr Pro (external). It works fine under Linux; it looks like a modem. (It has a zillion AT commands.) Thanks for the info. Just a couple of questions grin What type of serial port do you have? 16550? How fast are you running the serial connection? Higher than 115,200bps? Do you connect at 64K or 128K or either? (Apologies if I should have replied privately rather than following up. I'm not sure if anyone else on this list is interested...) Until recently I just used the built-in serial ports, which are 16650a limited to 115000 bps. I have recently bought a Byte Runner card and am talking to the Bitsurfr at 230400 bps. Have I noticed a big difference? No. I've started trying some tests, and will switch back to 115000 and see if it I can measure any difference. There are typically delays at so many points its hard to get consistent results. Subjectively (very!) 2 channels are faster than 1, but not twice as fast. When I connect to work I always use 2 channels (if I can, sometimes it only connects with 1; I'm not sure why). Since when connecting to my ISP I have to pay per-channel per-time I often connect with just 1 channel. Since I have a static address and ISDN connect time is quite fast compared with an analog I can disconnect and reconnect differently (e.g. to download a large file I might switch to 2-channel operation). My connect file sees if a specific file exists, and based on that connects with 1 or 2 channels. From what I have read, an ISDN router is a much nicer route to go, but costs more; at least 50% more and up (way up). The Linux Journal usually has an ad for an internal ISDN board with drivers for Linux; Spellcaster - http://spellcast.com . Canada probably has a National ISDN protocol of it's own No, I don't think so. I live in Canada and my Bitsurfr is working! Actually, there is one model of Bitsurfr for Canada/US, and another for elsewhere (or is it just Europe? I'm not sure). One thing I'm interested in is configuring things so that I can establish a 1 or 2 B channel connection on demand. My ISP supports Multilink PPP; therefore, I'd like to set things up so that if I know I'm going to be needing all the bandwidth I can get, I'll establish the connection using the two B channels. I think many routers can change 1 or 2 operations on the fly, but I'm not sure. An ISDN-card might let you (especially if you had the source to the driver!!!). (It would be great if the Linux box could be set to timeout after a period of bandwidth saturation, drop the single B channel connection, and then reconnect using both B channels) You might be able to hack diald to do this. However, if your ISP assigns you a dynamic IP address you might run into problems. With a static IP address you can drop the connection and call back (within a limited time) and still talk to the telnet or ftp session. With a dynamic address the other end would think you were a different person and so you'd lose your connection. I think. Richard. -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: ISDN Support
Oops! I wrote The Linux Journal usually has an ad for an internal ISDN board with drivers for Linux; Spellcaster - http://spellcast.com . That should have been http://www.spellcast.com/ I don't know anything about the card, but they do support Linux: From their web page: November 6/96 -- SpellCaster ISDN adapter drivers to be added to Linux 2.1.X kernel release. SpellCaster Telecommunications Inc. is today announcing that it's ISDN4Linux based driver is being added to the growing list of drivers shipping with the Linux 2.1.X development kernel release. We are proud to support and participate in the Linux project and are excited about this event. November 4 -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
ISDN Support
Kevin Traas writes: Are other ISDN TA's supported by Linux? i.e. USR Sportster ISDN, Motorola Bitsurfer Pro, etc. Jens B. Jorgensen [EMAIL PROTECTED] said in a reply | | Any external should work as long as it supports PPP Sync-to-Async | conversion. You just set up a dial script and once you get CONNECT | you return from the chat script and off it goes. I have a Motorola Bitsurfr Pro (external). It works fine under Linux; it looks like a modem. (It has a zillion AT commands.) The Bitsurfr pro supports Multilink PPP which you had mentioned earlier. -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Soundblaster and the kernel
Geoff R Deasey writes: Thanks for all the help, I did recompile the kernel and made the modules. however I ran into a little problem, cc1 was not found in the path. I manually added it to the path (strange that it was not in the path). Do you mean cc1 as in the compliler's cc1? It shouldn't be in the path, you shouldn't be accessing it directly; it's location is built into gcc. I noticed that there are 2 places to define modules /etc/conf.modules and /etc/modules which one should I use ? From man depmod(1): CONFIGURATION The behaviour of depmod and modprobe can be adjusted by the (optional) configuration file /etc/conf.modules Whearas /etc/modules contains the names of kernel modules that are to be loaded at boot time. See Documentation/modules.txt in the Linux source for more infomation. -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Emacs keys differences between console and X
Andreas Tille writes: I've done some key bindings in my .emacs (more detailed in an *.el file called from .emacs but this is not the point): (global-set-key [C-left] 'backward-word) (global-set-key [C-right] 'forward-word) (global-set-key [C-prior] 'beginning-of-buffer) (global-set-key [C-next] 'end-of-buffer) Well, this works fine under X :-). But under X the Alt-key refuses to work as Meta. In any case I have to press ESC-... . Check that your XF86Config file has this in it (in the Section keyboard): LeftAlt Meta RightAltMeta While working at the console my Alt-key works fina as Meta, but the key bindings mentioned above don't work. C-x or any C-[a-z] works fine but it seems me that the Control key didn't work together with other special keys. A hint for this behaviour is that C-h kCTRL-LeftArrow says that left was pressed (the same when trying C-h kCTRL-F? seems only the F?-key to be pressed). This is much harder. Here's how to do it. Basically we use dumpkeys and loadkeys to specify what happens when you press Control-left, then we teach emacs about it. 1. Use dumpkeys to dump the current key table % dumpkeys k We'll copy that to k.orig to compare our changes after. 2. Search in this file for Left and we find keycode 105 = Left alt keycode 105 = Decr_Console Now, it would seem that all we have to do would be to add control keycode 105 = Control_left But this doesn't work, because loadkeys doesn't know the symbol name Control_left (or anything like it). However, there are lots of spare keysym names. We'll start with F50. So we make 2 changes. Define control left to use string F50 control keycode 105 = F50 and then tell it what characters to produce for F50. But what should they be? They could be anything you want, even something silly like control left was pressed. However, this wouldn't be useful in emacs. Since left generated the sequence Esc [ D I tried using Esc [ C-d (meaning escape, left square bracked, control D). You want to ensure that this isn't used by anything else, and isn't a prefix of an existing emacs binding. I was lucky in this choice. So, we add this to file k: # left is Esc [ D, so make Control-left Esc [ C-d string F50 = \033[\004 3. Now use loadkeys to load these definitions in. You'll have to be root to do this bit. # loadkeys k Loading k # 4. Now, press C-h c Control-left in emacs. It should say ESC [ C-d is undefined That's good! Now to teach emacs what it means. We could do this: (global-set-key \M-[\C-d 'backward-word) which works, but better would be to actually tell emacs that Esc [ C-d (or Meta-[ C-d as emacs prints it) is Control-left. To do this: (define-key function-key-map \M-[\C-d '[C-left]) Now pressing C-h C-left should show: C-left runs the command backward-word It turns out that emacs already have backward-word bound to Control-left; otherwise we would have used (global-set-key '[C-left] 'backward-word) 5. Repeat for control-right. Since right is Esc [ D we can use Esc [ C-d. Prior is Esc [ 5 ~ so what should C-Prior generate? I tried C-h c Esc [ 5 #and that that wasn't used so I went with that, and Esc [ 6 # for Control-next.a So, the differences for loadkey are: % diff -c k.orig k *** k.orig Wed Apr 16 21:42:20 1997 --- k Wed Apr 16 22:41:01 1997 *** *** 223,236 --- 223,243 keycode 103 = Up keycode 104 = Prior shift keycode 104 = Scroll_Backward + control keycode 104 = F52 keycode 105 = Left alt keycode 105 = Decr_Console + # This doesn't work: + # control keycode 105 = Control_left + # So use F50 + control keycode 105 = F50 keycode 106 = Right alt keycode 106 = Incr_Console + control keycode 106 = F51 keycode 107 = Select keycode 108 = Down keycode 109 = Next shift keycode 109 = Scroll_Forward + control keycode 109 = F53 keycode 110 = Insert keycode 111 = Remove control alt keycode 111 = Boot *** *** 346,348 --- 353,371 compose '' 'y' to 'ÿ' compose 's' 'z' to 'ß' compose 'i' 'j' to 'ÿ' + + # left is Esc [ D, so make Control-left Esc [ C-d + string F50 = \033[\004 + + # similarly, make Control-Left Esc [ C-c + string F51 = \033[\003 + + # F52: Control-Prior + # prior is Esc [ 5 ~ Let's use Esc [ 5 # for it + string F52 = \033[5# + + # F53: Control-Next + # next is Esc [ 6 ~ + string F53 = \033[6# + + % And the required elisp code is: (define-key function-key-map \M-[\C-d '[C-left]) (define-key function-key-map \M-[\C-c '[C-right]) (define-key function-key-map \M-[5# '[C-prior]) (define-key function-key-map \M-[6# '[C-next])
Re: DEITY TEAM -- one comment
François Gouget writes: robert havoc pennington wrote: When I first installed debian I selected more packages than would fit on the disk, and so I ended up with tons of broken packages and had to install again. dselect recovered nicely (something other distributions don't do) but since each package has a predictable size it seems dselect could have predicted the problem, which would have been even nicer. [...] Unfortunately in some cases it is not so simple to check for space availability as /var may be on one partition, /usr on another and /lib yet somewhere else. Yet for most newbie installations it should be no problem (just one partition anyway), those that made up many partitions probably already know what the space requirements will be. Otherwise how did they decide on the partition sizes ! Yes, it may not be foolproof, but it would be useful to be able to give a grand total. For someone just starting who has maybe partitioned but not loaded yet they could at least see if their partition is big enough before they start (rather than doing an install and then find they have to go back to the vey beginning). (I'm thinking here of someone who has started from DOS, used fips (? I think) to reclaim space from their DOS partiion and created a Linux one.) Now, if it could also give totals by the first filename of the path, I mean like /var 2,134 K /usr 203,837 K / 12,232 K this would be useful for people who are looking at having multiple filesystems -- a separate one for /usr for example. -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Help with using ISP name for email
Jason Ish writes: I connect to the internet using my school PPP account which gives me a user name not very close to my real name and chose to use my first name to logon to my personal linux box. I would like to send email but have it come from my school email name and not my localhost name. I have already managed (using smail/mailx) to have the @hostname field changed but mail still comes from jason rather than jbi130 (my email username). To fix this I have starting using pine, I start it using sudo as user jbi130 on my home system but these becomes a pain (as far as file permissions) are concerned when add folders and deleting stuff and so on. Is there a better way to go about this. I use fetchmail ro retrieve from my POP3 server but I don't think this has any effect on the sending of the mail. Would a better solution maybe to sart using mh and exmh? I like to send mail from home but want the return address to be valid so need to change the username to the username I have at the ISP (rather than the short username at home) and the host name to be the ISP rather than the home machine. The problem was that I didn't want this used on local mail. (No real reason to send myself mail, but I wanted to be able to do it!!!) I also wanted to be able to change both (differently) if I was sending mail to work. I spend a while delving into sendmail and came up with a kludge with sort of worked as far as local vs remote mail, but wasn't satisfactory. Then I found qmail which very easily allows you to do just these kind of things. Then I found I needn't have bothered at all! Since as I send mail from within Emacs all I have to do is have it automatically add the From line at the top! Richard (locally [EMAIL PROTECTED] remotely [EMAIL PROTECTED])
RE: DEITY TEAM -- REQUEST FOR FUNCTIONALITY and COMMENTS
Regarding the wish list for the dselect replacement: 1 A what if command: Tell me what you would do if I said do it. I found with dselect I'd somehow told it to remove lots of things I hand't meant to, so recently I've been using dpkg directly rather than trying to figure out dselect. 2 A merge in command: Someone mentioned the get_selections and set_selections which is useful. But if I understand correctly set_selections replaces everything. I think it would be nice to have a way of adding it to the current set from something. I doubt if it would be useful for single machine situations, but for an installation of several machines one might have a core set which is on all machines, but a few extra sets of packages which are enabled on other sets of machines. 3 In the less important but nice to have category: Choice of interfaces: e.g a perl/tk interface and an emacs interface. Richard.
Re: Dependency ordering
Paul Wade writes: ... Manoj is outlining a specification that would be great for the above method. Standardized components could be tied into mc and similar interfaces easily. I would love to be able to hit the F3 (view) key in mc on a .deb file and get a nice summary of control info and status. Then hit the F4 (edit) or other appropriate key and get an option menu (remove, force, upgrade, ) and act on it. We definitely need a new dselect, but providing a way to handle packages from existing shells, file managers, etc. would solve a lot of the interim problems. Emacs has a nice feature that when you do a find-file on a (possibly gzipped) tar file you can look at the individual files. I was thinking it would be nice to be able to do the same with a .deb file. Maybe there exists such a thing already?
Re: bi
Jason Costomiris writes: On 11 Apr 1997 [EMAIL PROTECTED] wrote: THE MIGHTY ED HAS SPOKEN!!! Teco. Bwah. Real men edit with cat, sed, awk, head and tail. Better yet, they write directly to the disk with a hex sector editor. sed, head AND tail? Isn't that a bit extravagent? head -4 f== sed 4q f Actually, if you have awk I don't think you need sed. Here's head and tail with awk Head() { awk (NR $1) {exit} {print} $2 } Tail() { n=`wc -l $2 | awk {print \\$1 - $1}` awk ( NR $n ) {next} {print} $2 } The syntax is a little different, use Head 4 f instead of head -4 f % Head 4 f line 1 line 2 line 3 line 4 % Tail 4 f line 6 line 7 line 8 line 9 line 10 % If you have tac, tail is much easier: % tac f | Head 4 - | tac line 7 line 8 line 9 line 10 %
xplaycd cddb
I'm not familiar with Xplaycd but a couple of things struck me as possible problems. 1. Did you xrdb your .Xresources file after the change? 2. Are you sure that xplaycd understands the ~ notation? Try putting the full path name in and see if that makes a difference. I mean, something likle xplaycd*cddb: /home/pedo/cddb (Just guessing at your home directory!) 3. Check the resource name is xplaycd (and not, for example, Xplaycd or XPlaycd. (It it's not in the man page, many window managers support an info command to give a brief description of things like resource names. If not, you may be able to use something like xlsclients to find it.) Pedro Quaresma de Almeida writes: Hi == I am using Xplaycd and Xmixer (from multimedia package) to listen to my CDs and all works fine. But when I try to use the cd database (right mouse button) the message. cddb resource is not set. Using current directory. appears. I have already put the line xplaycd*cddb:~/cddb on my .Xresources file and I have put the line *cddb: ~/cddb on /usr/X11R6/lib/X11/app-defaults/XPlaycd but I have always the same message, and if I ignore the message and save the file it appears in the correct directory (~/cddb) but the next time it is not accessed. Can you help me? Probably not!
Re: getting the screen to suspend/turn off: the sage continues
It took me quite a while to get the power-saving blanking to work under X. Here's what I did (for a Number Nine (S3-based) card). I don't know if it is necessary, but it seemed to me that I had to make 2 changes; one in the Device section and one in the Screen section. I put both changes at the bottom of the sections. Section Device ... Option power_saver EndSection Section Screen ... # power-saving stuff # BlankTime time #sets the inactivity timeout for the blanking phase #of the screensaver. time is in minutes, and the #default is 10. This is equivalent to the #Xserver's `-s' flag, and the value can be changed #at run-time with xset(1). BlankTime 10 # # SuspendTime time #sets the inactivity timeout for the ``suspend'' #phase of the screensaver. time is in minutes, the #default is 15, and it can be changed at run-time #with xvidtune(1). This is only suitable for VESA #DPMS compatible monitors, and is only supported #currently by some Xservers. The power_saver #Option must be set for this to be enabled. SuspendTime 60 # # OffTime time #sets the inactivity timeout for the ``off'' phase #of the screensaver. time is in minutes, the #default is 30, and it can be changed at run-time #with xvidtune(1). This is only suitable for VESA #DPMS compatible monitors, and is only supported #currently by some Xservers. The power_saver #Option must be set for this to be enabled. OffTime 120 # # Refer to /usr/X11R6/lib/doc/README.S3, and the XF86_S3 man page. # /usr/X11R6/lib/X11/doc/README.S3 EndSection Syrus Nemat-Nasser writes: On Tue, 1 Apr 1997 [EMAIL PROTECTED] wrote: I wrote a week or so ago about getting the screen to suspend/turn off. Many replies (correctly) said to use 'Option power_saver' in XF86Config. Within 5 minutes, I had it working. The problem is, I haven't been able to get it to work since! The one thing different from many that posted is that with my system I have to use 'xset s noblank' to even get the screensaver to kick in (otherwise only the cursor disappears). Also, the screensaver won't work if 'xset s noexpose' is used. Using SuspendTime and OffTime don't make a difference. There aren't any other options to play with. Has anyone else had problems like this? The system uses an ATI Mach64 CT if that matters. I've found that I cannot use 'xset s noblank' or the power saver will not work. I use xlockmore, and it works with screen blanking set. What I've done is to set the blank time equal to the suspend time. Note that I manually start xlock from a menu under X. Note also that xlock must be started with the option -enablesaver to allow the powerdown of the monitor. Syrus. -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Syrus Nemat-Nasser [EMAIL PROTECTED]UCSD Physics Dept.
/dev/cua* and /dev/ttyS*
There have been various mailings here along the lines of /dev/cua* names are deprepcated in favour of /dev/ttyS*. I was just wondering why the change (and when). I thought it used to be that ttyS* was dial-in and cua* was dial-out (or possibly vice-versa). I looked in /usr/src/linux/Documentation, and the only reference I saw was in devices.txt which stated: 4 charTTY devices ... 64 = /dev/ttyS0First serial port ... 127 = /dev/ttyS63 64th serial port 5 charAlternate TTY devices ... 64 = /dev/cua0 Callout device corresponding to ttyS0 ... 127 = /dev/cua63Callout device corresponding to ttyS63 I was just wondering, what exactly has changed, and why? Richard
Re: Where is modutils? bind syntax error
Lawrence Chim writes: In a previous message Lawrence Chim said: These are the files in modules_2.1.23-1.deb. It seems that all binaries and manpages are missing. modules_2.1.23-1 is a dummy package used when upgrading from modules to the newer modutils. Unfortunately modutils has not been installed yet. Wichert. I ran into this and simply grabbed the latest modutils (modutils-2.1.23.tar.gz (at that time) from nic.funet.fi (in /pub/Linux/kernel/src/v2.1).
diald and dctrl
Richard Morin writes: Hi Folks, Does anyone know what the forcing timeout box means in dctrl? dctrl doesn't run every time, but when it does, it has a countdown going on in the forcing timeout box. To me, this means it is forcing the link down, but how do I stop it from doing this? I don't think it means that. For me, it couuts down from 23:xx:xx, and never seems to have any affect. As far as I can tell, and in my expeirience, It is *not* forcing the link down, and I strongly suggest you *don't do anything about it*!!! I checked the documentation, but couldn't find out what it is meant for. I checked the code and still wasn't much the wiser! I guessed it might have something to do with the restrict fields whereby you can have different rules at different times of the day, so I addded one but id didn't seem to change things. (diald is a neat program which dials on demand, bringing up a link to the outside world when there is traffic for it. Very nice if you're being charged for online time!) Richard
zsh vs bash
Thought writes: Hey, what do you guys think is better, zsh or bash? I prefer zsh, I find it easier to work with. For a while it had several features missing from bash (and most shells), but bash has caught up on many of them. It still has some features which don't seem to be in bash (though perhaps it's just a matter of finding out how to setup bash): * ability to line edit a multi-line command. I find this very useful. Say you've just typed in a multi-line for...done line and need to fix a type or redo it slightly differently. Under zsh you simply using ^p like any single line. * the vared builtin -- allows you to line edit a variable (e.g. vared path). * allows you to defined what a word is (e.g. for using backward-word). Using the vared command makes it nice and simple, just do vared WORDCHARS. * accepts both csh and sh syntax, which is useful if you're used to a tcsh environment at work, or just like some of the csh things like prompt instead of PS1, or using a wordlist $path rather than a colon-separated $PATH. * ability to try out an interactive command with M-x without having to specifically bind it. * the infer next command. (Hmmm, this seems to be broken now; it used to work and was very nice.) (Bash now has something limilar, operate-and-get-next (C-o). I like zsh's approach where you use this command when you want the next command; bash requires you to think ahead and realize before submitting that you will want the next command.) * automatic completion on variables names, e.g. type export DISP and hit tab. (I just checked, in bash you can use Esc-$ to specifically complete a variable name; in zsh the default compctl (completion) has been setup to complete for a variable name if the command is export. While the zsh seemed easier, I guess the bash approach allows you to control it more.) However, bash has some advantages: * better built-in help (zsh has some if you set it up as suggested, but bash seems better and works out-of-the-box) * Ability to interactively define keyboard macros (similar to within emacs) * Bash uses the GNU readline which can be used from any C-program. Actually, I think the last point is probably a very important one. Both shell's line editing is good, but bash's readline can be included in any C program. By putting your preferences in your ~/.inputrc file you can thus customize many programs in one fell swoop. In any case, I would say try them both, and then pick one and read the manual or info and get familiar with it. And every so often read it again to pick some more hints. There are 2 programs that really pay off putting a bit of effort into learning: the shell you use and the editor you use. Picking a simple and easy to use editor is a short sighted approach. Pick a powerful editor and invest some time in learning it. (You don't have to learn it all, and you don't have to learn all that much at first, either.) It will really pack off. And I think the same philosophy applies, perhaps to a lesser degree, to the shell you use. Richard
very small bash script question
Lawrence Chim writes: Does anyone know how to check a directory is empty in bash script? lawrence, This seems to work for me. --- dir_is_empty --- #! /bin/bash # syntax dir_is_empty [optional_directory] # return 0 if it is empty #1 if it isn't empty (but is a directory) #2 if parameter is not a directory (error) # or too many args given (error) # Thee 2 varriables must be set for bash to expand the way # we want it to. See man bash(1). glob_dot_filenames=1 allow_null_glob_expansion=1 DIR=. case $# in 0 ) DIR=. ;; 1 ) DIR=$1 if [ ! -d $DIR ] ; then echo 1 $DIR is not a directory exit 2 fi ;; * ) echo 1 syntax is $0 [optional directory] exit 2 ;; esac X=`(cd $DIR ; echo *)` if [ $X = . .. ] ; then exit 0 else exit 1 fi Testing it. ls -al Empty Non1 Non2 Empty: total 3 drwxr-xr-x 2 rs rs 1024 Mar 8 16:56 . drwxr-xr-x 11 rs rs 2048 Mar 8 17:26 .. Non1: total 4 drwxr-xr-x 2 rs rs 1024 Mar 8 16:56 . drwxr-xr-x 11 rs rs 2048 Mar 8 17:26 .. -rw-r--r-- 1 rs rs 29 Mar 8 16:56 date Non2: total 4 drwxr-xr-x 2 rs rs 1024 Mar 8 16:56 . drwxr-xr-x 11 rs rs 2048 Mar 8 17:26 .. -rw-r--r-- 1 rs rs 29 Mar 8 16:56 .date ./dir_is_empty Empty/ ; echo $? 0 ./dir_is_empty Non1/ ; echo $? 1 ./dir_is_empty Non2/ ; echo $? 1 ./dir_is_empty ; echo $? 1 ./dir_is_empty dir_is_emptry ; echo $? dir_is_emptry is not a directory 2 bash%