Updated 2012-07-23 02:33:45 by RLE
What:Puppy Linux
Description:Yet another one of the gazillion Linux distros available.
At one time contained MUT - a Tcl/Tk application that detects and mounts devices.
All Tcl applications have been removed from the standard distribution as of v4.00 [1]
Current version:4.3.0 [2]
Contact:Barry Kauler <mailto:bkauler@goosee.com>

Remarkable for two reasons:

  • it is very small (100 Mb or so) and otherwise desirable [3];
  • the creator is very fond of Tcl. About half of the bundled applications were written in Tcl/Tk in early versions, but Tcl has now been dropped.


  • It boots and runs off its installation CD, like Knoppix.
  • Very easy to try. Designed to fit on a business card size CD and easy to install to a USB pen drive or Zip disk.
  • Runs entirely in RAM, so it's fast, and releases the CD drive for other use.
  • It can be rejigged to run on low-spec. PCs (586, 32RAM; 128MB recommended).

NEM: There doesn't seem to be any mention of Tcl or Tk on the website. Is it just not advertised?

LES: I tried an old version, 0.8 I think. Many of the applications and scripts are Tcl/Tk. This version even has specTcl and visual Tcl. These were removed in the newest releases, but snack got in. Open the 2004 "news" page [4] and look for "20Jun04". Also, check the developers' page [5] and look for "guiding philosophy". The author states: "applications ... must be written in Tcl/Tk, C or C++".

AET 11feb05 A remarkable little distro. I easily got it working in Windows XP by downloading one of the .iso's and booting it in qemu [6]. My first look at both Puppy and qemu. Reportedly very easy to rebuild, so a 'roll your own' version with lotsa Tcl goodies is viable. Puppy can use a USB stick or other device for a persistent /home.

AET 13jul05 Latest Puppy boasts a very usable combination of OS and software with lots of good, down-to-earth help. New project allows Puppy to reside on a Multi-Session CD, and /home is saved to CD when you finish. Needs a CD writer, naturally, but no hard disk or memory stick. You can remove the CD and only replace it when you close a session. Even has its own package manager (written in Tcl/Tk) which effortlessy installs a growing number of user-supplied software packages, and perports to install other packages. A new package manager in Tcl/Tk is in the pipeline.

I think that Puppy has a lot in common with StarKits; Simple deployment, and endless configuration possibilities.

LV I always thought that Puppy should make a lot of use of starkits - distribute each tcl extension in a starkit, then have the apps mount it. With Tcl module support, this should be easy.

RJ I've been using it since v1.04 (now up to 1.07). It's a remarkably stable little linux. The package manager, dotpup and putget, really simplify the task of adding apps. I started using the multisession DVD and had a lot of luck with it. I changed to LiveCD using the pup001 file on XP NTFS as a home because it began taking too long to boot up. Multisession CD or DVD allocates a new track each time you shutdown to save changed files and settings and it began chugging through those tracks, after about a 100 or so became too cumbersome to wait.

I installed ActiveTcl (native mode) for linux on Puppy - not a glitch. If you want to test cross platform, there is no reason not to burn a LiveCD of Puppy for testing on Linux. It's downside is that it's native shell is bash/ash. I think it is to keep the kernal small enough to fit in old computer's RAM. They allow multiple Window Managers - fwvm95 is in the base software, JWM is default in 1.07, IceWM is offered as a dotpup package (and some others). I am going to give Whim window manager a shot now that I am up to 8.4.12 with ActiveTCL. Let you know how it turns out. Did I mention that I like Puppy?

escargo 14 Jul 2005 - For a recent review of Puppy Linux: [7].

CJL - It also gets a positive (but fairly superficial) mention in the current Linux Journal - http://www.linuxjournal.com/issue/136. The article is at http://www.linuxjournal.com/article/8302 (non-subscribers will have to wait a month or two to see the full article)

Tcl/Tk-Applications in puppy:

  • tkconvert-1.3
  • tkdvd-3.9.0
  • tkfont-1.1patched
  • tkgamma-1.0
  • tkhtml-2.0
  • tkmasqdialer-1.12
  • tkmines-1999
  • tkvnc-2003
  • tkworld-1.4.0
  • tkzip-1.1.5
  • ColorExplorer-1.1

