Contents

Editorial



October 2017

This month I had a look at John Biles new Legacy OS 2017. It looks great but may not be suited to modern hardware. It's called Legacy OS for a reason. It's based on the 2.14 kernel which is quite old.

The first part of a beginners tale by Terry Schuster. The second part will be included in the November edition and a third in December.

This month I have included a few more CLI commands, FreeCad and a simple database in the software section. The tutorials section has a bit more information about bash.

The compiling section shows how to build pdfgrep.

First time contributor souleau provides some tips on how to align icons.

I've also included some information about radky's UrxvtControl-1.3.pet which is useful for configuring the urxvt terminal.

The regular crossword by greengeek. This one is based on Browser Wars. How well do you know your browsers?

smokey01





Distro's

The Puppy Linux Discussion Forum is the main source for a lot of the information repeated here. Where appropriate, links will be provided so you can read first hand about the distribution development. This section will likely just provide highlights as a starting point.




Legacy OS 2017

Developed by John Biles

Legacy OS 2017 is the latest instalment by John Biles. A few years back John developed an OS called TEENpup. It's history is well documented here: http://puppylinux.org/wikka/TeenPup

Eventually TEENpup developed into Legacy OS 2, another great OS. http://www.murga-linux.com/puppy/viewtopic.php?t=68499

Legacy OS 2017 has an excellent write up on the wikka here with lots of history: http://puppylinux.org/wikka/LegacyOS.

It's quite a large OS weighing in at 698Mb however, as usual it's jam packed full of goodies. I tried to download it on the day John released it but I gave up as too many other people must have had the same idea. My download speed was about 25KBps when I normally get 1.5MBps. A few days later as I type this it's now downloading at 1.5MBps.

I asked John for a bit of advice on how to install Legacy OS 2017 as a frugal install to a HDD. John told me he had never tried to install any of his creations as a frugal install as he prefers full installations. I'm not so keen on full installs as it consumes the entire partition. I prefer to do a frugal installation with a save directory. This way it behaves very similar to a full but you can contain the OS in a single directory and can also use SFS files which is a great benefit of using most Puppy Distributions.

Legacy also uses a very old kernel, 2.14 so it doesn't have some of the newer improvements of later kernels. This by no means devalues it's brilliance but it may not work on more modern hardware. My hardware is very new and so far I have not been able to install it frugally on my system. I have tested it in a virtual machine (QEMU) and everything I tested worked. It also seems to work fine booting from a DVD.

If you're interested, keep an eye on the Puppy Linux Forums.

Well done John, it looks like you have another winner.




Easy-0.4

Developed by Barry Kauler

Another interesting distro that's worth a look is Easy Linux. The author is Barry Kauler so that generally means it will be quite good.

I've had a play with it over the last couple of days and I like it. I'm not a fan of Ubuntu and they way they make their packages but it being Ubuntu compatible certainly increases the availability of software packages. Much to my surprise it can also use slackware packages in the TXZ format. Along with PET packages, it provides a lot of choice.

It's designed to be a full installation but can be installed as frugal with just a little bit of self configuration. Rather than me explaining how it works, why not get it from the horses mouth.

Announcement

Installation

Frugal Installation

How it works

I made a full installation to a 16GB USB3 Flash drive. The initial boot took a little time as the install procedure created a second partition on the USB flash drive. Subsequent boots took about 20 seconds, not bad at all.

It's quite an attractive distro but I find the background a little distracting but it's easy to change.



Software

Various software packages that may be compatible with Puppy Linux. I use the term Puppy Linux a little loosely these days as Puppy has become quite diverse.
CLI commands

Written by smokey01

CLI commands are entered in a terminal.
Create a file

Written by smokey01

It's quite easy to create a file from the command line.

Open a terminal. In the terminal type:

echo "This is the first line a the file" > /root/myfile.txt

The echo command echo's the text between the quotes and redirects it to a file called myfile.txt in /root

To add more text to the same file:

echo "This is the second line a the file" >> /root/myfile.txt

Notice the two >> instead of one >. Two greater than symbols means append. If you only use one > then it will overwrite the original file called mytext.txt.

