Puppy FAQ

Many thanks for your patience with my learning curve. This is a geat community, supporting an elegant Linux distro. *

You may find the answer to a question by doing a search of the Puppy Discussion Forum or the Wiki. The Wiki also has a FAQ page: HowToUsePuppy
I have extracted just a few common questions and answers to this page.
Page partially updated: 24 Aug 2007.

Q: New user

I have just burnt Puppy (to CD) and booted him. Could you advise what I should do next to properly learn how to setup, configure and get the best out of Puppy?


I recommend two things: explore the menu and find out what is there, and go to "Menu -> Help" in the menu (see "Menu" button bottom-left of screen) and read through the HOWTO documents.
Many people assume that there won't be much documentation built-in to Puppy, especially if they have used any of the other 50 - 70M tiny live-CD distros. However, Puppy has almost 3M of HTML and text documentation files, available via the Help menu item and also by the traditional "man" command.
The HOWTO documents are particularly helpful to steer you in the right direction -- for example, although setting up an Internet connection is simple, it is helpful to read about it first. Ditto for setting up CD/DVD burning.

If you can't find out how to do something, and wireless networking comes to mind, go to the Wiki or search the Forum. Puppy enthusiasts are contributing vast amounts of information to the Wiki and Forum daily. As a last resort, ask a question on the Forum.

Wiki URL: http://www.puppylinux.org/wikka/
Main Forum: http://www.murga-linux.com/puppy/

Q: How do I save my personal files and settings?


The very first time that you boot Puppy from live-CD, all of the Puppy files will load off the CD into RAM and Puppy will run totally in RAM. When you shutdown for the first time (see Menu -> Shutdown), Puppy will ask you where you want to save your personal files and settings. Puppy will see what is available and will display a menu and you just choose what you want. It's pretty simple. You can choose to save to the hard drive, or a plug-in USB drive -- in some cases even a floppy disk.

Puppy will create a single file, named pup_save.3fs, in which to save your personal data. If this file is created on a hard drive partition, it does not interfere in any way with whatever is already on the hard drive. So, if you have Windows installed on your C: drive, no problem, Puppy can create his pup_save.3fs file on your C: drive and when you run Windows it will just be an ordinary file. In other words, it should not upset the Windows installation at all.

Q: Installing packages

Okay, I have booted the live-CD. Do I have to install Puppy to hard drive to be able to install the extra packages?


Not at all! There is absolutely no need to install Puppy to hard drive, and the majority of Puppy users just run Puppy from the live-CD. Puppy has two package installation systems, PupGet and DotPup, available from the "Setup" menu. Any package that you choose to download and install will go into Puppy's "pup_save.3fs" file, which is permanent storage on the hard drive.
I recommend that you read-up on the package management system: Package management

Note: If you have booted Puppy the very first time, you should shutdown and reboot, so that Puppy will have a pup_save.3fs file (see previous question). Then, when you run the Puppy package manager and install packages, they will be installed permanantly.

Q: NTFS partition

I have Windows XP installed on my computer, and the hard drive is partitioned with a single NTFS partition (my C: drive). When I shutdown the first time, I chose the NTFS partition to create the pup_save.3fs file (my personal storage file), but it didn't get created. Why doesn't Puppy work with NTFS?


From version 2.10, Puppy has full support for NTFS partitions. You would have this problem if using an earlier version of Puppy.

However, Puppy does have a problem if he thinks the NTFS partition has something wrong with it. This could be simply that you did not shut Windows down properly the last time that you used Windows.
Unfortunately, not-shutting-down-properly is not so uncommon with Windows -- or it may be that you just turned off the PC without going through the proper shutdown sequence!

After you have created a pup_save.3fs file, when Puppy is booted on future occassions, Puppy will search the computer for the pup_save.3fs file, and if found will then use it. However, if Windows was not shutdown previously, Puppy will be unable to access the pup_save.3fs file. So, this is an ongoing issue.

Note, this problem does not apply to Windows 95 and 98, as the VFAT filesystem is used (Windows XP can also be installed on a partition with VFAT filesystem, but the default is NTFS). Puppy should be able to fully access a VFAT partition even if Windows did not close down properly.

