linux上安装tcl
1. 首先下载安装包,推荐下载activetcl(对tcl源码进行了预编译,安装步骤简单)。打开网址http://activestate.com找到activetcl的社区版(社区版是免费的,找到linux平台下的.tar.gz包,直接点download就可以下载。我下载的是8.6.4版本的ActiveTcl8.6.4.1.299124-linux-x86_64-threaded.tar.gz)
2. 用tar -zxvf ActiveTcl8.6.4.1.299124-linux-x86_64-threaded.tar.gz命令解压安装包以后会得到文件ActiveTcl8.6.4.1.299124-linux-x86_64-threaded,打开此文件可以看到里面有一堆install文件,其中有一个叫install.sh的文件。
3. 运行install.sh文件,命令为./install.sh。(tips:如果之前没有linux基础的童鞋,可以参考下我下面的操作,如果有的话就略过,直接到第4步。我下载的安装包是放在/home/flyer/packages文件下的)。
完整的linux操作为:
cd /home/flyer/packages
tar -zxvf ActiveTcl8.6.4.1.299124-linux-x86_64-threaded.tar.gz
cd ActiveTcl8.6.4.1.299124-linux-x86_64-threaded
./install.sh
4. 下面就到了最关键的安装步骤,如果是在桌面图形版的linux上装,会出现windows那样的安装向导窗口,这个情形是最好不过了。如果不是或者是通过远程连接,比如xshell连接,就得老老实实得对着黑框框操作了。因为它会出一堆的提示信息,比如是否同意协议,按a同意,提示你选择安装路径,第一个路径按照默认的不用管也行(好像是/opt/),第二个路径必须得指定,不然就算你输入yes,它也不会到下一步,依然会提示你必须输入一个不同的路径。我是建立了一个目录/home/flyer/tcl作为我的安装路径,后面的提示操作就是按yes确定,完成以后会出来一个安装成功标志的finish选项,exit退出就可以(在finish选项之前会有一段代码,提示你安装完成后要自己设置环境变量)
5. 这时候输入tclsh仍然没反应,需要修改环境变量和链接库。
为了达到永久设置的效果,你可以编辑.bashrc文件。
vi .bashrc
按i键进入编辑模式,在文件结尾输入这四句话:
PATH=$PATH:/home/flyer/tcl/bin
export PATH
DB_LIBRARY_PATH=$DB_LIBRARY_PATH:/home/flyer/tcl/lib
export DB_LIBRARY_PATH
最后按:wq保存并退出。(注意:刚开始的时候我只改了环境变量的PATH,结果运行tclsh会出现找不到lib.so之类的提示信息,也是在网上找资料才知道是链接库没设置的原因)
6. 如果输入tclsh会出现%信息,说明已经搞定了,你可以输入简单的代码,测试一下。
%exp 1 + 2
会输出:3
7.下面就是wish命令,它是连接tk工具集进行图形化编程的重要工具。如果输入wish出现下面的提示信息(Application initialization failed:no display name and no $DISPLAY environment variable),只要下面的一步命令就可以搞定:
export DISPLAY=:0.0
8.现在输入wish也会出现%提示符,说明正常。
最后补充说明:我那个DISPLAY只能当次有效,下次重启还得输入才能使用wish,我目前也不知道怎么配置成永久的,稍微麻烦点,凑合用肯定是没问题。而且这个操作还跟tty有关,如果多个设备终端的话,可能0.0就不太合适,会冲突,如果遇到了,你就明白我说的了。(表情坏笑)
2017-04-05
linux上安装tcl的更多相关文章
- linux上安装tcl、tk、expect
linux上安装tcl.tk.expect 1.tcl安装tcl8.5.9-src.tar.gz cd /tmp tar -zxvf tcl8.5.9-src.tar.gz cd tcl8.5.9 ...
- redis3.0.5在linux上安装与配置
redis3.0.5在linux上安装与配置 rhel6/ubuntu14 1 下载 # wget http://download.redis.io/releases/redis-3.0.5.tar. ...
- Redis之在Linux上安装和简单的使用
我只是一个搬运工 Redis之在Linux上安装和简单的使用https://blog.csdn.net/qq_20989105/article/details/76390367 一.安装gcc 1.R ...
- 在Windows和Linux上安装paramiko模块以及easy_install的安装方法
一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...
- 在Linux上安装Oracle RAC 12 c(12.1) 虚拟机,一步一步向导
Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWa ...
- WINDOWS和Linux上安装php7 alpha 并安装 yaf
WINDOWS和Linux上安装php7 alpha 并安装 yaf PHP技术 widuu 2个月前 (06-15) 126浏览 0评论 windows 1.windows上安装 php7 ...
- 在Windows和Linux上安装paramiko模块
一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...
- Linux上安装使用boost入门指导
Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到bo ...
- 如何在Linux上安装Storm
Storm是开源的分布式实时计算系统,能够让数据流处理变得简单.可靠,也因此在大数据领域有广泛的实际 应用.下面介绍一下如何在Linux系统上安装Storm.根据Storm官网介绍,安装Storm软件 ...
随机推荐
- css实现下拉菜单
实现一个效果不难,难的是使用最少的代码实现一个效果 <!DOCTYPE html> <html lang="en"> <head> <me ...
- java设计模式之桥接模式
桥接模式 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化.这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦.这种模式涉及到一个作为桥接的 ...
- Tcl与Design Compiler (十二)——综合后处理
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 概述 前面也讲了一些综合后的需要进行的一些工作,这 ...
- 天气渐热,来片雪花降降温——Android自定义SurfaceView实现雪花效果
实现雪花的效果其实也可以通过自定义View的方式来实现的(SurfaceView也是继承自View的),而且操作上也相对简单一些,当然也有一些不足啦... 相对于View,SurfaceView有如下 ...
- JavaScript基础学习(六)—函数
一.函数的定义 1.function语句形式 //1.function语句式 function test1(){ alert("I am test1"); } test1(); 2 ...
- MarkDown 常用语法教程
MarkDown 语法说明 [TOC] 标题 标题1 ====== 标题2 ----- ## 大标题 ### 小标题 #### 小标题 列表 无序列表 + 列表文本前使用 [减号+空格] * 列表文本 ...
- 前端必备PS技巧
hai,how is it going?I'm MuQing.I come back.哈哈,最近在英语的路上奋战,小秀一下.又好久没写博客了,实习的生活渐行渐远了,回到学校也终于能够坐下来对很多东西进 ...
- mvc 筛选器
之前公司中,运用ActionFilterAttribute特性实现用户登录信息的验证,没事看了看,留下点东西备忘. 好的,瞅这玩意一眼就大概能猜到这货是干嘛的了吧,没错,action过滤器.其实就是A ...
- Js插件开发
简易JS插件开发,本文效果是一个简单的弹出层,意在记录插件的封装Demo. 完整源码压缩包:demo.rar 效果图(如下): 插件脚本: /** * 节点配置属性方式配置参数:专业的做法是配置到,每 ...
- 关于Java中继承多接口同名方法的问题
在Java中如果一个类同时继承接口A与B,并且这两个接口中具有同名方法,会怎么样? 动手做实验: interface A{ void fun(); } interface B{ void fun(); ...