If you want to keep the file but remove the contents you could type:

echo "" > /root/myfile.txt

or just

> /root/myfile.txt

If you want to create a file with multiple lines type the following in a terminal:

echo ' One
Two
Three
Four
Five' > /root/mytext.txt

You can use single or double quotes after echo and after the last bit of text you wish to save.

You can also append by using >> instead of one >.

grep

Written by smokey01

CLI commands are entered in a terminal.

Grep

In the past I have explained how to find files on computers with the find command. Sometimes however, you may want to find a word or phrase inside a document. Now this is quite easy if you know what document to examine. If you have a directory full of documents and you know one of them contains the information you are looking for, but the name of the document escapes you,
grep becomes very handy. A few examples will make it easier to explain:

Example 1 - Look for phrase in a known document.
grep "phrase" "filename"
It's good practice to wrap the phrase and filename in double quotes. This allows the phrase and/or filename to have spaces.
Let's assume you have a file called myfile.txt and you are looking for the words Puppy Linux inside of it.
grep "Puppy Linux" "myfile.txt". In this case the command must be run along side myfile.txt.

Example 2 - Look for a phrase in a directory full of files.
grep -ri "phrase" /path/to/file
This command will examine all documents and look for the phrase. It will show all results line by line where the phrase exists.
If the directory has a lot of large documents, be prepared to wait while it does it's thing.

Example 3 - Look inside a binary file to see if text exists/matches.
Let's take a look at a couple of boot loaders.
1. grub, and
2. grub4dos.

Grub normally can only manage splash images while grub4dos can manage both splash and gfxmenu images. gfxmenu images can have many more colours and can be much larger EG: 1024x768. Splash images are normally stuck at 640x480 with about 16 colours. If you want a better looking Boot image then go for something that can handle gfxmenu.

There is a version of legacy grub that can manage gfxmenu images. It was posted on the forum some time ago by forum member CatDude. How do you know what version of grub you have? This is where grep is useful once again.

You need to locate the grub stage2 file. Along side the stage2 file open a terminal and type:
grub gfxmenu stage2
If it is able to do gfxmenu images it will display:
Binary file stage2 matches
If nothing is displayed you have the original and not the patched version of grub.

Try it with grub4dos.
To do this you need to grep the grldr file like this:
grep gfxmenu grldr
Binary file grldr matches should be displayed.

Now try grep splash grldr
Binary file grldr matches should be displayed.

pdfgrep

Written by smokey01

Pdfgrep is a version of grep designed to work on pdf file while maintaining compatibility with grep.

Why bother with pdfgrep when grep works fine. Because pdfgrep will do some things that grep can't, with pdf files.

Have you ever tried to copy one line of text with two columns in a pdf file? You will notice that all of the text in column one will be highlighted before you can highlight the second column. Try copying line 1, column 1 and line 1, column 2 only.



Go ahead, try it. Create the above in a spread sheet then save it as a pdf file. Then try to copy just the first line of both columns.

It's just not possible or at least I haven't worked out how to do it.

It is possible to extract the data from a pdf file and redirect it to a file.

pdfgrep "C1L1|C2L1" /root/Documents/cols.pdf > file

It's unlikely that your Puppy has a copy of pdfgrep so you can build your own in the Compling section.

FreeCad

Written by smokey01

If you're into Computer Aided Drawing (CAD) then FreeCAD may be an option for you. This version was built by forum member paulski and it was built for Fatdog64-710.

This is the home page for FreeCAD.

Other version of FreeCAD can be found here.

Simple Puppy Database

Written by smokey01

Over the last two or three weeks CatDude and myself wrote a simple database. I really liked the simplicity of the fields.awk database written by Ian Forsythe. As a bit of a challenge we thought it might be nice to write something similar except using a GUI rather than a terminal. At first glance it seemed like it might be a simple process but it didn't turn out that way.

We only used about 15 lines of Ian's code of about 540 lines. So much for a simple job.

If you are interested, it can be downloaded from the Puppy Linux Forums.

Don't get too excited the word simple is in the name for a reason.




Tutorials

This month we will have look at scripting languages, in particular, bash.