A technical point: Notice I use the words "partition" and "filesystem" interchangeably above. Strictly though, your C: drive is a partition of the hard drive, and NTFS is a filesystem in that partition. A filesystem is the framework for creation, manipulation and deletion of files and folders.

Q: MToolsFM

In the "File managers" menu, Puppy has "ROX Filer file manager", "MToolsFM file manager", and "Mount/unmount drives" entries. I understand with Linux that I need to "mount" a partition before it can be used, but MToolsFM does not have this requirement. Can you please clarify this?


Traditionally for Unix/Linux, yes, you have to mount a partition. So, if you plug in a USB Flash card or a floppy disk, you must mount it. Then you can use ROX Filer to browse in the mounted partition.
Puppy has two simple GUI (Graphical User Interface) applications for mounting and unmounting partitions:

However, MToolsFM accesses drives directly, without them needing to be mounted. So, plug in a USB Flash card or floppy disk, run MToolsFM, and there it is. No need to unmount it later either.

MToolsFM does have one disadvantage though; it can only access unmounted media formatted with the msdos/vfat filesystem. Well, that's what they are anyway, when you purchase them, and when you use them with Windows. So, this is not a problem.

Puppy does not have auto-mounting of removable drives when they are plugged in, but so what? With MToolsFM you don't need it.

MToolsFM automatically configures to recognise drive A: as being your floppy drive, drive B: as being either a USB flash/memory drive or a IDE Zip drive, and drive C: as being a hard drive vfat partition. Only if these exist, that is.

Q: Don't understand when to mount a partition and when not to

Okay, I see in the "Menu -> File managers -> Pmount mount/unmount drives" menu, I can mount and unmount partitions, but I'm unclear about the situation when I want to just play a music CD or video DVD.


Yes, if you are coming from a MS Windows background, this mount/unmount thing does seem to be a hassle. There are however some pretty solid reasons for having it.

Anyway, to answer the immediate question, you only have to mount a partition when you want to access it as a filesystem -- that is, you want to get in and read/write/create/delete files and folders.

When you only want to play a music CD or a video DVD, do not mount it. You are not accessing it as a filesystem. The player program will access it directly without it being mounted. Same thing when you use a CD/DVD burner program.

Q: Some major distros like Mandrake have automounting, why can't Puppy?

In Mandrake, I plugin a CD or USB drive and it is automatically recognised and mounted. Also, all my hard drive partitions are automatically mounted at bootup.


A common sentiment expressed on the Forum is that people are using Puppy as an easy way to learn about Linux. Manual control over mounting and unmounting is an important part of that learning process.
Besides, automounting can bring its own hassles, and seasoned Linux users tend to prefer having manual control over what gets mounted, when and where.

Furthermore, manual mounting and unmounting is not difficult. Puppy makes it very easy. Puppy has the Pmount program, available from the menu, "Menu -> File managers -> Mount/unmount drives".
Jesse Liley has developed MUT, our next-generation mounting tool, which makes it even easier. MUT is also in the "Menu -> File managers" menu.

In other words, Puppy keeps you in control, and this is well worth a small effort to understand what mounting/unmounting is.

Q: Window manager

Why not use "xyz" windows manager?


I get asked this question a lot. Of course you will have your favourite and would like to see that in Puppy. Understandable, but we have been through a very long process evaluating window managers and our current choices are not chosen lightly.

Officially, Puppy is supporting JWM and Fvwm95. Some Puppy enthusiasts are supporting IceWM, Xfce and one or two others.

The 'standard' live-CD has JWM. In a nutshell it is because of it's features combined with very small size and speed. However, Fvwm95 and IcwWM are available as packages. Look on the Forum and Wiki, you may be able to find Xfce and others as packages also -- but do be careful that they are documented to work with your version of Puppy.

It is easy to install packages of your choice, then remaster the CD (that is, create your own customised Puppy). Many people have done just that, and you may find a "flavour" of Puppy already made with what you want (such as Xfce).

JWM is configured for a retro Windows 95 look. Fvwm95 also has this look-and-feel. This was deliberate, to make "Windows refugees" feel at home -- particularly those who have used Windows 95 and 98 and never made it to XP. However, the 9x look and feel is only superficial, and under the hood there is heaps of power and convenient features.
Some people have told me that they were initially put off by the "Windowish" look of it, or by the "bland" appearance. Invariably though, they found the user interface to be superb after using it for awhile.

