Using Puppy Linux 2.14 FIRST DRAFT - edit from wiki
the wiki code on this page (double click on page) is kept to a minimum
to allow printing, reading, converting etc
New in Puppy 2.14
Grafburn CD/DVD burner
With Grafburn you can
* Create data cd's or dvd's
* Burn already existing iso images
* Blank cd and dvd media
* Create and encode audio cd's (ogg, mp3, or wav encoding supported)
Usage
location of the temp directory as well as the location where the iso image will be created using the preferences dialog.
Wine Windows emulation
http://dotpups.de/dotpups/Emulators/Wine-0.9.22/Wine-0.9.22_210.sfs(8.8∞ MB)
After installing Links Grammar, start AbiWord, then go to "Edit -> Preferences..." menu and turn on grammar checking.
gtkmathview is a package that can be installed with the PupGet package manager (see Setup menu). You need to install two packages, libt1-1.3.1 (Type1 font rasteriser, used by gtkmathview and gtkmathview-0.7.5.
If you want to use the actual MS TrueType fonts, not substitutes, do this:
1. Use the Puppy pmount program (in the File Managers menu) and mount the Windows C: drive.
2. Create this folder: /root/.fonts/
3. Copy font files from C:\windows\fonts\ folder to /root/.fonts/ folder.
Note that MS Windows has four basic fonts that are in all versions of Windows, right back to 3.x. They are Arial (proportional, no serifs), Times New Roman (proportional, with serifs), Courier New (non-proportional, that is, equal spacing between characters), and Dingbats (symbols). For each of these, you need to copy four files -- there is a file for normal, italic, bold, and bold-italic.
After doing that, restart AbiWord, and the fonts will be available.
There are many plugins available for AbiWord, available from the AbiWord web site.
Puppy has various plugins installed. Plugins are to be found in the /usr/local/lib/AbiWord-2.4/plugins/ folder.
You can add plugins there, but they will get removed at a Puppy-version upgrade. But, you can place further plugins into the /root/.AbiSuite/AbiWord-2.4/plugins/ folder.
You should not have to compile plugins yourself. You should be able to find precompiled plugins via the AbiWord website. They must be compatible with the current version of AbiWord, which is 2.4.1. If an AbiWord plugin is a .tar.gz file, you will have to extract the files.
Gnumeric
Why Choose Puppy?
What is Puppy Linux?
Isn't Windows or a big Linux better?
However new your hardware, in a few months it slows down in Windows. True?
Windows and most Linux distributions are slow; big, complex and cumbersome
Puppy Linux is simple and easy. Fun
Puppy is faster loading from CD than MS Vista from hard disk
Puppy includes all needed free software
Puppy uses wizards and simplicity - everything is explained
Puppy comes with great free support, via our community forum, wiki, free video tutorials and audio broadcasts
People who try Puppy are amazed by his speed, ease of use and fun factor. Everyone Loves Puppy
How to get Puppy
http://puppylinux.org/wikka/DownloadLatest∞
Within Linux:
Within Windows:
Now you get a DOS-Box.
You should get an "OK".
Differences between Puppy 1 and 2 series
Run from CD - the easiest way to try Puppy
How to run Puppy the very first time
Use arrow keys, navigate with the arrow keys to the resolution and depth of colour (e.g. 1024x768x16 or 1280x1024x24) and, if a ( ) checkbox appears you press the space bar, so that an X is set for your required resolution. Otherwise just arrow down until the required resolution/depth is highlighted. Then strike the return key. Make sure that the entry is marked as "supported".
Save settings and personal files
Hard drives, partitions and filesystems
How to create a FAT32-partition
How to install Puppy
Install Puppy on a hard drive
Install Puppy on a USB-stick
CD-ROM-image on a hard drive
Install Puppy on a multi-session CD/DVD
How to save a Puppy-image on a hard drive and how to boot the image in RAM
Save the menu.lst-file.
Close the text editor.
Close the FAT32-partition with the command
Take the Puppy CD out of the CD-ROM drive.
Shut down Puppy without saving.
Boot the PC. Now Puppy should start without a CD inserted in the CD-ROM drive.
To boot from CD
1. floppy
2. CD
3. Hard disk
Boot Options
puppy pfix=ram
you have the option to start Puppy into RAM without your pre-saved-settings and without your personal files even if a pup_save.2fs-file already exists.
Booting
Press Enter - sometimes the CD has not started spinning yet
Do a soft reboot (Ctrl + Alt + Delete) Sometimes part of the memory is not cleared
Turn off and wait 30 sec - time needed to ensure memory is cleared in some older RAM
Turning an ISO image into a self booting Linux Operating System with MS Windows:
Download the most current Puppy Linux iso file
Install BurnCDCC
Burn the iso image using BurnCDCC
Insert your new Puppy disk into to CD Drive and reboot the computer.
When burning use the slowest burn speed in burncdcc to ensure correct burning.
Running Puppy
When you have a bootable CD:
The Menu
(see the isolinux.cfg in the CD image for each version's options):
The Initial Boot up
How to boot from CD
Windows 2000/XP - HT Fireman ("free") or Nero (not free)
Puppy Linux 1.x.x - Graveman
Other Linux - Kd3, Graveman or others
Booting
If you have more than one CD drive try all of them.
Re-burn the CD
Changing CD boot settings:
If Booting requires BIOS changes:
You may need to change the boot order in your BIOS. In the BIOS look for 'Advanced setting', 'Boot order' or 'Boot options'. Set CDROM as a first device and hard disk as a second one.
Entering CMOS For Different Motherboards
Device setup
Dialup Modems
Dial-up Internet access
Configuring Puppy for Internet access using modem dialup should be extremely simple. If you have an external serial modem (which is strongly recommended for Linux) then it will have been auto-detected by Puppy -- as long as it is turned on when Puppy starts up. Then, all you have to do is click on the 'connect' icon that you will see bottom-left of the screen and choose to launch the dialler program GKdial.
If your modem was not auto-detected, but you do have what is known as a 'hardware modem', you will need to run the Modem Wizard:
Just like Windows 9x, 2000 and XP, Puppy has a "Start" button -- click on this and up will pop a menu. Select this from the menu:
Setup --> Modem Wizard
The Modem Wizard locates your modem. If you already know that your modem is /dev/ttyS0 for example (same as COM1 in the DOS/Windows world), fine, but do run the Wizard. The Wizard causes /dev/modem to be linked to the actual modem, and the dialler program GKdial is configured to use /dev/modem. Also, the Wizard causes setserial to execute at bootup (which is supposed to initialise your modem properly). You only need to run the Wizard once, and settings are remembered.
NOTE: Puppy currently supports two types of "software" modem, the Lucent Linmodem, and the Smart-Link range of soft-modems. See notes below.
GKdial, the dialler program
Click the 'connect' icon on the desktop and choose to launch GKdial. Note, this icon by default launches the Internet Connection Wizard, but you can easily change the icon to immediately launch GKdial.
GKdial enables you to create multiple accounts, that is, to dialup as many different ISPs (Internet Service providers) as you wish.
When you first start Gkdial, create an account by clicking the "Add" button. There are some simple questions to answer, such as your username, password, and ISP telephone number.
The only "difficult" part of setting up an account with Gkdial is that it asks for "Server Name" and to choose CHAT, PAP or CHAP connection protocol. In the case of Server Name, just choose any meaningful name to describe the account (it probably doesn't matter, but just to be on the safe side, only enter a single word, no spaces). For the connection protocol, PAP works for me, so give that a go. Your second choice would be CHAP.
Gkdial keeps the configuration files for each account in /etc/ppp/peers and /etc/ppp/chatscripts folders, so if you ever really need to get into fiddling with them, you know where they are!
After creating an account in Gkdial, you simply click the "Connect" button ...and cross your fingers!
Note that the default "modem initialisation string" used by Gkdial does not work for all modems. Symptoms could be that although the modem is recognised it won't dial-out, or won't connect. In that case you have to edit the modem configuration file created by Gkdial in /etc/ppp/chatscripts/. Documentation on initialisation strings is below.
NOTE: There is a second analogue modem dialup program, called Xeznet, which is a GUI frontend to eznet. Try this if GKdial doesn't work. Note that when adding an account, the "tty" field and the "speed" field do not need to have anything entered into them as they default to /dev/modem and 115200bps.
ADSL/Broadband
My own experience with using Puppy to connect to ADSL was very simple and pleasant.
A friend of mine has ADSL with westnet.com.au (in Australia). Her computer runs Windows 98, and she ran the Easy-Config program supplied on the CD. She purchased a Netcomm NB1300 Plus 4, which is an ADSL router modem with one usb and four ethernet ports. On my recommendation, she did not use the usb port. She connected the first ethernet port to her PC, inserted the CD and did some simple hardware configuration as explained in docs on the CD (basically, choose "Never dial a connection" in the Internet configuration, and run "winipcfg" and choose the ethernet card not the dialup modem and press "Renew" button). Then she ran Easy-Config and just entered three parameters: she had to choose a "ISP-profile" and she left it at the first one, which was "ISP-profile-001". The other two parameters were username in format of "username@westnet.com.au" and her password.
Hey presto, she was up and running.
I plugged my PC into the second ethernet port, ran the Puppy Ethernet/network Wizard and chose DHCP, and immediately I was off and running also!
My experience highlights the advantage of using a better quality modem. If you are thinking of upgrading from dial-up to ADSL, look very carefully at the modems offered by the ISPs. The Netcomm NB1300 Plus 4 has a router built-in, so supports 4 PCs simultaneously connected to the internet (5 PCs if the usb port is also used). After running Easy-Config, the username and password are stored inside the modem itself. This modem has built-in DHCP server and firewall capability. In fact, this kind type of intelligent modem may be running Linux internally -- I don't know if this particular model does though.
Avoid a usb-only modem. Cheap and troublesome. For Windows, they require a special driver to be installed, whereas an ethernet modem needs no special driver. For Linux, ethernet modems are supported, but usb modems may not have a driver. Puppy has very little support for usb modems.
An update to the above is that I recently setup another ADSL router modem for somebody, and this one has a web browser interface -- meaning that no Windows-specific software is required to get it setup -- the way to go!
Troubleshooting
Modem strings
It is on my to-do list to provide a list of modem strings for you to choose from. If you find that your modem will not dial out properly, in the case of GKdial look in /etc/ppp/chatscripts/ folder, and you can edit the file therein. Here are some URLs with lists of modem strings for particular modems:
Here is a typical modem string:
ATZL1M1&FW2
ATZ sets modem to defaults, L1 turns on the speaker, M1 set the speaker volume, &FW2 sends dialler info from the modem.
Note also that some modems need to have a "country code" programmed into them, which is done by a Hayes command (that is, put it into the modem string). This is something that I need to document. Currently, country-setting is only provided in the Puppy Modem Wizard for the Smart-Link range of soft-modems (winmodems).
Puppy 1.0.3+ has the WvDial package, which includes the wvdialconf program. Open an rxvt window and execute this:
# wvdialconf /etc/wvdial.conf
The most interesting thing about wvdialconf is that it finds your modem then probes it and determines a suitable initialisation string. You could try this string with Gkdial. Note that the file /etc/wvdial.conf created by wvdialconf is intended to be used by the WvDial dialup program wvdial, executed like this:
# wvdial
...however, be sure to first edit /etc/wvdial.conf and enter username and password.
So, wvdial is another way to dialup an ISP, in addition to Gkdial and Xeznet/eznet.
If you would like to experiment with sending Hayes commands to your modem, Puppy has a neat little commandline program called modem-stats. Open a terminal window and run it like this:
# modem-stats -c "AT" /dev/ttyS0
Winmodems
External modems are usually okay, as they are true "hardware" modems. I recommend a true hardware modem as it gives faster data transfer rate (in my experience). Older internal ISA-bus modems are usually hardware modems. An older internal PCI-bus modem may be a hardware modem (but probably isn't).
If you don't want to be bothered with the hassle of trying to get a driver for your winmodem, I recommend the investment of purchasing an external serial modem, but not a USB modem. Unfortunately some manufacturers are apparently cutting costs with external USB modems and it may not be a true hardware modem.
With a true hardware modem, Puppy will auto-detect it at bootup and all you have to do is click the 'connect' icon on the desktop to launch GKdial.
However, Puppy does support two types of software modem:
The Lucent DSP Linmodem. The term "Linmodem" refers to a software modem that has a driver for Linux. Basically, the range supported is the Lucent (Agere Systems) Apollo and Mars chipsets, specifically the chips DSP1642-CC, DSP1641-CC, DSP1643-CH, DSP1644-CH, DSP1641B-CH, DSP1645, DSP1646, DSP1648, DSP1648B, and APL43. Lucent Venus chipset modems and soft AMR modems are not supported (actually, I have an internal PCI modem that identifies itself as having the Venus chipset, but it is a true hardware modem, so maybe all Venus chipsets are?).
The Smart-Link range of soft-modems. The modems supported are:
HAMR5600 based AMR/CNR/MDC/ACR modem cards on the following Southbridge chips:
Intel ICH0,ICH2, ICH3, ICH4, Via 686A, 686B, 8231, 8233, SiS 630, ALI 1535.
SmartPCI56/561/562/563 based PCI modem cards.
SmartUSB56 based USB modem.
Note that some other brands of modem use the same chipset as one of the above, so may work. I think that the latest version of the SmartLink driver is deliberately restricted to working with SmartLink modems only, but I haven't verified that.
Here are places to look for help:
You'll need Internet access to get at the following:
For more information about the Lucent Linmodem: www.sfu.ca/~cth/ltmodem
This website has a utility for scanning your modem and identifying it: linmodems.technion.ac.il
This site has more info and drivers for winmodems: linmodems.technion.ac.il/resources.html
However, if you don't have a Lucent Linmodem or one of the Smart-Link modems, I recommend don't bother. The winmodem driver will mostly likely have to be compiled for the specific version of Linux kernel used in Puppy, which is going to be a real hassle when Puppy is upgraded.
My own experiments on Windows show significant speed advantages with using a true hardware modem, so I strongly recommend that one be purchased even if you only use Windows.
The bottom-line is that currently Puppy can only be used for dial-up surfing the Internet if you have a true hardware modem, or the Lucent DSP Linmodem or Smart-Link modem.
Update: There is a HSF/HCF modem driver for Puppy. See the Puppy Forum.
Ethernet / Network (Cable Modems and DSP)
Wireless Phoenix; Late model PS/1 Value Point and 330s
The Xorg and Xvesa wizards
Tips:
Beautify Puppy
foreground white
background black
Notes:
Not enough RAM / NTFS solutions:
How to setup an Internet connection
Registermap Basic
Registermap NIC and DNS
Registermap Options
Install Problems
Before doing anything drastic like changing BIOS settings try this;
Puppy tells me that it can't find a partition to put the pupsave.2fs file in or that it can't save my personal data?
What kind of keyboard do I have?
When I try to install Puppy to my hard drive using option 2 the installer tells me that it can't install because the partition is mounted as root.
The screen resolution is not the right size--it is too big or small
My high speed network connection is not working
Wireless
CD/DVD
Printers
Firewall
Note: Routers provide some "firewalling" and many users just have a router and do not use software firewalls
Open an Rxvt ( Menu -> Run -> Rxvt ) window and type
* Install the Program nmap. Nmap is available as a PupGet.
Intrusion detection
Sound
Installing on more media
USB Drive
Hard Drive
NTFS Workaround
CAUTION: This is risky. Backup important data!
YOU HAVE BEEN WARNED !
How to backup pup_save.2fs
Restore files from pup_save.2fs-file
Backup with rsync
These are the rsync-options:
With the following commands you can restore your files from the backup:
Troubleshooting
How do I get an install CD?
I put the CD in and reboot but my computer does not boot from the CD?
What kind of keyboard do I have?
When I try to install Puppy to my hard drive using option 2 the installer tells me that it can't install because the partition is mounted as root.
The screen resolution is not the right size--it is too big or small.
Software Packages
How do I set up my dial-up connection?
How to setup Puppy
How to create your own menu
How to store / remove a desktop icon
I use the live CD and I am out of room on the hard drive.
goto Start -> Utilities -> Resize Personal Storage Space
Multiuser
How to personalise the pup_save.2fs-file
Multisession
Linux Commands. What is Linux?
Linux is an Open Source, free Operating System with a core (kernel) created by Linus Torvalds. Linux is a free Unix compatible system. It is used by NASA, Financial institutions, and in mission critical applications where reliability is a priority.
What is the Linux kernel?
The Linux kernel is the heart of the Linux operating system.
To find out which version of the Linux kernel you are running,
type uname -r in a terminal.
Linux kernel info is at http://www.kernel.org∞
Puppy 2.xx uses 2.6
How do I change screen managers
xwin JWM (default)
xwin fv95wm (pupget install)
xwin xfce (dotpup install)
(xwin = xstart on other Linux systems)
How do I reboot my Puppy?
reboot (from console)
shutdown -r now
You can also press (all at once) the control + alt + delete keys
(Ctrl-Alt-Bkspc'ed out of the window manager first)
How do I shut down my Puppy?
ctrl + alt + backspace
poweroff
How do I remove/uninstall Lilo/Grub?
If you want to remove the Lilo or Grub boot loader from your system (if you are un-installing Linux etc) follow the procedures below:
For Windows 95/98 etc:
Use a DOS boot disk and at the command prompt type:
fdisk /mbr
For Windows XP:
Boot off the XP Installation CD and go into rescue mode. From there run the command:
fixmbr
How do I change directories?
cd - Used to change directories
Usage: cd [directory]
Example: cd /root/my-documents/
Example: cd .. (to move back one directory)
Example: cd /root (to return to your home directory)
How do I copy files?
cp - Used to copy files/directories from one location to another
Usage: cp file newlocation
Example: cp /home/joey/index.html /var/www/index.html
Example: cp /home/joey/* /var/www/ (this will copy everything in /home/joey to /var/www/)
For more information, in a terminal, type cp --help
How do I rename files?
mv - Used to move or rename files
Usage: mv file location (to move)
Usage: mv filename newfilename (to rename)
Example: mv index.html /var/www/index.html (to move)
Example: mv index.html index2.html (rename)
For more information, in a terminal, type mv --help
How do I move files?
mv - Used to move or rename files
Usage: mv file location (to move)
Usage: mv filename newfilename (to rename)
Example: mv index.html /var/www/index.html (to move)
Example: mv index.html index2.html (rename)
For more information, in a terminal, type mv --help
How do I list directory contents?
ls - To list the contents of a directory
Usage: ls [flags] directory
Example: ls (To list the current directory)
Example: ls /home/joey (To list the contents of /home/joey)
Example: ls -a (To list hidden files)
Example: ls -l (To list file/directory permissions and file sizes)
Example: ls -al /home/joey (To list all files and permissions in /home/joey)
For more information, in a terminal, type man ls
How do I delete files?
To delete a file you must first have write permission to it.
There is no "Recycle Bin" in Linux so once you delete a file, it's gone for good.
When removing files, you may use an asterisk (*) as a wildcard flag to remove certain files, for example if I wanted to remove all files that began with the letter j, I would run rm j*
If anyone tells you to run rm -rf / as root, DO NOT LISTEN TO THEM. Running this command will delete all the files/directories on your Linux system.
Use md5sum in Puppy console to check downloads
e.g.
This displays a string that can be compared to the md5sum on the web site where you downloaded the .iso file.
How do I delete directories?
If you have ownership to the directory and the directory is empty, you can simply type rmdir directoryname to remove the directory. If the directory is not empty and you wish to simply delete it and all its contents, run rm -rf directoryname
Please be careful with the -rf flag, as it will remove everything in the specified directory including sub directories. With root access and the rm -rf command you can wipe out your entire system if you make an error.
How do I access my cdrom drive?
mount /dev/cdrom /mnt/cdrom
How do I access my floppy drive?
mount /dev/fd0 /mnt/floppy
How do I unzip a .tar.gz/.tgz file?
To extract .tar.gz or .tgz files, run the following command in a terminal:
tar -zxvf file.tar.gz (or file.tgz)
This will normally create a new directory based on the filename. If you want to extract a filename called file.tar (without the .gz) simply run:
tar -xvf file.tar
For more information, in a terminal, type man tar and scroll down to the tar entry.
How do I unzip a .bz2 file?
Click on the file from ROX and select "Extract"
To extract .bz2 files, run the following command in a terminal:
bunzip2 -dv file.bz2
This will normally create a new directory based on the filename.
How do I run a program?
Type the program name in a console (rxvt) window
Try: dillo, mtpaint, ical
How do I check HD errors
fsck.ext2 -vfn /initrd/dev_save/pup_save.2fs
Tips and tricks. Upper and lower case
Linux always differentiates between upper and lower case. The two files MyFile.txt and myfile.txt are different files.
Special characters
How to move files with ROX
Further information about ROX
The context menu of ROX
To use the contextmenu of ROX right-click on a file or directory.
Setup DVD/CD-burning program TkDVD
Click on the button "Advanced Options" and enter a check mark at the option "Filesystem extensions | Add Joliet extensions". This enables you to use long filenames.
Copy and paste in the shell rxvt
Copy = left mouse-click
Paste = middle mouse-click
Automatic completion in the shell rxvt
Setup time and date
Security
Root
Checksums
Create a checksum of the program md5sum. Write down the checksum.
If you want to check, which files have been changed enter these commands:
* Delete the file /root/check1.dat
* Rename the file /root/check2.dat as /root/check1.dat.
* md5sum /root/check1.dat
Encrypt with bcrypt
Then you enter your password
Microsoft documents
http://puppylinux.org/wikka/OpenOffice∞
Windows-programs and corresponding Puppy Linux programs
Windows
Puppy-Linux
Windows Explorer
ROX
Word
AbiWord
OpenOffice
Excel
Gnumeric
OpenOffice
PowerPoint
OpenOffice
Impress
Notepad
Editor
Geany
Internet Explorer
SeaMonkey
Outlook
SeaMonkey
Mail
Frontpage
Bluefish
Photoshop / Paintshop
Gimp
mp3-Player
Xmms
DVD-Player
Gxine
Windows
Puppy
Microsoft Word
AbiWord
Microsoft Excel
Gnumeric
Nero, EZ CD Creator, H.T. Fireman
Graveman
Media Player, Winamp
Gxine
The configuration file for Sylpheed is /root/.sylpheed/sylpheedrc
MIME types and external applications for Sylpheed attachments are obtained from /etc/mimetypes and /etc/mailcap
SeaMonkey also reads /etc/mimetypes and /etc/mailcap, to offer a player/viewer for a file that you are about to download.
MS Word .rtf files
RTF means Rich Text Format, and is a file format for wordprocessors. The RTF standard is fully documented and all major wordprocessors can open and save in it, including MS Word. Thus, users of MS Word should be encouraged to save documents in RTF format before sending them off to other people.
MS Excel spreadsheet files
ODF is becoming the international standard document file format. AbiWord can now import and export ODF files.
XINE
Programming
PuppyBasic is also known as wxBasicScript, and is derived from a more powerful version called wxBasic.
PuppyBasic has extensions for X programming, in particular to use Xdialog and gtkdialog for creating windows.
Documentation is on the Internet:
Covers wxBasic as well as wxBasicScript (PuppyBasic):
http://noforum.de/wxBasicscript-documentation/index.htm∞
http://noforum.de/wxBasicscript-documentation/wxbasicscript/index.htm∞
Example PuppyBasic scripts in Puppy written by Mark Ulrich.
/usr/local/Dotpup-downloader-mu05/resource/downloader.wxbs
/usr/sbin/backup_dotpup_menues.wxbs
Command-shell scripting
Note that when a terminal window is opened in X, Bash is running. If you exit from X to the commandline, Ash is running.
"Advanced Bash-Scripting Guide": http://www.tldp.org/LDP/abs/html/index.html∞
"Bash Programming - Introduction HOWTO": http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html∞
Puppy has support documentation and tools to aid with scripting:
Ash
Xdialog
xmessage
xcut
gtk-shell
gtkdialog
Note that Puppy currently has two versions of gtkdialog, named gtkdialog and gtkdialog2 -- it is preferred that you use the latter as this will eventually be the only one in Puppy -- in other words, always execute the binary "gtkdialog2".
Here are some scripts used in Puppy:
/usr/sbin/hardware-probe
/usr/sbin/modem-wizard
C/C+ + programming
Note that I personally always run Puppy from a live-CD and my PC has 256M RAM and a 400M swap partition -- this gives me an effective ramdisk of about 520M.
All of the normal compiling tools work, such as "configure" and "make".
Tcl/Tk
Here are some tools in Puppy to aid Tcl/Tk programming:
tkcon This is a console, like rxvt terminal emulator, and in fact capable of doing much the same as rxvt, but with special features to aid Tcl/Tk programming
www.tcl.tk/advocacy/top10.html Top 10 reasons to choose Tcl
www.tldp.org/HOWTO/Scripting-GUI-TclTk Scripting graphical commands with Tcl/Tk: mini HOWTO
mini.net/tcl/540.html Is Tcl different!
mini.net/tcl/3222 Tcl/Tk is too easy
rsusu1.rnd.runnet.ru/graphics/tcl/tcl-faq comp.lang.tcl newsgroup FAQ
wiki.tcl.tk/969 Arts and crafts of Tcl-Tk programming
hegel.ittc.ukans.edu/topics/tcltk/ Online docs
www.beedub.com/book/ Book extracts "Practical programming in Tcl and Tk"
improvements with thanks to