The linux tcl and
Most modern distribution include Tcl and Tk. Rpm and deb packages with precompiled binaries are avalaible for Red Hat, SuSE and Debian distributions (that’ll make installation easier).
A modern distribution standard installation will include Tcl/Tk as it is needed by many configuration tools running mainly under X.
Tcl and Tk are distributed freely in source form via the Internet. There are no restrictions on their use and no licenses or royalties are needed (see the license.terms section for complete information).
Many more Tcl/Tk scripts and extensions are also available freely.
The Tcl/Tk core consists of the Tcl and Tk libraries, plus the wish and tclsh applications, associated documentation, script libraries, and demonstrat ive applications. The primary FTP site for this information is ftp.scriptics.com/pub/tcl/.
Unless already available for your Distribution in proprietary packages you’ll want to download the source release. You’ll need both Tcl and Tk source s. This procedure refers to the second case.
Choose between compressed tar and gzipped tar format.
Tcl sources (tcl8.0.3.tar.Z): compressed tar file (about 2.4 Mbytes). Tk sources (tk8.0.3.tar.Z): compressed tar file (about 3.3 Mbytes).
Tcl sources (tcl8.0.3.tar.gz): gzipped tar file (about 1.5 Mbytes). Tk sources (tk8.0.3.tar.gz): gzip’ed tar file (about 2.1 Mbytes).
When you retrieve one of these files, you will get a compressed tar file with a name like tcl8.0.3.tar.gz or tcl8.0.3.tar.Z. The files are identical except for the technique used to compress them (.gz files are generally smalle r than .Z files).
To unpack the distribution, invoke shell commands like the following, depending on which version of the release you retrieved:
Each of these commands will create a directory named tcl8.0.3, which includes the sources for all platforms, documentation, and the script library for Tcl 8.0. To compile and install the distribution, follow the instructions in the README file in the distribution directory. Be sure to compile Tcl before Tk, since Tk depends on information in Tcl.
There are many other freely available packages for Tcl and Tk, including both scripts written in Tcl and extensions written in C or C++. These packages include database applications and network access, a graphical user interface builder, the expect program, additional Tk widgets, and dozens of other things . The primary site for the Tcl/Tk archive is ftp.neosoft.com/pub/tcl.
Several other sites around the world mirror the whole or part of the material from the core site and the contributed archive; you may find more useful to retrieve information from a mirror site that is close to you.
Ftp file «0_mirror» at: ftp.scriptics.com/pub/tcl/ for a list of the mirror sites in your country.
Always refer to newer recommended version in section «Tcl/Tk Core» of the
At the time of this writing, recommended releases are the latest (Tcl 8.0.3 and Tk 8.0.3), which were released in September, 1998. Tcl 8.0 contains a new bytecode compiler that can speed up execution by a factor of 2-10x. It also provides namespaces, binary I/O, and several other new features.
Tk 8.0 is the first release to provide native look and feel on Macintoshes and PCs. Tk 8.0 also supports application embedding and has a new portable font mechanism. Both Tcl 8.0 and Tk 8.0 provide additional features in the Safe-Tcl security model.
Use comp.lang.tcl for public communicati ons.
The alternative would be to send problems, suggestions, new ideas, etc. directly to the author. Email to John Ousterhout will reach the author of Tcl and Tk.
When reporting problems or bugs, be sure to mention all the details needed for a correct diagnosis. Basically you will have to describe what hardware, operating system and version of Tcl/Tk you are using, if you have made any modification or add on and provide, if possible, either a small piece of code, or a URL to some code which demonstrates the problem.
If you have software from which you think the community might benefit (either a program, function, extension, or simple example), or you have a document, magazine or journal article, thesis, project, or even commercial advertisement , be sure to let the appropriate guys know.
There are FAQ maintainers for each of these areas as well as a comp.lang.tcl.announce newsgroup you can use.
It is always worthwhile to submit your contributions directly to the ftp site so more folk in the future can benefitthanks to your experience.
To make announcements to the comp.lang.tcl.announce newsgroup, send email with the details to tcl-announce. Also, feel free to just point folk at your own ftp site or WWW site if you have one which can be used . Next Previous Contents
The linux tcl and
This is the Linux Tcl and Tk HOWTO. It is intended as a Linux reference covering everything you should know concerning installation, configuration and an introduction to development under Tcl and Tk. History and some pros and cons about Tcl and Tk under Linux are analized, and references are given to many other sources of information on a variety of topics related to this simple but powerful scripting language.
If you ever rebuilt your Linux kernel inside X using the command
you surely managed to face the strenght of this simple but powerful scripting language.
After executing the first step of kernel rebuilding, a script called kconfig.tk is executed via wish (the Tcl intepreter). The Linux Kernel Configuration wind ow appears. Instead of answering a series of questions, this X-based configuratio n utility allows you to use checkboxes to select which kernel options you want to enable.
The system stores your last configuration options so that every time you run it, you need only to add or remove some checks and you don’t need to reent er the whole set of option. Moreover you can fill the whole (or part of the) list of kernel option the order you want. After this simplified step you can rebuil d your kernel in the traditional way.
There’s actually another famous case. Have you ever used «printtool» ? (Printer Config Tool (C) Copyright 1994 by Red Hat Software — author: Michael Callahan). If you installed a Red Hat distribution you happily managed to use it to set up printing services . Well, printtool front-end is mainly a Tcl/Tk script.
For those who don’t know Red Hat let me tell you how you can easily configure your printers just filling some textboxes and filling in some checkboxes.
The program itself takes care of setting up printing services through the creation of spooling directory, writes /etc/printcap file and the printer’s filter, reloads lpd and tests your filter with ascii or postscript pages. It allows you manipulate ghostscript options (i.e. choose up to 8 pages per outpu t page and setting margins), has an help-on-line and many more features.
What is the difference compared to other service-printing implementation?
Everything is achieved by using Tcl/Tk as a «glue» between consolidated application and operating with normal Linux configuration files in a visual and interactive window under X-Window. No new application-specific commands were written at all.
Currently the purpose of the document is limited to giving initial references to Linux users; in future versions I will try to incorporate a small «Programm ing Tutorial». Let me state that again: this is not (and doesn’t want to substitute) an omnicomprehensive «user manual» or «reference» for Tcl and Tk development and programming — it’s just a starting point for Linux users.
The author’s concept of reference manual coincides with the definition of man pages and many people learn Tcl/Tk from these basic source of informati on. These files are a part of the source code distribution and are installed on your Linux box. You will be able to access the Tcl/Tk manual pages through the man command.
Many structured and complete programming tutorials have been written in order to let the new user begin hacking with Tcl/Tk; tons of other material are available in the Internet. Interpreting Tcl/Tk philosophy I won’t try to reinvent the wheel, I will manage to glue the huge amount of material already available.
I suggest you to have a look at the other documents listed in the References section in order to find where to retri eve specific information about Tcl and Tk.
- simple programming concepts;
- using very common unix commands and/or utilities;
- having access to the Internet;
- using ftp.
Newer versions of this document will be uploaded to ftp site: ftp://sunsite.unc.edu/ pub/Linux/HOWTO/ and will be available on all other mirrors.
Hypertext and other versions of this and other Linux HOWTOs are available mainly at sunsite.unc.edu/LDP/lpd.ht ml and www.linux-howto.com and on many other Mirror World-Wide-Web sites.
I will try to incorporate in my Web-Page the most recent html and sgml version of the document. Most Linux CD-ROM distributions include the HOWTOs, often in a subdir of /usr/doc/ directory, and you can also buy printed copies from several vendors.
Sometimes the HOWTOs available from CD-ROM vendors, ftp sites, and in hardcopy format are out of date. If the date on this HOWTO is more than six months in the past, then a newer copy is probably available on the Internet.
If you make a translation of this document into another language, drop me a line and I’ll include a reference to it here.
- Version 0.1 : 28 October 1998 — first version;
- Version 0.2 : 07 November 1998 — deep restyling and lifting.
I rely on you, the reader, to make this HOWTO useful. If you have any suggestio ns, corrections, or comments, please send them to me, ( Luca Rossetti ), and I will try to put them in the next revision.
If any of the links mentioned in this document becomes unavailable or changes, please notify me immediately so that I can update and/or remove the link.
I am willing to answer general questions about Tcl/Tk and Linux as best as I can. Before doing so, please read all of the information in this HOWTO, and send me detailed information about the problem.
If you publish this document on a CD-ROM or in hardcopy form, a complimentary copy would be really appreciated. E-mail me and I will send you back my postal address.
In many section I mention publishing companies or commercial URL sites: I really don’t work for these guys.
Most of the information in this HOWTO comes from Dr. Ousterhout’s Scriptics and Larry W. Virden comp.lang.tcl FAQs .
I would like to thank the PLUTO Italian Linux User Group and the whole volunteers of ILDP (Italian Linux Document ation Project) especially Eugenia Franzoni and Giovanni Bortolozzo for their feedbac k.
This document is Copyright 1998 by Luca Rossetti.
This document is distributed in the hope that it will be useful to the reader: of course it is considered to be without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. This HOWTO is free documentation; you can redistribute it and/or modify it under the terms of the LDP COPYRIGHT .
Please read the LDP Manifesto for more details. Next Previous Contents