There are many scripting languages and your Puppy distro is likely to have most of them. Quite often though, you may only have one and the rest are symlink to it.

Bash

Written by smokey01

There are some excellent bash tutorials on the web and I recommend reading some of them if your interested in learning bash. Whenever I need a bash solution I normally Google for an answer. Sometimes It's not easy to find the correct answer, maybe it's not there or the search terms need refining. When I really get stuck I ask some of the users on the forum. The Puppy Linux Forums have some very talented members.

One of my favourite sites I like to visit for bash help is Ryans Tutorials. Ryan Chadwick also provides many other tutorials.

If you prefer to read a book there are quite a few free ones available for download. The Bash Reference Manual - GNU.org is quite good and was release on September 2016.

Let's have a look at a simple example.

The first line in a bash script is normally the shebang. It's also known as a hashbang, pind-bang and hash-pling.

#!/bin/sh

When writing a script I find it very useful to include a lot of comments. To make a comment in a script just put a hash at the beginning.

#This is a comment

####### This is also a comment. You only need one hash but more can make it easier to read.


A useful script is a wrapper script. I'm sure it has many different names. Why do you need a wrapper script? For an application or script to run it must be in the environment path. The path is where the computer looks to find your applications and scripts. If it doesn't find it then it won't run. You may not want to put your application in the path so it needs something to direct your computer to where it's located. Many developers place their applications in /usr/local/appname where appname is the name of the folder of their script.
Although the application is not in the path, the wrapper script must be. The wrapper script will then point to the actual application so it will run.

To demonstrate how this works we need to make a wrapper script and point it at an application that's not in the path. I'm pretty sure all Puppy distributions have zigbert's wonderful pfind. The actual script we are going to run is called pfind and it's in a folder called pfind. The full path to the script is /usr/local/pfind/pfind so this is where the wrapper script need to point to. We don't want to break our system so we will call the wrapper script zigfind. Let's test the theory. Open a terminal. By default it will open in /root which is not in your path, well not usually anyway.

Using your text editor create the file below and save it as zigfind in /usr/local/bin/zigfind

#!/bin/sh #This is the shebang
cd /usr/local/pfind
#Changes into the pfind folder
pfind
#Executes the pfind script/application

Now you have to make the zigfind script executable.

I find the easiest way to do this is with Rox. Navigate to /usr/local/bin/zigfind, right mouse click on zigfind, select Permissions then release the mouse button and then left mouse click on yes. The script should have changed colour and change to bold.

Now you can open a terminal anywhere on your computer and type zigfind, press enter and pfind will open.

Puppy Tale Pt 1

A Puppy Beginners Tale (Part 1) by Terry Schuster

The aim of this article is to encourage new puppy users to engage with the Puppy suite and to provide some suggestions as to how to setup their system so that it can be made as functional as possible. In my situation I am using Tahrpup 6.0.5.

Earlier this year I was introduced to the Linux suite of operating systems, and over the months I have looked at a variety of Linux OS as to their suitability in my situation – where I use an a older machine (HP P4, 32bit, 2.2Gb, 3.3Ghz, Dual Core) for hobby purposes. Creating and using live CDs was a great option in order to explore the The Puppy Linux suite, as the CDs posed few problems in booting and were relatively easy to produce using Windows 7. One confusing issue I faced was that, in general, OS images could be in various formats – a raw CD image ( .img or .iso ) , compressed image ( .xz ) and/or an archived file ( .zip, .tar ). Extraction was necessary by using either PEAZIP or 7ZIP running under Windows, until an .img or .iso file was obtained- the .img files appeared on the desktop as an apparent photo file. Burning the ISO/image to CD was straightforward by using the supplied CD burning software and selecting the Disc Image Burning option.

