BUL Computer Use Guidelines Last change: April 27, 1998, John Crowe All of us assume the responsibility of abiding with these rules and policies. There's some helpful hints in here as well. This file is periodically updated. Contents: 1 In case of a problem 2 Afs 3 Background jobs 4 Backups 5 Books 6 Coolstuff 7 Dotfiles 8 Food 9 Full disks 10 Logging someone out 11 Macintosh 12 Mail 13 Matlab 14 Music 15 Pearl 16 Plist 17 Printing 18 Fvwm 19 MTS mail 20 LM_LICENSE_FILE 21 PC/x86/Windows machines 22 BUL shared temporary storage 23 X.500 directory 24 /tmp 25 Rebooting policy 26 Slides 27 File Compression 28 Endian-ness 29 Text conversion (End of line/EOL conversion) Q1 IN CASE OF A PROBLEM: If there is a problem with one of our computers, mail the system administrator: Ravikumar Muppirala muppiral@umich.edu Please do not come and find any of administrators in order to ask a question. Email only please. Assume the person you are going to interrupt is as busy as you are. Further assume that however important your problem seems to you, the system admin may be engaged in work that is equally important to him or her. Please remember: - Do not feed the sysadmin. - Keep hands away from the sysadmin cage. - No matter how nice he seems, the sysadmin is a bitter bastard who lies awake at night thinking of the money he would have if he actually got paid. - You would probably act exactly the same if you were in his position Q2 Afs Your tuition pays CAEN to maintain some really really fast computers, faster than anything this lab owns. To make life easy, you can make a link in your AFS home directory to your home directory here. To make life really easy, use 'launch' to transparantly run your programs on CAEN machines. There is no muss or fuss. It's very easy. Launch is in /usr/coolstuff/bin. On one of our machines find out your home directory Example: % echo $HOME % /n/colt45/u/crowej So my home machine is colt45.eecs.umich.edu, and my directory on colt45 is /u/crowej then, on an AFS machine % cd ~ % ln -s /nfs/[home machine]/[directory on home machine] ./lab Example: % cd ~ % ln -s /nfs/colt45.eecs.umich.edu/u/crowej ./lab Then from AFS Suns, HPs and Decs, you can get to your files here by % cd ~/lab CAEN maintains compute-servers, machines intended for cpu-intensive jobs. They are Sun Ultra's: compsun1, compsun2, ... compsun5 HP 900/735's: comphp1, comphp2, ... comphp5 The HP's are fast, possibly faster than the suns If you run processes on AFS machines other than the compute-servers, you will want to use the babysit program launcher to keep from getting rmproc'ed by someone else. For more info, do a man on 'babysit' on an AFS machine. CAEN as of 9/94 set the default coredumpsize to 0. That means you will get no core dumps. To fix, put the following in your .cshrc unlimit coredumpsize Remember that cores can typically take up 8 meg, possibly putting you over your quota. You can check your quota with 'fs lq .' All afs users should keep track of which server their home directory resides. To find out, 'fs whereis .' DCO servers (flip, zip, dip, clip) can access AFS. You can rlogin to one of them, and see you dir in the lab and afs. This is the easiest way to copy to/from AFS from/to the lab. Q3 Background jobs There are extrordinarly few justifiable reasons to leave a note on a computer to the effect of "I'm running something, don't log me out". Long jobs MUST be run in the background. If you don't, then they will die when someone logs you out. ALL background jobs should be niced to 19. That way the console user is not bogged down by your background (and therefore less important) job. Background jobs not niced to at least 19 are subject to kills without notice. To nice a job from the C shell, start your program as below: % nice +19 program parameter1 parameter2 & Where to run background processes: 1) Choose machines that do not have someone on the console. 2) AFS machines. Remember that there are hundreds of CAEN suns and HP's on which you can remotely run jobs. They run just as easily and effectively as if you were running them on our machines. Additionally, there are many CAEN machines that are *much* faster than ours. Matlab jobs can be run in the background by % matlab < program.m > matlabout & or better yet % csh -c "unsetenv DISPLAY; nice +19; nohup ${MATLAB}/bin/matlab < program.m" > matlabout & Launch background jobs on your computer first. If you launch a background job on someone else's computer and there's not one on yours, you risk their wrath. [There is one person in our lab who was famous for this crime. Since we all know who he is there's no reason to point him out ... I guess I could just mention his initials. His initials are Hong Wan. Whoops. Slipped.] You can use rmproc to stop background processes that are annoying you when you are the console user. It only works on processes owned by specific people: those who consistantly violate the "background job" policy. Q4 Backups Backups are made regularly. If you delete something important, it can be retrieved. To get a file back, mail a message to help@eecs containing a request to restore a file, with the full pathname (e.g. /n/colt45/u/crowej/solutionforworldpeace.doc) and the last 'good' date of the file. Q5 Books Computer manuals are not available for check-out. They are used regularly by people in the lab, so they gotta be there. If you need to use one, please use it in the computer room (3440). Q6 Coolstuff /usr/coolstuff/bin is where general purpose scripts / labor saving stuff and generally cool stuff you should know & use is kept. Consider putting /usr/coolstuff/bin in your path, /usr/coolstuff/man in your MANPATH, /usr/coolstuff/matlab in your MATLABPATH, and /usr/coolstuff/elisp in your emacs search path. Then try a 'man coolstuff' to see some docs. Note: You should have rvg aliased to rv -g 03/25/95: Most of the utilities in /usr/coolstuff have moved to /usr/coolstuff/bin. You should replace /usr/coolstuff in your PATH with /usr/coolstuff/bin. Q7 Dotfiles Prototype dotfiles are available for you to merge into yours. dotfile prototype dotfile .cshrc /usr/coolstuff/skel/bul.cshrc .emacs /usr/coolstuff/skel/bul.emacs .fvwmrc /usr/coolstuff/skel/bul.fvwmrc .fvwmxinitrc /usr/coolstuff/skel/bul.fvwmxinitrc .login /usr/coolstuff/skel/bul.login .xmodmaprc /usr/coolstuff/skel/bul.xmodmaprc .zshrc /usr/coolstuff/skel/bul.zshrc .zshenv /usr/coolstuff/skel/bul.zshenv .zlogin /usr/coolstuff/skel/bul.zlogin .xsession /usr/coolstuff/skel/bul.xsession Note: Openwindows is obsolete => so is this next subsection > Specific considerations: > > A common error is to specify the version of Openwindows you run by an > explicit fully qualified NFS pathname to a copy of openwindows. In other > words, you have your OPENWINHOME set to "/n/schaeffer/u/vols/openwin". > > This is frowned on for two reasons. > 1) You will not be able to log in if that copy of openwindows moves. > 2) You will generate s-loads of 'mkcookie blah blah' errors that can make > diagnosing other network problems more difficult for us. You should use > the automounter to find software. > > If you want openwindows version 3, > setenv OPENWINHOME /usr/openwin > > or if you want openwindows version2, > setenv OPENWINHOME /vol/openwin2. > > This should make your openwindows faster AND more reliable. Q8 Food Please don't feed the computers. It's amazing how much crap is already in our keyboards. If you spill food/beverage into a computer, please try to 1) clean quickly 2) tell a sysadmin so as to prevent Q9 Full Disks If this happens while you are running a job, your job will crash -- so it's in your best interests to keep this from happening. To help ... If you still use OpenWindows (why, I don't know), regularly empty your wastebasket. "%rm ~/.wastebasket/*" Remove all your core files you don't want. One way is find . -name 'core' -print and look at the list to verify that they are core files, then find . -name 'core' -print -exec rm -f {} \; If you don't use core files (i.e., you don't know what they are for), then put in your .cshrc limit coredumpsize 0 to never see and cores again. Or if you want to keep cores out of specific directories, create a directory named core in those directories so that you won't get them. Everyone should have a directory 'core' in their home so that their window manager doesn't keep putting a core there. Use /tmp. If you are going to create a temporary file (e.g. a postscript file from an image, only for the purpose of printing), then create it in /tmp. That way if you forget to remove it, there is no adverse affect on the system since /tmp is automatically cleaned. Top things taking space when they shouldn't: 1 corefiles you aren't using 2 .wastebasket (OpenWindows users) 3 postscript files you printed out and don't need anymore 4 postscript files you aren't using today and aren't compressed 5 non-research images tangentially related to human biology (diplomatically put) 6 images you're not currently using -- GZIP THEM 7 useless data you generated 4 weeks ago and haven't looked at since *** Use 'gzip' liberally! *** It is an excellent file compressor -- better than compress. Compressing data files you're not using will save a lot of space. Besides, if your using an image viewer that handles gzipped files (like zview), then you can keep all your images gzipped. I (John) do. Don't forget about tapes. You can put 5-7 Gig on a tape with ease. Q10 Logging someone out If you leave your machine unattended long enough that the screenblanker makes the screen go dark (about 10 minutes), that machine is fair game and _anyone_ can log you out. If you are doing non-research (i.e. homework or project) then you must yield your machine if anyone wants to do use it for research. [Obsolete: sunvision is obsolete > If you not using sunvision and are on blacklabel, and someone else > wants to use sunvision, you must log off and switch to another sun IF > there is one available. (i.e. you don't have to switch if there isn't > another machine you can use.) > > If you log someone out that was running sunvision, you must quit their > sunvision BEFORE you log them out. If you don't it just keeps > running. ] It's simpler to tell which machines are unused if everyone logs themselves off when they are done using a machine. If you do, you're less likely to have someone accidently screw up your files. Q11 MacIntosh There are two public Macs: 1) milwaulkees best, a IIci in 3427 2) pigseye, a PowerMac 7100/66 in 3440. Users of the ATL machine in 3427 have priority on milwaukees best. NETATALK: You can mount your unix home from the chooser by choosing the Appleshare server BUL. You will have to attach as a registered user using your standard login password. You will have the option of mounting the BUL shared temporary storage area (oe800:/tmp/BUL) and your personal volumes as listed in ~/.AppleVolumes. If you do not have ~/.AppleVolumes, oe800:/tmp/BUL will be your only choice. I suggest that you make a directory ~/mac and put the line ~/mac .mac in your ~/.AppleVolumes. (E.G.--> /n/schlitz/u/tvie/mac tvie.mac) Bummers: 1) NETATALK will stick '.AppleDouble' files throughout the directory areas you mount, that is the best reason to restrict your mounting to ~/mac. 2) Your password must max 8 characters long. Q12 Mail /nfs/[machinename]/var/spool/mail/[username] is the new standard location of a users mail file on our machines. This supersedes /usr/spool/mail/username. Those of you who read your mail on an eecs machine should have the environment variable MAIL set to the new value. For example, for me % grep crowej /etc/aliases crowej: crowej@colt45.eecs.umich.edu % rlogin colt45 % /usr/coolstuff/bin/nfs_qualify_pathname /var/spool/mail /nfs/colt45.eecs.umich.edu/u/var/spool/mail So I should have in my .cshrc setenv MAIL "/nfs/colt45.eecs.umich.edu/u/var/spool/mail/crowej" ( If you're using a shell with Bourne-like syntax, you will have to export MAIL ) The file /usr/coolstuff/mail_aliases contains the recommended lab mail aliases you can include in your .mailrc . Check it. If you're listed wrong, or not listed at all, let me know. If you use Pine to read email, don't forget to set your correct mailpath in ~/.pinerc Q13 Matlab You should set the environment variable MATLAB to the current version of matlab, and alias 'matlab' accordingly. Try to keep up to date as local copies of old versions will disappear. For example, add to your .cshrc: setenv MATLAB /usr/eecs/math/matlab-5.2 alias matlab "$MATLAB/bin/matlab" To specifically select an older version, e.g. version 4.2c, setenv MATLAB /usr/eecs/math/matlab4.2c (cd /usr/eecs/math; ls -l |grep -i matlab) will show you what versions are available Put /usr/coolstuff/matlab in your matlab path. Copy the file /usr/coolstuff/skel/bul.startup.m to your matlab subdirectory in your home (i.e., ~/matlab/startup.m) Matlab jobs can be run in the background by % matlab < program.m > matlabout & or better yet % csh -c "unsetenv DISPLAY; nice +19; nohup ${MATLAB}/bin/matlab < program.m" > matlabout & Note: version 4.2c is solid, 5.0 is garbage, 5.2 is OK To make Matlab 5 figures look like version 4 (black background), put this in your ~/matlab/startup.m % for MATLAB 5 to look like MATLAB 4 (black background) xver=version; if(xver(1)=='5') % This is a m-file which fixes color figureslikeversion4; % this function is in /usr/coolstuff/matlab end To print a matlab figure to a slide, see Slides in this document To list the contents of a .mat file without running Matlab (i.e. outside Matlab), use the command "lsmat". To do it from inside, use ">>who -file file.mat". Q14 Music Please don't play John Secada or other lame music in the lab. It makes the suns crash. If you are unsure of what constitutes lame music, consult our resident expert, Steve. Q16 Plist The file /usr/coolstuff/bin/plist can be used as a lab directory. For example %plist john John Crowe o 747-3201 h 313 563-1214 crowej@eecs If you're not listed in there, or listed incorrectly please let me know. Q17 Printing The default printer to use is 'rainier'. You should change your PRINTER environment variable accordingly. setenv PRINTER rainier should be in your .cshrc. The printer in the bioengineering office is named 'bioenginpriv' and can be used from any of our machines. In emergencies the CAEN printers in 2271 GG Brown (2271ggbh1 & 2271ggbh2), and 3128pub in the EECS grad lounge are available. Rainier can print in duplex (double sided) mode. It should always be left in that mode. If you would like single sided mode, from unix: use 'flpr' from macs: select the PSPrinter driver in the chooser, and then when you print, hit "Options" and choose "Duplex:None" flpr is a script in /usr/coolstuff/bin that will allow you to controll a few custom printing options on rainier including 600dpi resolution, double/single sided printing and manual feed. Do 'flpr --help' for more info. Printouts that aren't picked up from the printers should be put into the printout holder next to Rainier (3440). The printout holder should not be obstructing the air vents on Rainier. The slots of the printout holder have been labeled by day of the week. Please put unclaimed printouts in the correct day's slot. Please throw into the recycling bin printouts that are 7 or more days old. If one of the printers has an error indicating it needs toner, then 1) notify a sysadmin 2) take out the toner cart and look at the sticker. If it hasn't been shaken three times (i.e. not all 3 boxes are checked), then shake it thouroughly, mark a box and replace. If that does not solve the problem, then 1) notify a sysadmin 2) replace the toner cartrige with the spare located near the printer. - Write the date on the sticker on the old cartridge. - Put the old toner in the box the new one came from completly packaged as the new one was. - Write "Used" on the box - Write the date on the sticker on the new cartrige - Shake it throughly - Put it in the printer If that does not solve the problem, then tell a sysadmin If you submit a print job and it doesn't print, please check the queue if your printout doesn't print. A hung job means no one can print. That's bad. Remove your hung jobs with % lprm - If that doesn't work, log into bul.eecs, and repeat. Alternativly, you could % rsh bul 'lprm -' To use a CAEN printer, 2271ggbh1 for example, rsh azure 'lpr -P2271ggbh1' < file.ps This could be done with an alias. For this to work, the name of the machine (ours) you're printing from must be in the file '.rhosts' on your AFS account. /afs/engin.umich.edu/u/c/r/crowej/.rhosts is an example. If you expect to use CAEN HP's, then .rhosts in your AFS home must be a plain file, not, for example, a link to ~/Public/.rhosts Update 03/13/96: CAEN has increased security for logins, and this may render the above .rhosts suggestions meaningless. Q18 Fvwm Fvwm is a virtual window manager that is superior to Open-Look and TWM. To switch, follow these easy steps and receive a genuine faux perl necklace if you order right away. Operators are standing by. To switch from openwindows to fvwm, 1) Look at /usr/coolstuff/skel/bul.login. Make sure you're up to date. 2) cp ~/.xinitrc ~/.openwin.xinitrc 3) cp /usr/coolstuff/skel/bul.fvwmrc ~/.fvwmrc 4) cp /usr/coolstuff/skel/bul.fvwmxinitrc ~/.fvwmxinitrc 5) cp /usr/coolstuff/skel/bul.xmodmaprc ~/.xmodmaprc 6) set the variable mychoice in your .cshrc to "fvwm" e.g. "set mychoice=fvwm" put that line near the top of your ~/.cshrc. There is probably already a value assigned to that variable. Also, check your .xinitrc, .fvwmxinitrc and .login to make sure that if that variable is set, that the values are the same across all files. 7) make check payable to John Crowe esq. Q19 MTS mail ** Note: MTS is GONE! This section is obsolete ... ** MTS is going away. To get your email forwarded from MTS to your eecs account, *sig *run *userdirectory *modify me mailname=@eecs.umich.edu *stop *sig For lusers: is your MTS id, and is your username here (e.g. crowej). Q20 LM_LICENSE_FILE The license manager (flex or flexlm) looks through default directories to find the license.dat file for various programs. For some programs like Mentor Graphics or LabVIEW you may have to specify the license.dat file explicitly by setting the environment variable LM_LICENSE_FILE. Multiple license.dat files can be specified in this environment variable by separating them by colons (:). The following command for instance might be required in your .cshrc to run both Mentor and LabVIEW: setenv LM_LICENSE_FILE $MGC_HOME/license.dat:/vol/labview3.0.1/license/license.dat Other license.dat files can be appended to this line separated by colons. It is highly reccommended that you put all your license references in the LM_LICENSE_FILE variable, as opposed to setting to distinct values as a function of your application. Relevant applications: AVS Labview Mentor Graphics Q21 PC/x86/Windows Machines o Printing To print from a Windows machine, print directly to any of our printers from any application. Choose your printer by "Attach a Network Printer" from the Print Manager. All printers available from unix are available as Shared Printers from the BUL server (a.k.a oe800). Printer access is not password protected. o Network / Shared drives You can access the PC's in our lab that are running Windows 3.11 or Windows 95 from Unix via the "smbclient" program. You can attach to, and copy to / from any Windows file system on any of our PC's from Unix. This should make file transfers a bit easier. Do a man on samba or smbclient for more info. From Unix, "smbclient -L machinename" lists all SMB services provided by machinename. Access to a PC drive is protected by passwords set locally on the target PC. You can attach to your unix home directory from a PC by attaching to oe800 and choosing the "Shared Drive" home, or equivalently \\oe800\. (e.g. \\oe800\tvie) Example from Unix: Access to the CDROM drive on altes smbclient \\altes\cdrom Depending on what shell you use, you may need to escape the backslashes as smbclient \\\\altes\\cdrom Alternatively, if logged into bul, you can access PC drives in the /s directory. e.g. cd /s/altes/cdrom. Do NOT install any software on a Windows machine (or any lab machine) without checking with a system administrator first. Exceptions to this rule are computers in your experimental setups (e.g. altes). This is obvious. Your software could ruin the current installation of other software. If you screw up a machine in this manner, you will be responsible for fixing it. Plus you will suffer the sysadmin's wrath -- and they are quite intolerant of jackasses knowingly screwing with machines. Good examples: - Someone installed Arabic extensions to Windows on Uticaclub, and killed the scanner software - Someone installed Chinese extensions to Windows on Uticaclub, and killed the scanner software See a trend? Q22 BUL shared temporary storage There is disk space on the server available for temporary storage by PCs and Macs and Unix to aid cross platform file transfers. Its location is oe800:/tmp/BUL. This is a great way to transfer / access a file file from a PC to Mac, or Unix to PC ... etc. From PC's, you can access it by "Connect a Network Drive" from the File Manager. All our PC's automatically mount it as drive T: . From the Mac's, you can attach to the Appleshare drive "BUL Shared Storage" on the "BUL Server" from the chooser. From Unix, it's /n/oe800/tmp/BUL. Please remember that it is for temporary storage only, since this file space will be automatically cleared without warning by oe800 whenever space gets tight, or every 7 days -- whichever comes first. You can do a 'man samba' for more tech info. Q23 X.500 directory You can access & modify your X.500 entry via the ud program. (Remember *USERDIRECTORY on MTS? ) Do a man on ud for more info. A lower level access is available via /usr/coolstuff/bin/um-X.500 Q24 /tmp /tmp is the preferred place to put temporary files. Things like .ps files you're going to print, scratch files, etc. or data files that you need around only for a couple of days. That's why /tmp isn't called /permanent. Files that are more than one week old are cleaned from /tmp every night (early morning, actually). If you put a new file in /tmp, it should be there for 7 days; after that, zap. Files that are older that 7 days are history. i.e. a new file with an old creation date will be nuked. Make a dir for yourself (e.g. /tmp/crowej), and put your stuff there. Keep in mind that everyone has read/write rights to /tmp. If you need some space in /tmp, and it's nearly full, then common courtesy says that you can remove stuff in /tmp/ without question, but that you should ask the owner before you remove stuff in /tmp/crowej, for example. You may want to ask regardless, remembering (perhaps Greek saying?) "Live by /bin/rm, die by /bin/rm." Try to use /tmp as much as possible. If your process uses temporary files, don't create them in the current directory, use /tmp/filename. /tmp is a local device, and is almost instantaneous compared to your home directory since home dir traffic must go over the network. You can save yourself hours and hours in compute time this way. If your simulation needs an input file, consider copying it to /tmp on the machine you will run on and loading from there. If you will create lots of output files, consider putting them in /tmp/yourname/. References: man pages for tmpnam and tempnam. (e.g. fh=fopen(tempnam("/tmp/", "crowej"),"r");) Q25 Reboot policy There are four classes of machines in the lab, each class having a different reboot policy. 1) User-rebootable We all have free reign to reboot the word processing PC's. They are all Linux capable, so if you feel like Linux and Windows is up, or vice-versa, then go for it -- reboot. They are schmidts, lager, uticaclub, bulp3423 and bulp3427. They are all fair game if you want to do word processing. Note: ensure that bulp3427 is not burning a CD before you reboot. In the interest of completeness, the Mac PigsEye falls in the user-reboot-at-will category. Although I suppose one could say that we don't really need a user-reboot policy for the Mac, the damn thing seems more than up to the task of rebooting itself on a regular basis. 2) Workstations To be blunt: NO rebooting of any Unix workstation. That includes all Suns, and plus stag, dixie, grainbelt and oe800. Grainbelt, Stag, Dixie and Oe800 are Linux-only workstations to be treated like the Sparcs. They should be rebooted only by a system administrator. Heavy duty wrath *WILL* be visited on users who haphazardly attempt to reboot workstations, since it costs us lots-o-time to fix reboot-caused problems. 3) Dedicated computers Altes and Milwaukees Best are dedicated machines and fall under a different set of rules. They don't fall into the user-rebootable category. 4) Single user/owner computers kolos, ballantine and matts obviously don't fall into any lab-use category. Only their primary users have reboot permission. Q26 Slides The slide maker in the media union on the Macintoshes use the program "MacRascol" to print slides. That program takes as input PICT format images. Therefore to use the slidemaker you need to generate one PICT for each slide. The lab has an automated way to generate these. Whatever you print to the printer "slides", will get turned into one PICT per page and saved in /tmp/slides_yourname ON THE MACHINE YOU ARE USING. From unix, lpr -Pslides From Windows, print to the printer "35mmslides". If the Win95 machine you are using does not have that printer installed, follow the proceedure for "Q30" in this document, but use "\\oe800\slides" for the network printer name, and choose "35mm Slides" for the ppd file. Then you can print from powerpoint to the slide printer, go to the slide maker, use the Mac program "Fetch" to ftp them to the slidemaker Mac. Then run MacRascol and add your PICTS to the queue. Matlab and slides: If you are using Matlab version 5.x, then you can use /usr/coolstuff/matlab/printslide.m to generate a PICT appropriate for slides. Do help printslide in matlab for more info. Q27 File compression The "best" file compressor we have on all the machines is gzip. All machines (PC's, Windows, Unix and Mac) all have gzip installed on them and all files created on one are accessable from the other (although the Mac is tricky). "best" is in quotes because there are other programs that have better compression ratios (e.g. bzip, lha, yabba and whap) but they are not standard across machines. If you are compressing something that is a file from a X, use Y X Y Mac Compact Pro Unix 'gzip -9' Pc 'gzip -9' for single files, 'pkzip -eX' or WinZip for multiple files (Unix means SunOS, Solaris and Linux) If you are using gzip on Unix to compress a file (e.g. a data file), then try to do it on the same type of machine that created that file. In other words, if this is a .mat matlab file from a Linux machine, then run gzip on Linux. If it's a data file from a Sun, use gzip on a fast sun to compress it. This is not a question of incompatibility, just efficiency. Suns compress sun data better, and Linux w/ Linux. It's really a question of byte order. Suns and Mac are Big Endian therefore they will compress each other's data more efficiently than they will compress Little Endian data. Linux and Windows run on Little Endian machines and so they do best with Little Endian data. Q28 Endian Big Endian: Sun, Mac, HP Little Endian: Anything on Intel or DEC (e.g. Windows, DOS, Linux) Q29 Text conversion Different OS's use different bytes to mark the end of a line. That is why you see '^M' at the end of every line of a DOS text file you view from Unix. Use "dos2unix" or "unix2dos" to convert between the two, it is standard with Linux systems. Alternately you could also use "u2d" in /usr/coolstuff/bin/ to convert text between any of dos, unix, mac, OS/9 and more (u2d --help) for more info. OS EOL marker Mac ^M Unix ^J Dos ^M^J Q30 Installing a new printer on a PC Start-> Run, and type: "\\oe800\archives\adobe\setup.exe" Answer "no" to "Install setup locally?" Answer "\\oe800\printername" for network printer name When asked to choose the ppd file, you will need to map a network drive to \\oe800\archives, then look in the ppd folder, and choose the appropriate ppd file from the list on the right.