A further comment on the "bland" appearance. If you have come from XP, you will be accustomed to things fading in and out, popping up, fancy shapes for windows, sound effects. Beware though, most of this is just hype, marketting hype. Remember the old saying "all that glitters is not gold" (attributed to Shakespeare I think). Yes, the Puppy user interface is utilitarian, and proud of it!

Q: Printing problem

I ran the Printer Wizard and I can now print from Seamonkey and Abiword, but I can't print a plain text file, nor Postscript or PDF files.


Printing support in Puppy is a work-in-progress. For now, the PDQ print manager handles Postscript files only, to any kind of printer, Postscript or otherwise. Seamonkey and Abiword convert to Postscript before sending to the PDQ print manager (note, the program lpr is a link to program pdq).

Sylpheed, the email client, can also print its plain text emails, as it has been configured to call a little program, /usr/bin/lprshell, which is invoked like this:

# lprshell myfile.txt

lprshell uses Abiword in commandline mode to convert plain text or RTF files to Postscript then print via PDQ. You can also use this script directly to print any plain text or RTF file (printout has the same page layout and font that Abiword is setup for).

If you have a Postscript file, you can open the Xpdq manager and choose the file, then print it (see Utilities menu).

If you have a Postscript or PDF file, open Gsview (also known as Ghostview) from the Utilities menu (or just click on the file in Rox), choose File/Print, choose a generic Postscript printer such as "psmono", check the "Postscript printer" checkbox, the number of pages to print, then print.
Note that the print-dialog box in Gsview brings up a large list of printers, however these are not used in Puppy. These are printers supported by the Ghostscript package, however Puppy is configured to use the GIMP-Print IJS drivers and you will have already chosen a printer IJS driver when you ran the Printer Wizard (and PDQ would have been setup to use this printer as default). So, just choosing a generic Postscript printer in GSview will pass the Postscript file onto PDQ which will print to whatever is your default printer.

Q: Which small distro is better?

Is Puppy better than Damn Small Linux, Feather Linux or Austrumi (etc.).



Ha ha, there used to be quite a long answer here, in which I compared features of various tiny 50-70M distros. But, why not just own up, Puppy is better. But then, I'm the developer of Puppy, so what answer do you expect!

Seriously, "if the hat fits, wear it". Try the others, use the one you like best. Do be careful of superficial assessments though -- some reviewers are guilty of this. Use a distro for a few days, try doing all the things that you would want to use a distro for.

Yeah, and don't forget that Puppy is only 50-70M. Bear that in mind when you're comparing a 700M distro! (actually, there are many testimonials that Puppy is better than most 700M distros)

The Puppy Wiki has a page with links to reviews of Puppy. Here's a direct link to one review that I don't think is on the Wiki page: http://www.linuxpipeline.com/showArticle.jhtml?articleId=165600497.

Q: USB storage for my personal data

I am booting Puppy from the live-CD, but I don't want Puppy to keep the personal data "pup_save.3fs" file on the hard drive. I would like this file to be on a USB pen drive. Can I do this?


No problem. The first time that you shutdown Puppy, after booting from live-CD, plug-in a USB pen drive and you can save to it.

Another alternative is that you can install Puppy totally onto a USB Flash drive. In Menu -> Setup you will find an entry "Puppy Universal Installer" -- this enables you to install Puppy to many different media, including USB.
One reason for not installing Puppy totally into a Flash drive is that some PCs cannot boot from USB -- look in your PCs BIOS setup to find out if this is supported.

Q: Security concerns

I have read that it is unwise to login as "root" for normal usage, such as surfing the web. I am concerned that Puppy logs me in automatically as root and I cannot run as a non-root user. Isn't this a security weakness?