LV I had to mark at least 3 URLs as questionable today - attempted to get to them, got 404's and worse...

Puppy no longer uses Tcl. The applications above have all been replaced by Gtk ones.

D. McC 2008 Nov 29 (REVISED 2009 Jan 4): But it's really easy to create a custom variant of Puppy that does use Tcl. I've done it myself, and I'm planning to release an .iso of the custom variant ("Pa Penguin's Pup") for distribution after I get done finishing up the 2009 versions of my "WISH" apps.

It's even easier to install Tcl as an add-on to Puppy. See, for example: http://www.murga-linux.com/puppy/viewtopic.php?search_id=86584510&t=36887 .

GraemeP: That still leaves Puppy no more Tcl relevant or friendly than any other distro. Tcl is in most repos.

D. McC 2009 Jan 8: True, as to the standard version of Puppy; not true, as to custom variants that (as I said) are really easy to create. In fact, Puppy is designed to make it (almost) as easy as possible to create them. I'm working on a couple of bits of software (in Tcl, of course) that will make it even easier.

JMN 2009-01 There seems to be some strange Tcl/Tk law at work here. Something like, 'Any project built only partly on Tcl, will drop Tcl once the project is sufficiently popular.' To me that says Tcl is a great prototyping tool - but also that the developers have no particular loyalty to it and cave in to the growling Tcl-misunderstanding masses.

Some other projects that appear to have dropped Tcl include Cyrus-IMAP (tools changed to perl), The commercial system Vignette which moved to Java, The GRASS gui (gis system)...

I guess some churn amongst languages is natural anyway - just due to developer preferences etc, but it's disappointing to see how often Tcl is dropped.

LV In my experience, generally Tcl/Tk is dropped once enough users are added that they begin to complain that the Tcl/Tk programs don't look and act like the KDE/GNOME/some other common X distribution of applications that they like.

RLH I would agree with that. I also think Gnocl is a good answer to that complaint at least where GTk+ is prevalent.

escargo 06 Jan 2009 - I've wondered whether gnocl might not work in the context of Puppy. The widgets would be the Gtk ones, but Tcl could still be used under the covers.

D. McC 2009 Jan 7: I've looked into it a bit, and I'm pretty sure it would work, but at this point gnocl doesn't seem to give you all the functionality of the standard Tk and Ttk widgets.

ZB The point is, whether (or not) is really that functionality used/needed in its entity when we're talking about the tools in (former versions) of Puppy Linux? I don't think so; most probably gnocl's functionality would be more than enough.

D. McC 2009 Mar 31: Well, now we'll be able to see. I'm pleased to announce (only a few days after the event) that Puppy Linux 4.2, featuring (among other things) Tcl and Tk 8.5.6 and gnocl 0.9.92, has been released! It seems to be generating quite a bit of interest, at least to judge from Puppy's top-5 ratings on DistroWatch (http://www.distrowatch.com) in the last seven days, for what those are worth (if anything).

Puppy 4.2 even includes two gnocl scripts I wrote: Remaster Express ("RemaX"), under the Setup menu, for custom Puppy live-CD remastering, and a rewrite of the little "mtPaint-snapshot" screenshot-taking script, under the Graphic menu. Any Tcl'ers who would like to show how much Tcl can do with little lightweight scripts (much favored by Puppy developers trying hard to cram the most value into the least space) are more than welcome to contribute add-on packages (details about how to contribute them available on request).

To try out Puppy 4.2, just download the ISO from the Puppy repository (ftp://distro.ibiblio.org/pub/linux/distributions/puppylinux/puppy-4.2-k2.6.25.16-seamonkey.iso) and burn it to a CD; then boot from the CD, follow the few simple instructions to set up mouse, keyboard, and video display, and wait a few seconds for the Puppy desktop to appear. Here's mine, slightly modified from the default and running IceWM rather than the default JWM window manager, but it will give you the basic idea:

Any questions can be raised either on this page, or in the Puppy Linux Discussion Forum (http://www.murga-linux.com/puppy/).