I found the Puppy suite quite impressive in terms of speed on my older machine and the breadth of software available. No doubt running the OS in RAM is a game changer. Booting up in about half a minute and loading programs such as Pale Moon browser and Libre Office in a few seconds was very satisfying. I was particularly interested in the recording of music from LPs etc, and in the editing of digital photos, both of which required fast processing. However, how to set up the OS was an issue, given that whatever I chose, it might not be the best long term solution, especially as I discovered new or updated distros. Installing as a dual boot was desirable, but posed problems if I wished to install a further system or remove the incumbent. So I chose to run the desired Puppy OS(s) from a USB stick. I chose Tahrpup 6.0.5 due to its ability to source applications based on Ubuntu and that it was not a brand new Puppy Release. I used the Live CD to load Puppy on a FAT32 formatted 8Gb USB.

My first setup demonstrated a number of limitations. In particular, I found I could not increase the SaveFile size past 4Gb, due to the FAT32 filesize limitation of the formatted USB. After significant effort and research I eventually was able to format a 16Gb USB drive in ext2 format using Gparted. I then installed the Puppy ISO using Unetbootin on a Linux OS, creating a SaveFile space of at least 12Gb. The details of this are beyond the scope of this article. This arrangement has been more than adequate for the task thus far.

I also found large audio files (which tend to be 250Mb in size) were causing the system to stop and backup the RAM to the USB at awkward times. Using an old 40Gb onboard HDD to store larger files allowed the system to expand and take pressure off the RAM space. However, it took me some time to work out how to access the HDD consistently. I found that while the HDD icon appeared on the desktop after bootup, it was not able to be recognized until it was actually opened by clicking on the desktop icon. (I presume that actually mounts the drive). Finding the pathway to the drive within the filesystem or from applications was also an initial hurdle: /mnt/sdb[drive letter] !

Changing the Save Parameters stopped the OS from backing up to USB until the system was shut down, allowing for less interruption of the workflow. This was achieved by opening the Puppy Event Manager under System Menu and selecting the Save Session Tab. Then edit the Save Interval to 0, and tick the “ask to save @ shutdown” box. This gives you an option to save any changes. Note, while the apparent default choice on shutdown is “Save Session”, this will default to “Don’t Save” after 1 minute if no options are selected and as a consequence new work may be lost. Of course, work can be saved during the session by clicking on the SAVE button on the desktop.

To be Continued...

Biography

Written by smokey01

Over recent weeks I have been unsuccessful in sourcing a BIO on any of our great forum members. Many of our developers prefer to remain anonymous and just like to beaver away in the background which I fully respect.

Unless I receive a multitude of emails to retain the BIO section, I will probably drop it in future editions.
Compiling

This is a good section to discuss how to compile software. Compiling is not everyone's cup of tea but the more people that can manage it, the longer life Puppy will have.

The hardest part of compiling is the build recipe as there are so many options. I intend to include some proven recipes here.

pdfgrep



pdfgrep

Written by smokey01

This month we are going to compile pdfgrep.

Homepage Source Documentation

Download the source code and extract it to a working directory.

Make sure you have the Devx loaded.

Enter the working directory where the source files are located and open a terminal.

In the terminal type: ./configure --prefix=/usr and press enter

Then

type make and press enter

Now you can type: make install to install it into your system.

Or

Just copy the binary from the src directory to /usr/local/bin or /usr/bin

I prefer to put all additional binaries into /usr/local/bin but it's a personal choice.

If you want to make a PET or other package

Type: make DESTDIR=/root/pdfgrep-2.0.1 install

Then in the /root directory, from a terminal, type dir2pet pdfgrep-2.0.1 and follow the prompts.

A package called pdfgrep-2.0.1.pet should have been created along side of the pdfgrep-2.0.1 directory.

Scripts & Code

Written by smokey01

Beginning next month I might start a series on gtkdialog2 programming. It will be aimed at the absolute beginner level.

Last month while developing a little database I discovered a limitation in gtkdialog2 regarding variables. Did you know the maximum amount of data a variable can hold is 128k. For most things this is more than enough but when trying to assign a large data file to a variable this can cause some problems.

Rather than publish just a couple of useful scripts this month I thought it better to provide a link to many useful scripts.

http://www.tuxradar.com/content/command-line-tricks-smart-geeks

Tips & Tricks

Tips & Tricks are simple little actions you can take to make your life easier when using Puppy. You will probably know most of the tips but there are always new users that don't.
Desktop Icons