I need to flesh this answer out a bit more, but some initial comments:

  1. Every time you boot Puppy, it's almost as though you have done a fresh install, as the entire filesystem except your personal data is reinstalled from two files, initrd.gz and pup_xxx.sfs. Yes, a virus could hypothetically get into your pup_save.3fs file, but we can flush that out when doing a version upgrade or by doing a simulated version upgrade. Logging in as non-root does not prevent your personal files from getting infected.
  2. Puppy was originally intended to be a "client only" environment, which is fairly easy to make secure when surfing, even without a firewall:
    The site www.grc.com has ShieldsUp!, a product that will test the security of your computer while connected to the Internet. ShieldsUp! basically performs 3 tests: "file sharing", "common ports" and "service ports". Without the firewall running, Puppy "failed" the second two tests, as although all ports are "closed" they are not "hidden". Also, Puppy responded to ping requests. These failures are not necessarily a problem and Puppy is still secure.
    However, I then ran the "Puppy Firewall Wizard" and accepted the default totally secure mode, then rebooted. I am connected to the Internet by dialup modem and using Mozilla. ShieldsUp! now reports that my computer is totally absolutely 100% invisible. It simply doesn't exist (apart from providing its IP address and responses of the browser). All ports are in "stealth" mode, meaning Puppy doesn't respond to any probe, nor does Puppy respond to pinging.
    Qualification: My tests were with a direct connection to the Internet. If connecting via a LAN or router-modem then the ShieldsUp test will be of the LAN server or router-modem, not your PC.

  3. If servers are to be run in Puppy, it is a different story, and this is a work-in-progress.
    Puppy has a personal wiki called DidiWiki, with its own inbuilt HTTP server, so is accessed from a web browser, either locally or over a network/Internet. What we do in this case is run DidiWiki as user "spot". We can run an individual server application as a restricted non-root user, even though you yourself are still logged in as root. It is even possible to run a web browser as "spot".
Finally, if you are interesting in delving further into this running-as-root versus running-as-user security issue, you will find this thread on the Puppy Forum interesting.

Q: Clipboard

What do I need to know to use the Clipboard in Puppy?


Puppy does not have quite the same seamless clipboard integration as in MS Windows. Basically, you can transfer plain-text only between different applications, but between two windows of the same application you may be able to transfer more than plain text.

Some older Linux/Unix applications use a kind of clipboard called the "cut buffers", which are different from the clipboard. The Rxvt terminal emulator (which is Puppy's equivalent of Window's "DOS box") is one such application. However, everytime Puppy launches X (the graphics server -- that is, the program that switches the screen into graphics mode and provides an environment in which graphical applications can run), a little program called autocutsel is launched, which is what is called a daemon, that is, it runs in the background and synchronises the cut buffers and the clipboard.
What this synchronisation means for you as an end user is quite interesting: when you have an Rxvt terminal window open, if you drag the mouse pointer over any text in the window to highlight it, Rxvt places the text in a cut-buffer and then autocutsel copies it to the clipboard when the left button of the mouse is released. Therefore, you can copy any text out of an Rxvt window. You can experiment with this by running Xclipboard, which displays the contents ot the clipboard (and Xclipboard also saves previous contents of the clipboard).
Pressing the middle mouse-button (or press both buttons simultaneously if you have a 2-button mouse -- see the Mouse Wizard to set this up) can be used to paste into Rxvt.

The standard keyboard shortcuts ctrl-c (copy to clipboard), xtrl-v (paste from clipboard) and ctrl-x (cut to clipboard) work in most modern Linux applications, but you will find they don't work in some of the "older generation" applications used in Puppy, such as Rxvt.

There are a few applications that kind of live in a world of their own as far as the clipboard is concerned. Amaya for example. Amaya has its own internal clipboard system and does not use the main clipboard, or rather it does only partially.

Q: Spaces in filenames and directory names

Is it alright to have spaces in directory (folder) and file names?


In theory yes, in practice don't. There are some applications, and some scripts (including some that I wrote) that misbehave if a space is encountered in a filename or path. I know that spaces are "normal" in Windows, but it is good to get out of the habit when using Linux. Use underscores "_" or dashes "-" instead. For example, "/root/my-applications/".
After all, Internet URLs do not allow the space character, so it is consistent to have this restriction for local "URIs" (pathname/filename).

Another trap for the unwary is case. That is, "A" is different from "a" in Linux. Linux folder and filenames are case-sensitive.

