Linux section


hits on this site since October 22nd 1999
Last update on February 21st 2000

Take me
to tkwget
Take me
to book's references


I'll begin this new Linux section with my first non trivial application, written in tcl/tk: tkwget.

Many powerful programs for Linux are available only in the command-line version. This is good, since you can interact with your shell environment in a straightforward manner.
Anyway, when you don't want to type that much you may find useful to have all the command line options available from a simple GUI, that replaces typing with pressing buttons and filling entries.

My first experiment is a front-end to "wget", a powerful program to download files via FTP or HTTP, offering a whole bunch of useful options.


Tkwget is written in tcl/tk, the scripting language invented by John Ousterhout.
Tkwget lets you select from a simple GUI all the options available in wget.

Moreover, tkwget has the multi-session feature: from the main window, you may launch as many download sessions as you need and monitor the activities from a separate log window.

As of version 0.3, the URL history feature: the list of the most recent URL allows the user to resume an old download selecting it from the history (see screenshot 3).

Oh, tkwget is GPL.


Click below to preview two screenshot samples.
Screenshot 1
Screenshot 2
Screenshot 3


The version of the required packages is purely indicative. Older versions may work as well but this was not tested.
All the required packages are widely available in the Net and they're likely already installed in your system. I give some quick links below.

tcl/tk v.8.0 or newer:
Check Scriptics .

tclX extension:
tclX is a set of extensions to make it more suitable for common Unix programming tasks.
Take a look at Neosoft or download the rpm package.
Tclx is needed by tkwget in order to use the "wait" command (see the README file in the tkwget tarball).

wget 1.53 or newer:
Download it here in tar.gz format.
If you need the rpm package, click here.

X-auth management:
If you write a tk application that uses the "send" command, tk will complain that your display is insecure if it's not managed by x-auth.
In tkwget any download session is managed by a subprocess spawned by the main script.
Before exiting, the subprocess invokes a function in the main script using "send", passing it its PID. This function makes the main script waiting for the child process to terminate. After invoking the external function, the subprocess exits.
This avoids the subprocess turning into a zombie.
More information can be found in the README file included in the package.
Having your X display managed by x-auth is very simple to obtain. I configured my X display following the indications available in the mini-HOWTO: Remote-X-Apps mini-HOWTO section 6.2.
See also: What to do when Tk says your display is insecure by Kevin Kenny.
Now tkwget works as I want and my X system is secured.


Current version is 0.3 .
Tkwget is available as in .tar.gz format. I plan to release an rpm package soon, well at least within March 2000, I swear.
The tar ball include the following files:


Size is 21132 bytes in compressed form.
Click here to download.


I would appreciate if you repay my little efforts by leaving a message on my
GuestBook .
Thank you very much.

Have fun!

Book's References

In Association with

If you want to learn more about Linux and his wonders, maybe you'll find useful some of the books I suggest below.
This review is made in association with
Just in case you'd like to purchase one of the items, just click on the book's cover image.

Running Linux - Welsh & Kaufman Running Linux, by Matt Welsh and Lar Kaufman - O'Reilly.
This book was and keeps on being for me an important reference as regards any question about the Linux Operating System.
A large range of topics is covered: installation and setup (distribution independent), overview of Unix basic commands, system administration, X (with deep insight of the details of X configuration), tools for formatting and printing, programming languages (quick overview of C,C++,Perl,Tcl/Tk), develpement tools (Makefile, GNU debugger), network setup.
Clear and accurate explanation is the distinctive sign of this valuable manual.
I would have liked some subjects such as bash programming and Perl, treated more widely, but I suggest this book to every primer and even to the more advanced Linux user.
Tcl and the Tk Toolkit, by John K. Ousterhout - Addison Wesley
One word for all: John Ousterhout is the inventor of Tcl/Tk.
The author leads you into the progressive understanding of every aspect of Tcl/Tk providing many examples and showing all the common tricks.
Four parts compose the volume: The Tcl language, Writing Scripts for Tk, Writing Tcl application in C, Tk's C interfaces.
A must have for every Tcl/Tk programmer wannabe.
Tcl and the Tk Toolkit - Ousterhout

Take me
Back to the Top

Take me
back to Dark Star Resort Home Page