Before You Post, Please Note...

-> Please Note: By Posting, you agree to submit the contents of your post to the Public Domain <- SEE: howto post to this blog

Monday, January 22, 2007

howto upgrade pupwin98 to 2.11

note: you can in fact get the necessary files to do this without downloading TWO 60-70mb files. pup4dos does what pupwin98 does... but i already have pupwin98 (which is puppy 1.07 so you know) and i still like it a lot. here's how to use it with dos grub (slightly different than pup4dos!) and the 2.11 files:

*assuming you don't have a puppy 2.11 cd:

you'll have to extract the files from the .iso file. in 2.11 (catch 22, but good for future versions?) this can probably be done in iso editor? in windows, 7zip can extract iso files. in puppy 1.07, .iso files can be mounted with qemu or dosbox. see the forum / wiki posts for details.

*assuming you do have a puppy 2.11 cd:

1. if you don't want the win98 screen on
startup anymore, type ECHO. > \logo.sys
in dos.

2. copy the pup_211.sfs on the cd to \

3. rename \puppy\vmlinuz to vmlinuz.1
copy the vmlinuz on the cd to \puppy

4. copy initrd.gz from the cd to \puppy

5. copy menu.lst to menu.txt
open menu.lst in a text editor:
change "image.gz" to "initrd.gz"


that should do it!

so far, the reasons i am considering upgrading my machine from 1.07 to 2.11:

* puppybasic goes from older version to 2.5 (it's a .pup too though i think)
* better hardware support (i have a usb key that didn't work with 1.07)
* the taskbar now includes icons / for show desktop / console / editor
* the taskbar now shows how much free ram (or is it ramdisk?) you have
* iso editor !!!!
* some of the control panel apps have dramatically improved
* new 2.6.x kernel

the newer version IS slightly slower than 1.07. on old hardware, it's something to consider. however, 2.11 will work on a wider variety of newer *and* older hardware... (the kernel in 1.07 may still be better for some older machines.)



ktwi: puppy 1.07 -> 2.11, probably versions of puppy 2.x prior to 2.11 also, but not 2.12 or later (haven't tried this with zdrv yet.)

thanks to: nevermore, amish

Saturday, January 20, 2007

change clock from 24hr to 12hr in jwm and fvwm95

in jwm:

1. open the /root/.jwmrc-tray using a text editor (beaver or leafpad)

2. then modify this tag ---> <Clock>minixcal</Clock>

3. to be like this: <Clock format="%I:%M %p">minixcal</Clock>


in fvwm95:

1. .fvwm95rc has a string like this *FvwmTaskBarShowDateModuleClockFormat.DATE %H:%M

2. edit that so that %H is %I instead: *FvwmTaskBarShowDateModuleClockFormat.DATE %I:%M for a 12 hour clock in FVWM95


ktwi: puppy 2.12 (probably most other puppy versions as well) with the jwm and fvwm95 window managers

thanks to: rarsa, billthefish

puppylinux: screenshot anatomy

view slightly larger
clockwise, from top right: rxvt, dillo, rox-filer, leafpad, mtpaint

rxvt: terminal window

dillo: lightweight web browser (not shown: seamonkey)

rox-filer: file manager

mtpaint: used to make this screenshot

leafpad: you will probably never find a linux app closer to (it's debatably better than) notepad

desktop: rox desktop (part of rox-filer)

taskbar (feature of joe's window manager/jwm) from left: menu button, buttons for "show desktop", rxvt, editor... pager: shows which desktop is active... buttons for each program open on the current desktop...

also on taskbar (right): volume, freememapplet (blue monitor free ramdisk or free savefile), xload (cpu usage) and clock.


ktwi: this is a screenshot of puppylinux 2.11, some of the features on the taskbar aren't available in puppy 1.x. "show desktop" doesn't work properly in version 2.13 with the newer rox-filer 2.5.

thanks to: bloodhound, amish

Wednesday, January 17, 2007

puppy 2.13 bugs and workarounds

as with ubuntu, redhat, and certainly windows, puppy doesn't always do exactly what you'd expect it to. sometimes you messed up, and sometimes puppy messed up. it may surprise some people that puppy isn't perfect, because sometimes it comes really close!

and here's a list of niggling things that should possibly, or can easily, be repaired... or at least worked with. when possible, they will be followed by tips to help you (and maybe even devs) tweak, fiddle, and improve with the least effort possible.

thanks to those that contribute, and thanks for your patience. we do it because generally, we love puppy. so here are some bugs, and other bug-like items, (and hopefully workarounds!) found in puppy 2.13. you have to find them to fix them!


"show desktop" feature in jwm incompatible with rox 2.5, button disabled

at a guess, this may mean either that the "show desktop" button on the taskbar will NOT close rox windows, or that using the "show desktop" button will hide the rox desktop icons as well. not yet tried: enabling the button, via /root/.jwmrc-tray (it's still there, but commented out) to see what happens.

if you don't use icons on the desktop, or have removed them, or you don't use rox filer for file management, this "bug" may not affect you.


ktwi: these fixes should apply to puppy 2.13, and some will likely work in other versions.

thanks to: maurelius, amish

Tuesday, January 16, 2007

puppy 2.12 bugs and workarounds

as with ubuntu, redhat, and certainly windows, puppy doesn't always do exactly what you'd expect it to. sometimes you messed up, and sometimes puppy messed up. it may surprise some people that puppy isn't perfect, because sometimes it comes really close!

and here's a list of niggling things that should possibly, or can easily, be repaired... or at least worked with. when possible, they will be followed by tips to help you (and maybe even devs) tweak, fiddle, and improve with the least effort possible.

thanks to those that contribute, and thanks for your patience. we do it because generally, we love puppy. so here are some bugs, and other bug-like items, (and hopefully workarounds!) found in puppy 2.12. you have to find them to fix them!


broken links in the help system

The help icon on the desktop leads to several (not all of them, at least) broken online and offline links, in Puppy 2.12 and likely a number of other versions.

Future workaround: alienjeff has started to compile a list of these broken links and provide a workaround when possible.

Meanwhile: all pages that do load properly offline should be available from your browser at: file:///usr/share/doc <- local link, only available within puppylinux


ktwi: these fixes should apply to puppy 2.12, and some will likely work in other versions.

thanks to: alienjeff, amish

Sunday, January 14, 2007

changing defaultbrowser or texteditor


icons on the desktop and commands like "defaultbrowser" on the command line and in scripts rely on default scripts that call the utilities (such as the web browser and text editor) to open them. the thing is, "defaultbrowser" can be changed to any browser you have installed, as can defaulttexteditor.

being able to change the defaults is very useful when for instance, you're right clicking on a text file to open it, or opening a webpage.


1a. opening the file using the terminal:


enter the following:
leafpad /usr/local/bin/defaultbrowser &

or this:
leafpad /usr/local/bin/defaulttexteditor &

making sure there is a space after "leafpad" and a space before "&"


1b. opening the file using rox:

click the "home" icon on the desktop to run rox-filer, then the up arrow (or triangle) icon in the rox toolbar to go to the / directory. click the folder icons for /usr, local, and bin, then find the icon for defaultbrowser. right click, select and "open as text"

(note that you can drag most of these icons onto the desktop.)


2. editing the file:

it will look something like this:

#!/bin/sh
exec opera "$@"

"opera" may be "mozstart" in either case, whatever you type in a terminal to start your browser, for instance:

firefox

should work here as well. so the new file will be:

#!/bin/sh
exec firefox "$@"

save the file and close the editor, and that's it!


for defaulttexteditor:

same as for the browser- the part you should change will probably be geany, beaver, or leafpad. simply replace with the name of the one you want as default, or with the name of whatever alternative you have installed.


most default... scripts work this way. just remember to leave as much of the text intact as possible, only change the part you have to.


still another way:

pizzasgood has created a utility named defaults-wizard to handle defaultscripts like these. it's available at: http://murga-linux.com/puppy/viewtopic.php?t=13429

download this, restart ice window manager or jwm from the shutdown or logoff menu, open it from the menu and click the name of the file you want to change. use the file window to locate the program you want as default.


ktwi: grafpup 104, should work in most versions of grafpup and puppy 1.x, puppy 2.x

thanks to: rarsa, amish

Saturday, January 13, 2007

the pupweb

what is the "pupweb?"

for starters, there is a site at http://pupweb.org providing a convenient "one-stop" url for the biggest sites related to puppylinux.

if the term were to be borrowed from there, it could be applied to all puppylinux sites collectively. and why not?

assuming that has already taken place, the "pupweb" is the collective of all sites related to puppylinux. some have software, some have documentation, some have distros and patches, and some have other things, such as "pawedcasts" - which are soundfiles you can download and listen to, similar (similar enough) to the radio.

if you have a site with puppylinux content, even a single page, please do feel free to post it in a comment below. reviews of puppy are also welcome.

each section below will link to as many sites as possible, and ideally, most sections will have a page on this blog that goes into more detail about each one. for instance: "distros" will attempt to link to all pages that mirror puppy distros, but it would be nice to have a page that even links to images on those mirrors and/or describes the different ones available.


distros** (and mirrors)
http://puppyos.com (the site of puppy creator barry kauler)
http://puppyfiles.org/isos/ (home to muppy and barelypup 2.13)
ftp://ibiblio.org/pub/linux/distributions/puppylinux/ (main downloads)

forums
http://pupweb.org | http://murga-linux.com/puppy

documentation
http://pupweb.org
puppy linux documentation project: http://puppylinux.org/docs
official wiki: http://www.puppylinux.org/wikka
rhino's video tuts: http://rhinoweb.us
klh's stickwiki: http://www.GreenvilleRoad.com/PuppyGuide-1.html
lobster's docs: http://tmxxine.com/pm and wiki: http://tmxxine.com/Wikka/wikka.php?wakka=PuppyLinux
deutsches handbuch durch oli: (also in english) http://puppy-linux.info
howto section of murga's forum: http://murga-linux.com/puppy/index.php?f=4

software
(packages, other downloads)
http://pupweb.org

pawedcasts
http://dotpups.de/podcasts
http://puppylinux.org/wikka/PawCasting

** it's worth noting that "distros" (plural) is being used here to describe multiple versions of puppy, and things based on puppy... some may be "distros" in their own right, and others only in a loose sense of the word, but if it's a version of puppy or based on puppy, or mirrors puppy iso's, it can be listed here.


ktwi: applies to all versions at different times

thanks to: ndujoe, lobstered, alienjeff, amish

Friday, January 12, 2007

bash howto for dos lovers

the following is aimed at dos users that are not already extremely comfortable with the command line interface (cli) in linux, and also may be useful to linux users that aren't already extremely comfortable with the dos cli, and should be useful without or in xwin.


attrib

examples:
attrib *.*
# shows attributes of all files a h r s (archive hidden readonly system)
attrib *.txt +a
# set all txt files to have archive attribute (*.* applies only to current folder)
attrib *.* -a -h -r -s
# remove all attributes from all files
# (if you cant change attributes in dos the file is locked, or, remove -a -h -r -s at once)

in linux:
chmod
(and/or)
chattr
(and/or)
chown
examples:
chmod 777 hello.sh
# makes it so everyone can read, write, or run a file (as an executable)
# for executable files (binary and scripts) chmod 755 hello.sh is better
# chattr changes some attributes of files (somehow...)
# chown changes the owner of the file


cls

examples:
cls
# clears the screen

in linux:
#where is it? cls? clear? clr? home? cl?
#here it is:
reset
# does the whole scrolly bit over, like closing rxvt and reopening it (that part applies more to xwin of course)


copy

examples:
copy hello.txt hello.bak
# makes a backup of hello.txt
copy a:\*.txt c:\hello
# copies all files ending in .txt in a:\ to a folder called hello on the c: drive, but does not work unless folder exists
# usually, and used from the console, copy will ask before overwriting an existing file. not usually from a script

in linux:
cp hello.txt hello.bak
# same as dos example
cp /mnt/floppy/*.txt /mnt/home/hello
# assumes floppy and c: drive are at the above mount points. will create folder called hello if it doesn't exist
# cp does not ask before overwriting. using cp -i instead of just cp will force interaction (not overwrite without asking)


cd (or) chdir

examples:
a:
cd \
# changes to a drive and folder \
cd ..
# changes to parent folder
cd \hello\there
# changes to hello\there folder from \
cd there
# changes to there from current folder
cd
# displays current folder

in linux:
# virtually the same. in dos, cd/ and cd.. are okay, in linux the space is required: cd / and cd ..
# you have to use cd (instead of chdir)
# cd (nothing else) does not show the current folder in linux. pwd (print working directory) is used instead.
# to change to the "a:" drive in linux (from the gui)
# run mut from xwin (or click the drives icon) and click [scan] on fd0
# click [mount]
# from the console:
cd /mnt/floppy
# when done: click [unmount]
# click [noscan]
# you could also learn how to use mount from the console (sorry, not included in this howto)
# mut is so great, someone should make a console version that uses keys like a b c d e f g h (buttons, not driveletters!)
# (maybe barry or mu or i will make a console version someday? don't know what it entails)


del (or) delete (or) erase

examples
del *.*
del .
# (either one) deletes all files in a folder
del *.txt
# deletes all files ending in .txt
del hello.txt
# deletes hello.txt

in linux:
# be careful with * wildcards!
# if you are going to use a wildcard, use "ls [wildcards]" instead of "rm [wildcards]" to see what may be deleted...
rm *
# deletes files; if someone randomly tells you to type rm -f * or something like that, kick him. hard...
rm *txt
# deletes files ending in txt
# -r is recursive (recursion in dos and linux are not exactly the same, that's why you don't see more notes on it here)


dir

dir *.txt
# list all txt files
dir *.txt /b /a > list.txt
# list all txt files even if they are hidden. /b says just show filenames... send output to list.txt
dir /w
# show files in a multicolumn layout
dir c:\*at* /a /s
# show all files in all folders in the c drive, if the filename contains "at"
dir /?
# show more info on dir. works on many dos commands

in linux:
ls *.txt
# same as in dos, but if there is a folder called something.txt it will show that folder too, etc.
ls *.txt -1 -a > list.txt
# include "hidden" files that start with . (yeah they are hidden) in one column... send output to list.txt
ls
# this is more like dir /w
ls -l
# that's an l like in "linux" not to be confused with -1 (one) from the other example. this outputs more like dir
ls /*at* -a
# show all files containing "at" in the name, but only in the / folder, and any folders recursed that also include "at"
ls --help
# show more info on ls. works on many linux commands
# here's a really good one, thanks to jcoder24 for it:
find / -depth -name *at*
# this is much closer to dir /s /b in dos, and in xwin try it with: | leafpad &


exit

examples:
exit
# closes the console in windows

in linux:
# it's the same, but will close the apps opened from the console too.
# the way around this is to append any command with & for instance:
leafpad hello.txt &
# now hit enter a couple times (or wait a minute)
exit
# right. also, if you click [X] on the window, the & is moot... it closes apps even if they were run with &


echo

examples:
echo
# display if "echo" is on or off
echo.
# echo a blank line (useful in scripts to look nice)
echo cd \ > hello.bat
echo dir *.txt >> hello.bat
# this creates a script called hello.bat that changes to the \ folder and shows the .txt files there.
# > writes to a file (overwrite / create new)
# >> apppends to a file (append / create if not existing)
# to run the script, enter:
hello
# you can type hello.bat but the suffix is required in the name

in linux:
echo
# blank line, same as echo. in dos
echo cd / > hello.sh
echo ls *.txt >> hello.sh
chmod 755 hello.sh
# creates the same script as above and makes the script executable
# to run the script, enter:
./hello.sh
# you must type .sh at the end if it's part if the name, but you don't have to name it that way


fc

examples:
fc hello.txt hello.bak
# show the differences between the two files, if any
fc /b hello.exe hello2.exe
# do a binary comparison of files (shows differences in hex, if any)

in linux:
diff hello.txt hello.bak
# basically the same idea. for binary files, you can try just using diff
# also, you can try this:
md5sum hello
md5sum hello2

usually when two files are different, the single-line md5sum is different. file integrity checking is often done this way


move

examples:
move *.txt a:\hey
# move all .txt files to a:\hey
move hellofolder hello2folder
# rename a folder

in linux:
mv *.txt /mnt/floppy/hey
# same as above, assumes mountpoint at /mnt/floppy
mv hellofolder hello2folder
# rename a folder


md (or) mkdir

examples:
md hello
# create folder named "hello"
mkdir hello
# same thing
md /mnt/home/hello
# create "hello" folder in /mnt/home
mkdir /mnt/home/hello
# same thing

in linux:
# you have to use mkdir (instead of md)


ren (or) rename

examples:
ren hello.txt hello.bak
#rename the file to...

in linux:
mv hello.txt hello.bak


rd (or) rmdir

examples:
rd thisisafolder

in linux:
rm -r thisisafolder
# dos won't usually let you remove a folder that has files in it
# linux usually will


rem

examples:
rem hey look, this does nothing!

in linux:
# this usually does nothing!
# however, the following is used to identify a bash script:
#!/bin/sh
# the following is used to identify a puppybasic script:
#!/usr/bin/wxbasicscript
# you get the idea. technically, it STILL does nothing... but it does, however, change how a script is interpreted
# (or how a file is identified)
# all bash scripts should really start that way you know:
#!/bin/sh
# but my creation of a script using echo without that header still worked


start

examples:
start notepad
start http://pupweb.org
#this is really a windows thing... but a command preceded by "start" sometimes works when it ohterwise would not
start cmd /c dir | more
# opens a new console, runs dir and pipes to more

in linux:
# exec is somewhat, but not exactly, like start. xwin does not need to be running to use it.
# sometimes preceding a command with exec helps in .rc files when you want to run a command
# to open a website, use defaultbrowser:
defaultbrowser http://pupweb.org
# to open a new console:
rxvt &
# to run a command in a new console:
rxvt -e ls | more
# opens a new console, runs dir and pipes to more


time

examples:
time
# shows/sets current time
time 00:00:00
# sets time to midnight
# to do the same with the date:
date

in linux:
date
# shows the time (it also shows the date)


type

examples:
type hello.txt
# displays a text file
type hello.txt | more
# displays a text file with more
more hello.txt
# same as the previous example

in linux:
more hello.txt
# same as dos
less hello.txt
# "less is more" Razz less lets you scroll... (caveat, i forget how to make it stop)
more hello.txt | leafpad
# that one is fun, try with ls or find (does not work with mp)
# this seems to work:
more hello.txt | less
# the idea being more useful with things like ls and find since leafpad isnt available when xwin isn't
# if you don't love any of those, try using cat for type:
cat hello.txt


questions? other tips? ideas? (corrections?) reply!

notes:
want to wiki? lobster made a wiki page and wants to know how it can be better formatted: http://puppylinux.org/wikka/DosCli

gn2 suggests this alternative bash<->dos page: http://www.yolinux.com/TUTORIALS/unix_for_dos_users.html

also, there is a really amazing page on this subject at the linux doc project: http://tldp.org


KTWI: most of these were tried in puppy 2.11 and most should work in 1.07, nohup is available in puppy 2.12 and later.

thanks to: lobster, dougal, gn2, "chandlerman", amish

howto post to this blog

firstly, please note that anything you submit to this blog is Public Domain and can be used and edited by anyone, even in a commercial project (but also in any free project.) this is easier than using for instance, the gnu fdl license, as not all the projects that benefit from this blog use that license. you can still use content from here, in gnu fdl content.

there are several ways you can post or contribute to this blog:

use the comment feature:

1. suggest a change- this is like a wiki, except you don't have to edit wiki code. all suggestions will be taken seriously, but not all suggestions will be followed. compare to wiki where no suggestions are taken seriously, and many changes are reverted. eh... wiki is good, no- great, but only if you're "in."

unless there is an important reason to remove them, suggestions will be left in place as comments even if they are not used, and they will be removed if they are incorporated into the main post.

2. comment with a url- please note that spam will be treated as spam, and (due to human imperfection and mistakes that are otherwise regretfully made) sometimes even a good url will be treated as spam :) but do feel Quite Free to post a url. if it is yours, say so and the contents will be added to the blog. otherwise, we will consider writing a blog entry ABOUT the url and its contents.

3. write a whole entry! we want to add entries to this blog. at this writing, it's unknown (by the author) how long a comment you can write. don't be bashful.

use murga's forum:

as of this writing, only one post on murga's puppylinux forum contains the string "**docme" - add this to the end of your post on the forum, and your post will be (manually) added here. it's that simple! also, if you add "**docme" to a comment on the forum, about a post you didn't write, it's just like "comment with a url" (above.) PLEASE DO NOT spam murga's forum with a post that says "docme" and contains nothing else, we're not advocating that sort of clutter.

two more things to consider:

1. (in theory) credits go to the contributers of each post- we will do our utmost (which may prove imperfect) to thank everyone involved in each post, at the bottom of each post. "thanks to:" also serves as an "i wrote this" signature:

thanks to: amish, everyone that participates *

*an example "thanks to" line.

2. ktwi: (known to work in...) if you know the version of puppy 1.07 / puppy 2.11 / grafpup 104 / muppy 006 etc, include it. many things here will work across many versions, but it's great to
note what version you are writing about :)


thanks to: amish, and You!

another documentation project? :(

**another** documentation project? not necessarily, more like another way to contribute to them.

this blog was setup as an idiot-friendly* :) means of contributing and organizing (and searching for) documentation for puppylinux (and derivatives...)

* in this case, the term "idiot" is used to mean: "someone that may not be stupid, but can't be bothered with the technical work of maintaining html, wikis, etc. - similar to the line of books."

all posts may be copied elsewhere, used in your own documentation, and so on. as a result, we must ask you not to post content unless it is your writing- or unless it is already public domain. the exception being url's (web links) to pages on the net, or posts on murga's puppy forum, that you would like to see documented here. you can link to anything, as a request that it be written about.

of course this is all volunteer work, and, we can't and will not be held responsible for what you do with your machine or anyone else's.

to add something, or suggest a change, simply use the comment feature. no special formatting is required, but any special formatting will be considered. don't be shy, either- please feel welcome to donate your posts to our cause, and thanks in advance.

lastly, credits go to the contributers of each post- we will do our utmost (which may prove imperfect) to thank everyone involved in each post, at the bottom of each post, and it is at least recommended that those using this resource do the same.

also, if posssible, consider the "KTWI" (known to work in) notes... if you know the version of puppy 1.07 / puppy 2.11 / grafpup 104 / muppy 006 etc, include it. many things here will work across many versions, but it's great to note what version you are writing about :)


thanks again, and HTH!

- amish