Aligning icons by souleau

You can adjust the icon grid step in ROX, so that it becomes much easier to align them.

1. Go to one of your drive icons on the desktop and right-click on one.
2. In the pop-up menu, go to 'Rox-filer', and then, go to 'options'.
3. Click on 'Pinboard' on the left side of the pop-up window.
4. Look at the bottom of the of the options area in the window to see the 'icon grid step' option. Set this to 'coarse'.

It should now be much easier to align your icons.

If you want to be able and save and/or load multiple icon arrangements, here a link to a pet made by trio that does just that.

http://murga-linux.com/puppy/viewtopic.php?t=96444&start=45

urxvt

Written by smokey01

Urxvt is the default terminal in most Puppy Distributions. By default it is normally configured to have white text on a black background. This may suit some people but I'm sure it doesn't suit everyone.

You may not be aware but urvxt is quite configurable, in other words you can make it look and behave the way you prefer. There are two ways to do this, the easy way or the hard. Let's do it the easy way.

Download radky's UrxvtControl-1.3.pet and install it. There is a menu entry under Utility.

For more information about this great little application here.

Have a look at radky's collection of PupMates. There are many and they are all very useful. In fact they are so good many of them are now included in many Puppy distributions by default.

Entertainment

The October crossword by greengeek.

Crossword

Puppy Crossword (October)
(Formatted by greengeek using the "Puzzlefast" website)

Browser Wars

Some easy clues and some slightly cryptic clues may help you to identify most of
the browsers available to us on Puppy:

(See clues below image)









Scroll further down for answers:








Useful Links

Puppy Linux Forums USA

Ibiblio repository USA

nluug repository Netherlands

Internode repository Australia

University of Crete repository Greece

aarnet repository Australia

Internet archive repository USA

Puppy Linux Tips by smokey01

Puppy Linux wikka Puppy sites

Bookmarkos provided by kerl

Search the Puppy Linux Forums

Barry Kauler's News Blog

labbe5 Report



Contributors this month

Not all of the people below have physically given me the information to publish. If I find information I will give the credit where it is due. So if you see your name on the list below please don't be alarmed or upset. You are not losing your mind.

smokey01
souleau
Terry Schuster
greengeek
Barry Kauler
radky
labbe5

Proof reading - None this month.

Newsletter Information

Display tip:
To improve the Notecase display format please press F7 then:
- Tick the "Restore last position/size" checkbox.
- Select the "Display" tab and tick "Wrap text".

Newsletter index written by 6502coder can be found here:
http://murga-linux.com/puppy/viewtopic.php?p=950064#950064

Contributions

If you have information you would like to see in the newsletter please email it to smokey01 at smokey01@internode.on.net. It must be created in Notecase otherwise it makes my job far too difficult. I don't intend doing any significant editing but I will attempt to read all of the articles and ask a couple of others to do some proof reading. If you would like to assist in proof reading please let me know on the email address above.

Notecase is very easy to learn and use. Try and keep your articles to less than 1000 words. Photos and images should be no bigger than 1024 x 768. I can always make them smaller.

The deadline for articles is the 20th of each month. Let's not worry about time zones. I know it may be the 20th in Australia and only the 19th in the USA but I can live with this. If it's more than 24 hours late with respect to Australian CST then your article may be pushed right, into the next edition. I expect proof reading to take less than a week which will provide about four days to publish at the beginning of each month.

I will upload the Newsletter to my site at http://smokey01.com/newsletters. There will be two versions. One will be an xz compressed Notecase file and the other will be a html file so it can be read in a browser.

I have changed the original naming convention to 0001-PuppyLinuxNewsletter-Jan2017.ncd.xz and 0001-PuppyLinuxNewsletter-Jan2017.html respectively. The formatting of the html is not brilliant but readable. The newsletter is intended to be downloaded and read in Notecase.

Disclaimer

The editor has the right to veto any articles that he/she considers inappropriate. A reasonable effort will be made to avoid spelling and grammatical errors however, I'm sure some may slip through. This newsletter is published by volunteers, and is free, so please be kind. Constructive criticism and positive suggestions are welcomed.

smokey01