While I'm thinking of traps for the Linux newbie, here's another. Say that you open a Rxvt terminal window in directory /root/ and in that directory you have an executable program that perhaps you have downloaded. let's call it "Demoexe" -- I've even given it a capital letter!
To run it, type this (where the # is the prompt, so don't type that):

# ./Demoexe

Coming from a DOS/Windows background, you might think that typing just "Demoexe" would run it, but not so. Linux will search for the file in the directories in which executables are kept, but will not look in the current directory. You have to append the "./" which is the path for current-directory.

Q: I'm getting screen flicker

The vertical refresh rate seems to be too low and the monitor has a noticeable flicker. What can I do about this?


Puppy has two X servers, the powerful Xorg and the simple and very small Xvesa Kdrive X server. The latter has many limitations, one of which is it cannot adjust the screen refresh frequency. When you run "Start -> Setup -> Xvesa Video Wizard" (which is what ran the very first time you booted Puppy), you are offered a selection of video resolutions, and there is a "MORE" button with further choices.
The Xvesa server obtains these resolutions from the video card and is able to tell the video card/chip to change to the chosen resolution, however Xvesa is not able to tell the video card what refresh rate to use. Thus, the refresh rate is whatever the video card/chip decides to use.

Now, the interesting thing is, the video card/chip may choose different screen refresh rates, depending on which resolution you choose. For example, the PC that I am using now chooses these refresh rates:

Mode Resolution

My monitor has a on-screen menu that is able to show the vertical refresh rate.
Depending on your monitor and personal tolerance level, 60Hz may be annoying. In that case, experiment with other resolutions.
I'm not certain of this, but very cheap monitors may have longer phosphor persistence so have less apparent flicker at low refresh rates.

The very first time that you boot the live-CD, you are offered a choice of using Xorg or Xvesa. The latter is very simple to setup and can get you up and running immediately. The Xorg server setup takes a bit more time to setup, but usually is straightforward. One of many advantages of Xorg is you can set the screen refresh frequency as high as your monitor can handle.

Note, older versions of Puppy and some cutdown "flavours" of Puppy may not have the Xorg server. If you are in this situation and the flicker is too annoying, move to the 'standard' Puppy, available via the Puppy download page.

Q: Why not use Firefox instead of Seamonkey?

"My suggestion would be to replace the ugly/heavy Mozilla Seamonkey suite with Firefox & Thunderbird - leaner, meaner & prettier"


This question, or some variation of it, gets asked again and again on the Forum.
Yes, Firefox web browser, Thunderbird email and news client, Sunbird Calendar, and NVU HTML editor. The Mozilla/Seamonkey suite, with all of this functionality, is about 11M compressed, whereas the separate applications are each about 8 - 11M compressed. So, the live-CD, instead of being 60M would be 85M and would be too big to run in RAM in a PC with 128M RAM.
In what way is Mozilla/Seamonkey inferior to the separate applications? IT ISN'T! Firefox, Thunderbird, etc., are forked from Mozilla source. Although they are being developed as separate projects these days, synchronisation does occur. However, some of the separate products are significantly different:

Currently, the Calendar module does not work in seamonkey. That's why we use Ical in Puppy.

NVU is way ahead of the Composer HTML editor module in Seamonkey. It is rumoured that NVU code improvements will find their way back into Seamonkey, but I don't know when.

Why are the separate applications so big compared with the Mozilla/Seamonkey suite? Simply because the Mozilla suite has a lot of common code shared by each module, whereas the separate applications have to duplicate that code. This creates a gigantic size bloat, not in the spirit of Puppy.

Note that Firefox, Thunderbird and NVU are available as PupGet packages for Puppy 2.10+.

Q: Where do I get the source code for Puppy?

Puppy is of course created from binary (compiled) packages, so where do the original source packages come from, and how are they compiled?


We need to ask a question: "what makes Puppy Puppy?" In other words, what is it that distinguishes Puppy from other distros and makes Puppy bootup fast, autodetect the hardware, save sessions and so on? The answer to this is to be found in one file, pupgetpkgs-1/0rootfs_skeleton-2.x.x.tar.gz, at this URL:

This file has the entire root filesystem, composed mostly of the scripts "that make Puppy Puppy".
You can also find all of these scripts in your running Puppy. There is also another key script in the initial ramdisk, to be found at /initrd/sbin/init in your running Puppy.

If you are interested in downloading the original source packages from which Puppy is created, URLs are given here.
However, to understand how to compile them you should first read this page.
Or, if all you want to do is compile the kernel, look at this page.

Note that the kernel configuration file used to compile the Linux kernel used in your running Puppy, is to be found at /lib/modules/. In the kernel source package this file gets renamed to '.config' -- see the above link for further instructions.

Q: How do I get involved in the Puppy project?


Please read this page: How the Puppy project is run

Q: May I release my own distro based on Puppy?


Yes. One basic request is that you choose a name for your distro that provides sufficient "product differentiation" from "Puppy", "Puppy Linux" and "PuppyOS". There is a thread on my News Blog that elaborates on this:
Some acceptable names already in use are "GrafPup", "MeanPup" and "Hacao Linux". There is even "Toutou Linux", which is the French word for "puppy".

Another request is that your project site fully acknowledge myself, Barry Kauler, as the original developer and current maintainer of Puppy and there must be a link to my website, www.puppylinux.com, or www.puppylinux.org.

Q: What are the legal details?

Can you please explain to me more clearly the copyright, trademark and any other restrictions of Puppy?


Puppy has software with a variety of licences, mostly GPL or LGPL, some closed-source (but free). The "Help" page (/usr/share/doc/index.html) in every release of Puppy has this statement:
Legal notice:
Programs in Puppy are open source (except where noted above), and licences of individual products are duly acknowledged. The name Puppy Linux", also known as "Puppy" and "PuppyOS", and all artisitic creations thereof, are copyright (c) 2003,2004,2005,2006,2007 Barry Kauler.
Very simple, use entirely at your own risk. Barry Kauler accepts no liability or responsibility whatsoever, and you use Puppy with this understanding.
The main page of the Puppy web-site, www.puppyos.com (also www.puppylinux.com) also has this:

Notice: This is a logo for Puppy, also known as Puppy Linux and PuppyOS.
It is copyright (c) Barry Kauler 2006. Permission is given to use this logo,
however it must be displayed alongside a link (or link embedded in image)
to www.puppylinux.com.

Notice: This image is my avatar, currently used on the Puppy Forum.
As it is an alias of myself, all rights are reserved.
Copyright (c) Barry Kauler 2006.

Puppy Linux
Notice: I, Barry Kauler, established the 'Puppy Linux Project' in January 2003, first website and product release 18-June-2003, and I have trademark claim to the name and typed drawing of 'Puppy Linux', 'PuppyOS' and 'Puppy' as it relates to "computer operating system software to facilitate computer use and operation", under Federal and International Common Law and Trademark Laws as appropriate.
(c) Copyright Barry Kauler, 2003,2004,2005,2006,2007. All rights reserved.
No part of this page is to be reproduced anywhere else. I have found that there is a problem where parts of my web pages are being inserted at other sites, then not updated, whereas I am updating my pages regularly. This is not a desirable situation, so please just link to my pages.
Please note that the images, names and typed drawings documented above do not have to be explicitly registered as a trademark in your country. In the USA, Federal registration is not required to establish rights in a trademark, Common law rights arise from actual use of a mark. This also applies to most other countries.
Also in most countries, a (c) Copyright statement in any document or artistic work is sufficient to reserve all rights to the owner, and the work may not be reproduced without permission of the owner.

Quick tips

* Extract from Puppy Forum.
HOME: www.puppylinux.com

Notice: This is the logo for PuppyOS. It is copyright (c) Barry Kauler 2006. Permission is given to use this logo,
however it must be displayed alongside a link (or link embedded in image) to www.puppylinux.com.
Note also, other Puppy and Puppy-derivative sites have their own distinctive logos. For examples, see
www.grafpup.com and www.puppylinux.org. These should also be used in association with their respective sites.

Copyright notice: (c) Barry Kauler 2006. No part of this page is to be reproduced anywhere else. I have found that there is a problem where parts of my web pages are being inserted at other sites, then not updated, whereas I am updating my pages regularly. This is not a desirable situation, so please just link to my pages.