这是 Linux Tcl 和 Tk HOWTO。它旨在作为 Linux 参考,涵盖您应该了解的关于 Tcl 和 Tk 下的安装、配置和开发入门的所有内容。分析了 Linux 下 Tcl 和 Tk 的历史以及一些优缺点,并提供了许多其他信息来源,涉及与这种简单而强大的脚本语言相关的各种主题。
如果您曾经在 X 内部使用以下命令重建 Linux 内核
make xconfig
您肯定已经体会到这种简单而强大的脚本语言的威力。
在执行内核重建的第一步之后,一个名为 kconfig.tk 的脚本通过 wish(Tcl 解释器)执行。Linux 内核配置窗口出现。此基于 X 的配置实用程序允许您使用复选框来选择要启用的内核选项,而不是回答一系列问题。
系统会存储您上次的配置选项,以便每次运行时,您只需添加或删除一些复选框,而无需重新输入整个选项集。此外,您可以按您想要的顺序填写整个(或部分)内核选项列表。完成此简化步骤后,您可以以传统方式重建内核。
实际上还有另一个著名的例子。您用过“printtool”吗?(打印机配置工具 (C) 版权所有 1994 Red Hat Software - 作者:Michael Callahan)。如果您安装了 Red Hat 发行版,您很高兴能够使用它来设置打印服务。好吧,printtool 前端主要是一个 Tcl/Tk 脚本。
对于那些不了解 Red Hat 的人,让我告诉您如何轻松配置打印机,只需填写一些文本框和一些复选框即可。
该程序本身负责通过创建后台处理目录来设置打印服务,写入 /etc/printcap 文件和打印机过滤器,重新加载 lpd 并使用 ascii 或 postscript 页面测试您的过滤器。它允许您操作 ghostscript 选项(即,选择每输出页最多 8 页并设置边距),具有在线帮助和更多功能。
与其他服务打印实现相比,有什么区别?
一切都是通过使用 Tcl/Tk 作为“粘合剂”,在合并的应用程序和操作系统之间,在 X-Window 下的视觉和交互式窗口中使用正常的 Linux 配置文件来实现的。根本没有编写新的特定于应用程序的命令。
目前,本文档的目的仅限于为 Linux 用户提供初始参考;在未来的版本中,我将尝试加入一个小的“编程教程”。让我再次声明:这绝不是(也不想替代)Tcl 和 Tk 开发和编程的全面“用户手册”或“参考” - 它只是 Linux 用户的起点。
作者对参考手册的概念与手册页的定义一致,许多人从这些基本信息来源中学习 Tcl/Tk。这些文件是源代码发行版的一部分,并安装在您的 Linux 机器上。您将能够通过 man 命令访问 Tcl/Tk 手册页。
已经编写了许多结构化和完整的编程教程,以便让新用户开始使用 Tcl/Tk 进行黑客攻击;互联网上提供了大量其他材料。根据 Tcl/Tk 的理念,我不会尝试重新发明轮子,我会设法将已有的海量材料粘合在一起。
我建议您查看参考部分中列出的其他文档,以查找在哪里检索有关 Tcl 和 Tk 的特定信息。
为了理解 Tcl/Tk 的 ABC,您不必成为编程大师,命令语法非常简单。基本上,您必须熟悉
本文档的新版本将上传到 ftp 站点:ftp://sunsite.unc.edu/ pub/Linux/HOWTO/,并将在所有其他镜像站点上提供。
本文档和其他 Linux HOWTO 的超文本和其他版本主要在 sunsite.unc.edu/LDP/lpd.ht ml 和 www.linux-howto.com 以及许多其他全球镜像网站上提供。
我将尝试在我的网页中加入本文档的最新 html 和 sgml 版本。大多数 Linux CD-ROM 发行版都包含 HOWTO,通常在 /usr/doc/ 目录的子目录中,您还可以从多家供应商处购买印刷版。
有时,从 CD-ROM 供应商、ftp 站点和硬拷贝格式提供的 HOWTO 已过期。如果此 HOWTO 上的日期超过六个月前,则可能在 Internet 上有较新的副本。
如果您将本文档翻译成另一种语言,请给我发消息,我将在此处包含对它的引用。
我依靠您,读者,使本 HOWTO 有用。如果您有任何建议、更正或意见,请发送给我 ( Luca Rossetti ),我将尝试将其放入下一个修订版中。
如果本文档中提到的任何链接变得不可用或更改,请立即通知我,以便我可以更新和/或删除该链接。
我愿意尽力回答有关 Tcl/Tk 和 Linux 的一般问题。在此之前,请阅读本 HOWTO 中的所有信息,并向我发送有关问题的详细信息。
如果您在 CD-ROM 或硬拷贝形式上发布本文档,我将非常感谢您提供一份免费副本。给我发电子邮件,我会回复您我的邮寄地址。
在许多章节中,我提到了出版公司或商业 URL 站点:我真的不为这些人工作。
本 HOWTO 中的大部分信息来自 Ousterhout 博士的 Scriptics 和 Larry W. Virden comp.lang.tcl FAQ 。
我要感谢 PLUTO 意大利 Linux 用户组和 ILDP (意大利 Linux 文档项目) 的全体志愿者,特别是 Eugenia Franzoni 和 Giovanni Bortolozzo 的反馈。
本文档版权归 Luca Rossetti 1998 年所有。
发布本文档是为了希望它对读者有用:当然,它被认为是没有任何保证的;甚至没有对适销性或特定用途适用性的默示保证。本 HOWTO 是免费文档;您可以根据 LDP 版权 的条款重新分发和/或修改它。
请阅读 LDP 宣言 以获取更多详细信息。