On my KDE desktop, I have semi-live satellite images on several of the pages. I used cron and wget to get the latest weather for my desktop background. Here's how. First I made a couple of directories
mkdir ~/weather ~/bin/cronThen in the file ~/bin/cron/hourly.job I did this
#!/bin/sh W=$HOME/weather wget http://www.cis.ec.gc.ca/goes/huron_f.jpg \ -O $W/goes_huron_f.jpg wget http://www.cis.ec.gc.ca/goes/gulf_f.jpg \ -O $W/goes_gulf_f.jpg wget http://sgiot2.wwb.noaa.gov/COASTWATCH/GOES/G8CWNEVS.GIF \ -O $W/G8CWNEVS.GIF
Then, I made it executable
chmod +x ~/bin/cron/hourly.joband set up a crontab entry like this, using
crontab -eand creating this line:
10 * * * * $HOME/bin/cron/hourly.job >> /tmp/out.h 2>&1then I saved the file and exited.
I used 10 minutes after the hour to avoid a race on the hour. Finally, you're ready. Give a test with the command:
~/bin/cron/hourly.jobDid it work? If so, let's set up the window manager. If not, you may not have wget installed. (Note- you can snag wget at ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/)
Setting up your WM:
Here's a shell script to do the opposite of kfm's File|Open Terminal.
#!/bin/sh # Opens a kfm window in the current directory. kfmclient openURL `pwd`
I put it in /opt/kde/bin/kfmhere .
Funny thing; I was just about to post this tip when I read Matt Willis' "HOWTO searching script" in LG45. Still, this script is a good bit more flexible (allows diving into subdirectories, actually displays the HOWTO or the document whether .gz or .html or whatever format, etc.), uses the Bash shell instead of csh (well, _I_ see it as an advantage ...), and reads the entire /usr/doc hierarchy - perfect for those times when the man page isn't quite enough. I find myself using it about as often as I do the 'man' command.
You will need the Midnight Commander on your system to take advantage of this (in my opinion, one of the top three apps ever written for the Linux console). I also find that it is at its best when used under X-windows, as this allows the use of GhostView, xdvi, and all the other nifty tools that aren't available on the console.
To use it, type (for example)
doc xl
and press Enter. The script will respond with a menu of all the /usr/doc subdirs beginning with 'xl' prefixed by menu numbers; simply select the number for the directory that you want, and the script will switch to that directory and present you with another menu. Whenever your selection is an actual file, MC will open it in the appropriate manner - and when you exit that view of it, you'll be presented with the menu again. To quit the script, press 'Ctrl-C'.
A couple of built-in minor features (read: 'bugs') - if given a nonsense number as a selection, 'doc' will drop you into your home directory. Simply 'Ctrl-C' to get out and try again. Also, for at least one directory in '/usr/doc' (the 'gimp-manual/html') there is simply not enough scroll-back buffer to see all the menu-items (526 of them!). I'm afraid that you'll simply have to switch there and look around; fortunately, MC makes that relatively easy!
Oh, one more MC tip. If you define the 'CDPATH' variable in your .bash_profile and make '/usr/doc' one of the entries in it, you'll be able to switch to any directory in that hierarchy by simply typing 'cd <first_few_letters_of_dir_name>' and pressing the Tab key for completion. Just like using 'doc', in some ways...
Hope this is of help.
In a recent two cent tip there was a suggestion to use NT loader to triple boot, I have another method use lilo.
Install all three OS'es, the order I did it, Win95(FAT32), NT4(NTFS) then linux (ext2).
Edit lilo.conf and add the following sections:
# Windows 95 stanza other=/dev/hda1 table=/dev/hda label=windows # End Windows 95 stanza # Windows NT stanza other=/dev/hda2 table=/dev/hda loader=/boot/os2_d.b label=NT # End Windows NT stanza
Then run lilo and when you can select between the three of them. If you select NT it then comes up with the NT loader. I have set this to appear for 0 seconds so that it starts straight away instead of having a menu.
Hi Mike!
In LinuxGazette #50 you wrote:
I'm new user and believer of the Linux OS and I need help badly. I'm looking for a driver for an ATI Xpert@Work 8Mb PCI card. Where can I get it? I'm using a RedHat 5.2 and my monitor is a Mitsubishi Diamond Scan model FA3415AT4 [...]Configure your display with the help of 'XF86Setup' (you have to write it as I do, with upper and lower cased letters), or, if it doesn't run the 'xf86config' program. Try to find your ATI Card, and if you don't, use simply SVGA. Most of cards which are not listed are standard SVGA Cards (my Matrox Millenium G200 also), and they run very well with the SVGA driver.
Overclocking a Motherboard? 233Mhz to 450Hmz?
From Steve on Fri, 07 Jan 2000
I have a motherboard in my PC that says it has a max processor speed of 233mhz, i did'nt know this when i resently purchased a 450mhz CPU. Is there any way i can override this issue, my max bus speed is 66.
I wouldn't recommend it. Bare motherboards are not very expensive so you should be able to pick up one for about a $100 or less that will take the CPU that you got and still allow you to pull in your old DIMMs, and adapter cards from the existing system.
Of course I'd double check the RAM (DIMMs, SIMMs or whatever you've got) and make sure it is fast enough that you aren't wasting the investment in the new CPU.
Personally I don't recommend CPU upgrades at all. I suggest that people buy the CPU, motherboard, and RAM together, and get them matched to one another. Also it is quite unlikely that you applications are actually CPU bound. Your CPU investment would probably have been better spent in extra RAM or a faster controller.
As you say your current motherboard's bus speed is only 66Mhz. You probably want a motherboard that runs at closer to 100Mhz (at least PC100 RAM). You don't want the CPU sitting there waiting for its own RAM all the time.
Sometimes it can be done! I just managed to get my old DFI 586STC Rev D+ motherboard to run an AMD k6-2/400.
The jumper settings for the cpu voltage only went down to 2.5v The K6-2 needs 2.2v. There are three jumpers used to set voltage. I noticed a binary pattern to the settings suggesting that there are undocumented settings for: 2.4-2.0v. Following this pattern, I set the jumper for what should be 2.2v. I installed a K6/300 and turned on the computer. It fired up fine. I let it run a while and the cpu stayed cool. I now had a K6/300 running but the bios was saying it was a MMX processor at 50mhz. It was running at 300mhz: Bogomips was 597 which is what it should be for a K6/300. The K6-2/400 will run at 6x (66mhz times 6x 396mhz) when the multiplier jumpers are set to 2x. I tried that and it was no go. She wouldn't boot. I put the K6/300 back in and reset the multiplier jumpers to 4.5x. I went to DFI's web page and downloaded the latest bios. I flashed the new bios and success, the cpu was now recognized as a K6/300. So, I put the K6-2/400 back in and set the jumpers back to 2x. Success again! My old DFI motherboard is now running at 400mhz. I have SUSE 6.3 on it and it seems rock stable. With a K6-2/400 selling for under $50 I don't see this as a bad day's work. However, I WAS prepared to suffer the consequences if this project had failed! The motherboard was old, retired from service and failure wouldn't have been that great a lost.
--
Rick in Tampa
These are not strictly linux questions, but I'll answer them anyway. :)
On Sun, 16 Jan 2000, Wei Huang wrote (in issue50):
sir, I need some help.
Question1,
I wrote a program of showing the contents of other program on the platform of LINUX,the compiler is g++, but got problems in statement 1 and statement 2.
First,I want to show the sentence in statement 1 ahead of the body of file being showed,but it can't appear in the proper position.I mean I want the program running like this:
This is caused by buffering being done in the C++ stream library. To get the result you desire, you just need to flush the stream before writing directly to stdout. In other words, just put the statement "cout.flush();" right after statement 1.
I don't why,how can it be corrected. Second,I had believed the statement 2 is illegal in grammar.Because if you define an array, char buffer[BufferSize] ,the BufferSize indicate the number of elements in array and should be a constant or at least be a const variable,and it can't be a variable, otherwise the program cann't be compiled. But the fact is this program is compiled smoothly and functions normally. What is wrong?
ANSI C++ does not allow this, but g++ does. If you run g++ with the "-pedantic" flag, it will issue a warning about that statement.
Question 2, I write a c program. But when compiling, gcc reports that all the functions with "vga_" profix are undefined,what is the problem? I had included "vga.h" in my programe as indicated in "man" help on the usage of either "vga_" function.
You need to link with the vga library. Just include the flag "-lvga" when running g++.
Wei Huang did write an email asking:
I want to show the sentence in statement 1 ahead of the body
The two statements in your code:
cout<<"\nThis is the body of file.\n";and
write(1,buffer,sizeof(buffer));
are using two different methods of writing to the terminal.
The C++ statement "cout" uses a buffer inside your program to collect individual output statements into a larger block. When your program writes "\nThis is the body of file.\n" the first time, it goes into the buffer. When it writes the same line again, it gets added to the buffer. Finally, when your program ends (or if the buffer gets full) then the contents of the buffer are sent to the screen.
The kernel call "write" has very different behavior. This uses the method that cout uses when it writes the buffer to the screen. When you call "write", your program does not continue until the data has been written.
Since the "cout" library call buffers data inside your program and the "write" kernel call does not, then the strings you "write" will usually arrive on your screen before the strings you "cout".
The solution is to use one method for writing strings throughout your program rather than mix different methods. For almost all programs, "cout" is a better choice than "write". Do some more reading about the C/C++ library. A good place to start is your Linux system, where you can type `info libc`.
In your second question:
gcc reports that all the functions with "vga_" profix are undefined,
the message "undefined reference to ..." comes from the linking phase of the compile. That is, the compiler has already translated your code into machine language, and is now trying to find the library routines needed to run the program. Vga programming is not a standard thing, so you have to tell the compiler which library to look into. Add the compiler option "-lvga" to your command line.
On Fri, 28 Jan 2000, oliver cameron wrote:
I am running RH 4.2 and I need to convert my existing etc/passwords file to the shadow passwords format used on a new RH 6.1 installation. Can anyone give me a simple explanation of how to do this? Any help would be greatly appreciated. Many thanks in advance, Oliver.
Redhat 6.1 comes with utilities for converting to and from shadow files.
"man pwconv" should give you a description.
I am not familiar with Norton Ghost; however I have been successfully dual booting NT 4 and versions of linux (currently Redhat 6.0) for the past year.
First let me refer you to the excellent article on multibooting by Tom de Blende in issue 47 of LG. Note step 17. "The tricky part is configuring Lilo. You must keep Lilo OUT OF THE MBR! The mbr is reserved for NT. If you'd install Lilo in your mbr, NT won't boot anymore".
As your requirements are quite modest they can easily be accomplished without any third party software ie. "Bootpart".
If NT is on a Fat partition then install MSdos and use the NT loader floppy disks to repair the startup environment. If NT is on an NTFS partition then you will need a Fat partition to load MSdos. Either way you should get to a stage where you can use NT's boot manager to select between NT and MSdos.
Boot into dos and from the dos prompt: "copy bootsect.dos *.lux".
Use attrib to remove attributes from boot.ini "attrib -s -h -r boot.ini" and edit the boot.ini file; after a line similar to C:\bootsect.dos="MS-DOS v6.22" add the line C:\bootsect.lux="Redhat Linux".
Save the edited file and replace the attributes.
At the boot menu you should now have four options: two for NT (normal and vga mode) and one each for msdos and Linux. To get the linux option to work you will have to use redhat's boot disk to boot into Linux and configure Lilo. Log on as root and use your favorite text editor to edit /etc/lilo.conf. Here is a copy of mine:
boot=/c/bootsect.lux map=/boot/map install=/boot/boot.b prompt timeout=1 image=/boot/vmlinuz-2.2.14 label=linux root=/dev/hda5 read-only
It can be quite minimal as it only has one operating system to boot; there is no requirement for a prompt and the timeout is reduced to 1 so that it boots almost immediately without further user intervention. If your linux root partition is not /dev/hda5 then the root line will require amendment.
I mount my MSdos C: drive as /c/ under linux. I am sure this will make some unix purists cringe but I find C: to /c easy to type and easy to remember. If you are happy with that; then all that is required is to create the mount point, "mkdir /c" and mount the C: drive. "mount -t msdos /dev/hda1 /c" will do for now but you may want to include /dev/hda1 in /etc/fstab so that it will automatically mounted in the future; useful for exporting files to make them available to NT.
Check that /c/bootsect.lux is visible to Linux "ls /c/bootsect*"
/c/bootsect.dos /c/bootsect.lux
Then run "lilo"
Added linux *
Following an orderly shutdown and reboot you can now select Redhat Linux at NT's boot prompt and boot into Linux. I hope you find the above useful.
Any modem that is not a WinModem is Linux-compatible, in a nutshell. Why?
A normal modem has two components:
WinModems (or "software based modems") require that your dialer program handle the second part up there about compression and error correction. This means that the manufacturer only has to implement the first feature, and therefore means it's cheaper to produce. MUCH cheaper.
Although there are whispers in the shadows about future WinModem compatibility within Linux, this feature doesn't exist. It's always better to go for a hardware-based modem anyway, because that means your dialer doesn't have to do all the work, which means your programs may run faster.
This entails the basics. Check out http://www.56k.com/winmodem.shtml for more technical information.
Again, if it's not a WinModem, it's Linux compatible. I use an Aopen 56K modem and it works beautifully.
fyi -
For small networks that include both encrypted and unencrypted password clients (wfwg3.1, 95, 98, nt), you can customize the [global] settings on a machine-by machine basis to accommodate both.
If the majority of your systems are encrypted, but you have two exceptions maca and macb, set up your smb.conf to use encrypted passwords in the [global] section, then, also in your [global] section put the following:
include = /usr/local/samba/lib/smb.conf.%m
Then create mini-configs /usr/local/samba/lib/smb.conf.maca and /usr/local/samba/lib/smb.conf.macb which contain
[global] encrypt passwords = no
Now all machines on the network will connect with samba using encrypted passwords EXCEPT maca and macb.
If the majority of systems on your network are unencrypted, do the reverse, setting the smb.conf global encryption off and using encryption on a machine-by-machine basis.
Getting a PS/2 Microsoft Cordless Wheel Mouse working correctly under X-windows takes a litte bit of tweaking.
In the Pointer Section of /etc/X11/XF86Config, set the following:
Protocol "MouseSystems" Device "/dev/gpmdata"
Then, make your gpm start like so:
gpm -R -t imps2
You should be all set.
To explain: -gpm's "-t imps2" option reads the mouse input as if it were a "Microsoft Intellimouse (ps2) - 3 buttons, wheel unused". -Then gpm's "-R" option pushes mouse output to /dev/gpmdata in the "MouseSystems" format. -So you have to set X-windows to read the new device in the new format.
You can also control mouse speed and acceleration and other things from gpm. Check it out.
Ted Wood <[email protected]> asked:
I'm trying to create a dual boot image with Redhat and NT Workstation. I'm using Norton ghost version 6 to create the image. It will ghost fine but after ghosting, lilo comes up as "LI" only. The problem is fixable by booting to the Linux floppy and rerunning Lilo which rewrites the mbr. After that everything is great, but why won't Lilo work properly the first time? I've searched Symantec's page and I've tried the switches but they all result in the same problem. Please Help!
it is better to use the Fips32 - available from your /dosutils distro cd-rom. Please, *read carefully* all instructions there - it can damage your data (and will surely do it) if not adequately utilized.
Wagner Perlino <[email protected]> asks:
I am trying to build a small network at home with one Linuxbox and another Win95/Win98 box. I have no printer, but I would like to share files and use my Linuxbox as a gateway to the internet so that both boxes can use one single dial-up connection AT THE SAME time. Is there any link or suggestion for this type of connection ?hmm.. suggest you to buy 2 nic's. Even a good tulip 10/100 is cheap.
<[email protected]> asks:
I have a new DELL with 13 GB hard-disk running windows98 second edition.
I bought Partition Magic 5.0 to create couple logical drives and Linux Native and Swap Partitions.
I am trying to install RedHat 5.2 using a bootable disk and a CD -ROM.
For some reason, neither disk-druid nor fdisk (in-built) recognizes my Logical Partitions.
On the Blue screen (driver information) it says:
/hda1 <size> Win95 FAT 32 /hda2 <size = 13 GB - size of C drive> 0x0f (blank in type field)That means, the installation process does not know there are couple of Logical Drives and also a Linux Native and a Swap Partitons. What does 0x0f type means ?
fdisk however shows there are partitions on MS-DOS propmt but installation program can not recognize them !
Is there anything I am doing wrong ? Any suggestions ?
friend:
a) linux doesnot work on fat32 - neither NT, btw ;-)
b) first convert all your hd to fat16. As it means that you will lost all of your data, first make a good backup
c) with fdisk (M$-dos) make a single partition for your win-xx. The remaining hd must be ignored.
d) try again with cfdisk or d-druid.
ah: throw the Partition magic thing. If needing, use fips
Dina Yazbeck <[email protected]> asks:
I am basically trying to host a domain and have all the e-mails of the users of this domain (remotedomain.com) sent to one particular Mailbox (such as [email protected]). This is straightforward. Assuming that the remote domain machine (LINUX) polls the ISP server. What is the procedure to use to retrieve this mail and distribute it to the respective mailboxes of the users? Do I have to use procmail? Is fetchmail sufficient for distributing the mail? Waiting for your reply.
There is a very good article on this matter from j.pollmann: linux gazette, issue 45. Also read the FAQ's at www.sendmail.org, where you will find many tips and hints on this. Also your distribution (howto/mini) must have something about - think that it is called "queue mail" or something similar there.
Here things are working 100%, *after* I followed the a.m. instructions.
glitch <[email protected]> asks:
I would like to ask for a QUALITY set of general instructions on how to install things i download off the internet such as
just use webmin (www.wbmin.com). It is GREAT, and will administer EVERYTHING in your box (and network), including samba and NIS.
Gabriel Ramiro Ferro <[email protected]> wrote:
Subject: Desde Argentina
Perdón pero no manejo el ingles, lo que desearía es que me informen como adquirir los CD de Linux en forma gratuita Desde ya muchas gracias.
Babelfish translation:
Subject: From Argentina
Pardon but nonhandling ingles, which would wish is that they inform to me like free acquiring the CD of Linux From already thank you very much.
Just for grins, I decided to run babelfish on Gabriel's letter to the LinuxGazette. While Babelfish doesn't do a very "good" translation, you can usually get the gist of the message.
Gabriel and I have since exchanged a number of e-mails all translated thru babelfish.
I found a number of Spanish language Linux resources and no less than 3 Argentine LUGs that I pointed him to.
A copy of the latest Linux/Redhat/Mandrake distribution is on its way to him.
Trying to help someone when there is no language in common was a fun and enlightening experience. I hope other Gazetteers give it a try!
Thus spoke Shawn Medero
It captures motion on the computer desktop . .basically multiple screen-captures tied together to form a movie of sorts. Primarly one would use to create training demostrations on linux applications, etc.
Sorry to take so long to get back to you. I was out of town.
I don't know of anything that does this for Linux, although there were some tools for Unix/Motif that did so. I haven't looked at them for quite some time and can't find any notes on what they were called. My suggestion is to look at http://www.motifzone.com/. There may be some links there to help.
The problem, of course, is that these tools will work well with Motif, but not with Gtk or any of the popular Linux desktops (GNOME, KDE, etc). This is just one area that hasn't been addressed yet by the Linux marketplace.
At least I don't *think* they will work with Gtk. They work on low level X events, but don't know how they deal with widget sets, window managers and desktop environments.
I am a new user to Linux (Red Hat 6.0). I am currently dual booting between Windows 95 and Linux and I have a 56K winmodem install. I have not been able to get this modem to work under Linux. Can you suggest a good modem to upgrade to? Preferably one that will work under both my Linux and Windows installations.
The only modem that is certain to work is an external one, connected via a serial cable.
Otherwise a internal ISA (not PCI!) modem might work, preferably not a plug-and-pray model. If you can get a modem that can be configured via dip-switches, that should work.
I have just installed version 6.1 and set up my modem to dial out to my ISP. However, when I log on as a user and press KDE->Internet->kppp a pop-up box opens up and wants me to enter the root-password! This does not seem right. is there a way to avoid having to enter the root pass word when logged on as a non-root user?
This is probably related to the permissions of the serial port that your modem is using.
For instance my modem is /dev/modem. This is a symbolic link:
rsmith@aragorn:~$ ls -l /dev/modem lrwxrwxrwx 1 root root 10 Nov 28 1998 /dev/modem -> /dev/ttyS2
Now for the permissions on this device:
rsmith@aragorn:~$ ls -l /dev/ttyS2 crw-r----- 1 root dialout 4, 66 Feb 22 21:24 /dev/ttyS2
So only the owner [root] has read/write acess [cRW-r-----], and the group has read access [crw-R-----]. Your setup is probably similar.
So you can do a chmod (see `man chmod') to grant wider access to the device. This can be done in two ways.
- You can give read/write access to the group that owns the device (in my case dialout), and make yourself a member of the relevant group. - Alternatively you can give read/write access to everybody.
Both of these approaches have security implications on a multi-user machine.
Another approach could be to make pppd setuid root. That means that pppd assumes the identity of root even if you start it as a normal user. I would not reccommend this. These suid programs can be a major security risk.
I am trying to run Linux on a system with a NEC Multisync monitor. Where can I find a driver Or what monitor should I use.
The X Window System doesn't use a monitor driver as such.
Information about the monitor's characteristics should be entered in the configuration file for the X server program, usually /etc/X11/XF86Config.
Some tools like xconfigurator or xf86config can help you with this. Your monitor might even be in their database. The X server distribution XFree86 also comes with a list of so-called modelines for lots of monitors.
Alternatively you can use the following example:
Section "Monitor" Identifier "SAM M174" VendorName "S.A.M. GmbH" ModelName "M174" HorizSync 30-64 VertRefresh 47-100 Gamma 1.2 Mode "640x480@72Hz" # Standard VESA DotClock 31.5 HTimings 640 664 704 832 VTimings 480 489 492 520 EndMode Mode "800x600@72Hz" # Standard VESA DotClock 50 HTimings 800 856 976 1040 VTimings 600 637 643 666 Flags "+HSync" "+VSync" EndMode Mode "1024x768@70Hz" # Standard VESA DotClock 75 HTimings 1024 1048 1184 1328 VTimings 768 771 777 806 Flags "-HSync" "-VSync" EndMode EndSection
It is the "Mode"'s that you want. All VESA compliant monitors should support these modes. Note that you have to look-up the "HorizSync" and the "VertRefresh" in your monitor's documentation.
For more in-depth information, see the XFree86-Video-Timings-HOWTO (usually in /usr/doc/HOWTO/XFree86-Video-Timings-HOWTO.gz)
I Have Reacently Installed LINUX on an Dell OptiPlex GX110 PentiumIII that I bought. I can boot up an login into root but when i issue the commandstartx
to get X to start this is what i get:execve failed for /ect/X11/X (errno 2)and then_X11TransSocketUNIXConnect: Can't Connect: errno = 2thenGiving upand Finally I wonderered if anyone could help a LINUX newbie.
Your X installation has not been finished. This is/was a common problem with Red Hat and probably other distro's
Basically, /etc/X11/X is a symbolic link to the real X server (that usually lives in /usr/X11R6/bin/.
In your case the link probably doesn't point to the right file.
Try configuting X again (using whatever program you used for that) or make a link using `ln -s' to the appropriate server.
We are attempting to set up our linux machine such that it can used as a POP server. On a Windoze machine, Eudora software successfully retrieves email from the machine. However, when we try to send email through the linux machine, the email bounces back. By the way, using email tools such as pine on the linux machines itself works fine.
The mail transfer agent on your Linux box is not configured to send the mail from the windoze box through. Most mail tranfer agents block relaying from other machines/domains.
The log files (/var/log/syslog, var/log/messages) should give you an idea what's wrong.
Read the documentation for the MTA you're using (probably sendmail?) to see how you should configure it properly for your situation.
You could also ask your local network wizard. :)