1
背景
很久很久以前,在计算机刚刚诞生的时候,提供人机交互功能、与计算机等进
行通讯的人机界面,是由专门的终端设备完成的。这种连接方式一直沿用到具有
多任务、多用户功能的大型计算机上。随着工业技术的发展和微机的普及,专门
的终端设备已经很难见到了,但是终端连接的需求依然保留着。这个需求由一类
应用程序满足,它就是虚拟终端(很多时候我们也把它叫做伪终端)类应用程序。
这一类的软件有很多,它们依然发挥着终端的作用,但是连接的已不再是大型机,
而是一些专门的工业设备,最常见的就是路由器、交换机、
UNIX
和
Linux
主机等。
Console
口(串口)拥有最大管理权限和最后的登录能力,也是我们最常用的
管理接口。现在的很多虚拟终端工具不仅提供串口连接方式,还能通过
Telnet
、
SSH
、
SFTP
、
RLOGIN
等网络协议进行网络连接,正是为了满足我们通过
网络远程管理的需要。
2
概述
我们经常用到的伪终端软件有:
1
)
Hyper Terminal
,微软从
Hilgraeve
公司购买,
XP
和
Server 2003
自带,后
续的
Windows
发行版中就没有了;
2
)
Xshell
,收费软件,学校和家庭用户可免费获得和使用,功能丰富,可定制
化程度高,使用体验好;
3
)
MobaXterm
,收费软件,家庭用户可免费获得和使用,除了支持常用的远
程连接功能,甚至还支持
VNC
和
NFS
等,不仅提供客户端功能,而且还提供服
务器功能,软件下载之后就可以使用,无需安装,简直天下无敌;
3
)
SecureCRT
,收费软件,需要获取授权,甚至连试用版都不提供,虽然网上
有盗版可以下载,但是我个人非常不建议;
4
)
minicom
、
cutecom
、
qcom
等,
Linux
下开源免费的虚拟终端软件;
5
)
macwise
、
MAC OS
下最好用的虚拟终端,有偿使用,所以我推荐你使用
PuTTY
,虽然需要自己编译,但是这是值得的;
6
)
PuTTY
,基于
MIT license
发布,提供源码和主流操作系统的二进制下载。
强大的功能再加上免费的授权,真是一个不错的选择。
很多伪终端程序都受
PuTTY
影响,它提供各种主流操作系统的源码下载,而
且授权也非常友好,在商业环境下使用也不受影响。作为一个老实人,我推荐你
优先使用它。但如果你运行的是
Unix
系系统,推荐你还是使用
minicom
吧,它也
是免费开源的,是
Unix
系系统下的首选虚拟终端软件。我自己在
Windows
系统下
使用
PuTTY
,在
Linux
系统下使用
minicom
。
我们常用到的伪终端功能有:
1
)连接设备;
2
)捕获文本;
3
)下载文件;
4
)
上传文件;
5
)执行脚本。接下来就从这几个方面进行叙述,介绍几款伪终端软件
的使用。
3
连接串口
3.1
台式机
这种电脑一般都自带串口(
RS232c
,
DB9
,
male
),也就是我们经常说的
COM
口。
图
05-01
台式机连接网络设备
Console
口,
CCNA3.1
3.2
便携机
这种电脑一般都不带有
COM
口,如果使用这样的电脑管理网络设备,需要借
助一条
USB
转串口的转接线。市场上有卖,售价从十几元到几十元不等,建议还
是买一个贵一点的,一般来说贵一点的更靠谱些。
我还使用过
Bluetooth-RS232
的转接线。好处是比较方便,不用接线,无线通
信距离可达
10m
,只有在第一次使用时需要电脑和转接线进行匹配(也有叫配对
的)。坏处是收工时拿起电脑就走,转接线忘了拿。
图
05-02 USB-RS232
串转接线和串口线
3.2.1
Windows
便携机
对于
Windows
系统来说,使用
USB
转串口,首先要解决驱动问题,只有驱动
安装正确,串口转接线才能正常工作。
把转接线的接到电脑的
USB
口上,运行附带的驱动程序。如果在安装驱动失
败,或者驱动安装好后不能正常工作,检查之前有没有安装过其它串口驱动,可
能是串口驱动有冲突。
安装完成后可以在设备管理器中看到相关的串口设备。
图
05-03
查看安装好的串口驱动及对应的串口号
驱动安装在哪一个
USB
口,以后使用时就只能在这一个口使用,没有安装过
驱动的
USB
口不能使用。
Windows
下常见的伪终端软件有
Hypertrm
,
SecureCRT
,
Xshell
,
PuTTY
等。
我们重点推荐
PuTTY
和
Xshell
。
3.2.2
UNIX
系便 携机
包括
UNIX
,
Linux
,
Mac OS
。如果你的便携机运行的是这些操作系统,恭喜
你,我可能连串口驱动都无需安装,真正做到即插即用。
UNIX
和
Linux
一样,直接配置伪终端软件
minicom
,就可以连接设备了,不
用担心驱动的问题,当然你也可以选择使用
CuteCom
,
Qcom
,
PuTTY
等。
Mac OS
下比较好用的伪终端软件是
macwise
,但是是付费程序,所以我建议
你自己下载
PuTTY
的源码自己编译,当然编译需要编译器
Xcode
,但是这样做是
值得的,不仅省钱,而且还能提升自己的动手能力。软件编译完成之后就能使用
了,直接打开软件配置串口参数,不需要安装串口驱动。
4
接线
此处省略若干字。对于线都不会接的人,我们放弃治疗。
5 Hyper Terminal
5.1
打开“运行”,输入“
hypertrm”
当然你也可以从开始菜单或直接到程序所在目录来运行程序。
图
05-04
打开
Windows NT
自带的超级终端
5.2
给连接起一个名字,比如“
niuhai
”
图
05-05
给这个终端连接起一个名字叫“
niuhai
”
5.3
设置连接使用的串口号,如“
COM9”
图
05-06
使用
COM9
串口
5.4
或者通过网络连接到要管理的设备
通过网络连接使用的是协议是
Telnet
,因为其简便,目前仍有很多人使用。
hypertrm
支持的连接方式也只有这两种,串口和网络
Telnet。
图
06-07
或者通过网络连接到要管理的设备
5.5
设置串口参数
9600
波特率,
8
个数据位,无校验,
1
个停止位,无流控。
“
9600
,
8
,
N
,
1
”
是非常常用的串口参数。不管是连接
CISCO
设备、
Huawei
设备、
H3C
设备,都是使用这一组串口参数。
图
05-08
最常用的网络设备串口参数
图
06-09
通过超级终端进入设备管理界面
5.7
捕获文本
“
Transfer->Capture Text...
”
,在新打开的对话框里选择保存捕获文本文件的位
置。这个功能非常有用,它可以将终端打印出来的内容捕获到一个文件当中,方
便日后回溯和日志分析。
图 05-10 开启终端文本捕获
图 05-11 选择捕获的文本文件存放的位置
5.8
下载文件
“
Transfer->Receive File...
”
,在新打开的对话框里选择保存文件的位置,并选
择所使用的串口文件传输协议,常用的是
Xmodem
。
图 05-12 开始接收文件
图
05-13
串口常用的文件传输协议是
Xmodem
5.9
上传文件
“
Transfer->Send File...
”
,在新打开的对话框里选择要上传的文件,并选择所
使用的串口文件传输协议,常用的是
Xmodem。
图 05-14 开始上传文件
图 05-15 选择要上传的文件和使用串口文件传输协议
5.10
执行脚本
Hyper Terminal
没有这个功能。但
Windows
系统有,但一般也很少用到。
5.11
Hyper Terminal
常见问题
5.11.1
打开
Hyper Terminal
失败
常见于
win7
、
win server 2008
及以上系统。因为系统默认没有安装超级终端程
序,因此打开失败。
把可执行程序文件和动态连接库文件从
XP
或
Server 2003
上拷贝过来即可。拷
贝过来的文件可以放在与原文件相对应的目录,也可以放在一个自己喜欢的目录,
但是要保证是同一个目录,否则执行程序时可能会找不到动态连接库,导致可执
行程序无法运行。要不就换个终端连接工具吧,
PuTTY
、
Xshell
、
MobaXterm
、
SecureCRT
等都是不错的选择。
只拷
hypertrm.exe
和
hypertrm.dll
,程序就可以运行和使用了,但是没有图标和
帮助。再加上
hticons.dll
、
hypertrm.chm
、
hypertrm.hlp
这三个文件,才会显示图标
和帮助信息,使用体验也会更好一些。
我一般会复制表
05-01
中的
前三个文件
。
表
05-01 hypertrm
程序相关文件及说明
5.11.2
安装串口驱动失败
之前安装过其它厂家的串口驱动,相互之间不兼容。需要先把之前安装的串口
驱动卸载,再重新安装这一次需要的驱动。
5.11.3
打开串口失败
有其它应用程序占用此串口,或者选择串口错误。有时虚拟终端程序的异常退
出也会导致打串口失败,其本质是串口占用没有释放。台式机自带串口,一般是
COM1
;便携机安装
USB
转串口驱动后,会虚拟出来一个串口号,通过设备管理
器可以查看到。串口号也可以通过设备管理器修改。
5.11.4
乱码
串口参数错误或连接线故障。检查串口参数,替换
USB
转串口转接线或串口
线,重点检查
USB
转串口转接线,尤其是两端接头部分。
6 PuTTY
PuTTY
基于
MIT License
发布,是一款非常优秀的伪终端软件,很多伪终端程
序都受它影响,它支持多种常见连接协议,比如
Raw
,
Telnet
,
Rlogin
,
SSH
,
Serial
等。
PuTTY
除了拥有丰富的功能和小巧的身段外,最吸引人的地方就是开放源代码。
官方提供各种平台下的源代码,比如
Windows
、
Unix
、
MacOS
等,用户可以下载
源代码后根据自己的需要再编译或再开发,这样的好事实在难得。官方还提供两
种
Windows
平台下的二进制安装包,分别是
.exe
和
.msi
,可满足不同的安装场景
需求。
PuTTY
当前最新版本是
0.73
,软件官方下载地址是:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
。
安装包中除了包含
putty.exe
外,还有
plink.exe,pscp.exe,psftp.exe
等。
Putty.exe
是安装包中最常用也是最重要的程序,是实现
Serial
、
SSH
、
Telnet
等
连接的客户端。
Plink.exe
是
putty.exe
的命令行模式,是
putty.exe
的后台程序。
Pscp.exe
是一个
SCP
的命令行客户端,用来实现安全的远程复制。
Psftp.exe
是一个
SFTP
的命令行客户端,用来实现安全的文件传输,功能与
FTP
类似。
6.1
软件安装
下载完成后,双击安装程序包,根据安装向导可轻松完成完成安装,如果不修
改安装路径,每一步都按默认安装就行了。安装完成后会打开一个
Readme
文档,
建议看一下再关,这里包含一个简单的使用说明和遇到问题的处理方法。
因为软件安装完成后只创建了开始菜单快捷方式,并没有创建桌面快捷方式,
所以启动程序可以通过开始菜单快捷方式,或到磁盘对应的文件安装目录下找到
相应的程序后,双击启动。
6.2
新建一个会话
启动程序就打开新建会话界面,如下图
05-16
所示。
图
05-16
新建会话及基本配置选项
这个界面是会话的基本选项配置界面,主要配置连接协议,连接地址等。可以
将设置好的会话起个名字保存起来,下次使用时选中这个会话名,加载会话参数
就可以了,省去了再次配置的步骤。
6.3
鼠标动作设置
缺省情况下,
PuTTY
的复制与粘贴都是用鼠标操作完成。
复制
,按下鼠标左键,选中窗口中的文本,松开左键,自动复制到剪贴板;
粘贴
,窗口文本区按下鼠标右键,自动粘贴。这可能会造成一些错乱。
如果想在文本区调出鼠标右键菜单,可以在按下右键之前按住键盘上的“
Ctrl”
键。如果嫌按“
Ctrl”
键的操作麻烦,可以修改这个操作。在左栏“
Category
(分
类)”中选中“
Select
(选择)
”分类,打开右边的
“
Options controlling copy
and paste
(复制粘贴选项控制)”
界面,选择
“
Action of mouse buttons
(鼠标按
键动作)”
项,设置为
“
Windows (Middle extends, Right brings up menu)”
,将
鼠标按键动作设置为
Windows
模式。
设置后用户在文本区再按下鼠标右键后就不会自动粘贴了,取而代之的是调出
右键菜单。
如下图
05-17
和图
05-18
所示。
图
05-18
设置鼠标按键动作模式为
Windows
,文本区右键调出右键菜单
6.4
会话日志
图
05-19
配置会话日志
在使用
PuTTY
时很容易忽略的一个配置选项,但是它真的非常重要。如果没
有记录会话日志,基于日志分析的巡检工作、问题的追踪回溯、故障定位、远程
求助等,所有基于捕获日志才能开展的工作统统无法进行。在生产中无论如何强
调它的重要性都不为过。
我们选择所有可打印的输出,并将文件保存的特定的磁盘目录下面。在填写日
志文件的名字时候有一个小技巧,根据下面的填写提示,像上图那样填写。上面
文本框中填定的文件名格式解释如下:
D:\putty.log\&H.&P.&Y&M&D.&T.log
D:\putty.log\
,日志文件存放的位置;
&H
,主机名;
&P
,端口号;
&Y
,年;
&M
,月;
&D
,日;
&T
,时分秒;
.log
,日志文件的扩展名。
中间的点“
.”
是分隔符,根据个人习惯也可以用“
_”
或“
-”
代替,最好是使用
英文字符,否则可能会出现乱码或日志文件保存失败等问题。强烈建议读者使用
上面的样例配置会话日志。
每一个会话都要单独配置会话日志,然后再将会话保存,下一次使用时选中这
个会话,然后点击“
Load”
按钮加载配置即可,有关会话日志的配置也会被加载。
6.5
开启会话
初次开启会话需要配置连接参数,如果使用已经保存的会话,可以选中会话名
然后加载会话参数。待会话参数设置或加载完成后,可以通过点击如图
05-16
基
本选项配置界面、或图
05-17
复制粘贴选项控制界面、或图
05-19
日志参数配置界
面的
“
Open”
按钮来开启会话。
开启的会话如图
05-20
所示。
图
05-20
开启的
PuTTY
会话窗口
除了使用
PuTTY
这种
GUI
的界面开启会话,也可以使用命令行这种
TUI
的方
式开启,运行
PuTTY
安装目录下的
plink.exe
就可以了,它是
PuTTY
的命令行方
式。
TUI
下还可以配合脚本文件同时使用,可以扩展更多功能。我个人更喜欢
TUI
,觉得它更简洁有趣。
6.6
改变活动会话参数等
会话已经连接好,但是现在要改变会话参数或打开新的会话,可以在现在有会
话窗口的标题栏点击鼠标右键,在打开的快捷菜单中选择相关的操作即可。比如
当我们一开始连接时忘了记录会话日志,现在就可以点击当前会话窗口标题栏,
选择
“
Change Settings...”
选项,重新设置当前会话的日志记录配置。右键快捷菜
单不仅仅有改变当前会话参数选项,还可以新建会话和复制当前会话等。
如下图
05-21
所示。
图
05-21 PuTTY
会话窗口右键菜单
菜单中的“
New Session...”
可以打开一个像图
05-16
一样的新建会话窗口。
“
Saved Sessions”
可以展示已经保存的会话,点击已经保存的会话就可以打开它。
“
Full Screen”
命令可以提供一个全屏的黑底白字界面,退出全屏可以通过左键点
击全屏窗口的左上角,调出会话窗口快捷菜单,取消全屏。全屏的样子非常酷,
值得一试。
6.6.1
Serial
会话
网络工程师在新设备开局上线时会用到
Serial
会话,开局上线后一般都会配置
网络管理,下次再管理设备时就不需要了。硬件工程师或嵌入式软件工程师在做
专用设备的开发调试时也会用到
Serial
会话。新建
Serial
会话如下图
05-21
所示。
普通台式电脑上只有一个串口,串口号是
COM1
。特种计算机(或叫做工控
机)上一般都会有多个串口,使用时要注意串口号不能填错。在便携机上,我们
通常使用
USB
转串口转接线,需要用户自己到设备管理器中去查一下串口号。所
有的串口号都需要用户手工填写,软件不能读取并给出选项。串口号不能填错,
错了就连不上了。串口号的填写类似于:
COM1,COM2,COM3
等等,具体的号码
要自己查看,如图
05-22
所示。
图
05-22
设备管理器中的串口号
填完基本配置选项后,再
配置会话日志。
图
05-23
新建
PuTTY
串行会话
配置完会话参数,接下来就是配置串口参数了,不管是网络工程师、硬件工程
师,还是嵌入软件工程师,使用得最多的串口参数都是
“
9600”
,“
8”
,“
N”
,“
1”
,即
9600
波特率
,
8
个数据位
,
无校验
,
无流控
,
1
个数据位
。如图
05-24
所示 。
图
05-24 PuTTY
串行会话参数设置
所有参数配置完成后先不要急着打开会话,先把会话保存,然后再打开它,下
次使用这个串口就不用做配置了。
6.6.2
SSH
会话
SSH
(
Secure Shell
,安全外壳)
,也叫安全外壳协议,我们通常说的
SSH
多
数情况下是指
SSH Client
。远程管理
Linux
服务器和网络设备的最佳推荐是使用
SSH
协议,最主要原因是因为它安全和受支持度比较高。新建
SSH
会话如下图
05-23
所示。
需要填写远程被管理设备的主机名或
IP
地址,通常我们都是通过
IP
地址连接
的。
填完基本配置选项后,再根据
7.4
节中的描述配置会话日志。
所有参数配置完成后先不要急着打开会话,先把会话保存后再打开,下次使用
这个地址连接时就不用配置了。
图
05-25 PuTTY SSH
会话参数设置
6.6.3
Telnet
会话
经常用在远程管理或本机虚拟设备管理,但是远程管理的功能因为安全的原因
逐渐被
SSH
替代。新建
Telnet
会话如下图
05-16
所示,创建过程与
SSH
会话类似,
只是远程管理通常使用的端口是
23
。同样是先配置基本连接参数,再配置会话日
志记录,然后是保存会话,最后才是打开会话,下一次再使用时就方便多了。
6.6.4
SFTP
会话
SFTP
(
Secure File Transfer Protocol
,安全文件传输协议)
,可以认为是
FTP
(
File Transfer Protocol
,文件传输协议)
安全版本,相对于
FTP
来说更加安
全。
SFTP
会话可用来做远程的文件传输,经常用在设备备份升级的时候。使用时
需要打开命令行窗口,然后调用
PuTTY
安装目录下的可执行文件
psftp.exe
,建立
远程连接。比如在我的电脑上,
PuTTY
的安装路径是
C:\Program Files\PuTTY
,因
此在这个目录下运行
psftp.exe
程序,再加上合适的参数,就可以登录上远端主机,
传输文件了。如图
05-26
所示。
图
05-26
使用
PSFTP
会话参数设置
6.6.5
SCP
会话
SCP
(
Secure copy
,安全拷贝)
,基于
SSH
,连接和文件传输都是加密的,相
对比较安全。运行
pscp.exe
程序的方式与运行
psftp.exe
相似,也需要借助命令行
窗口,而且运行这个程序时也是需要指明可执行文件的路径和参数。如图
05-27
所示。
图
05-27
使用
PSFTP
会话参数设置
不带参数直接执行
pscp.exe
程序,会显示程序的使用帮助,从帮助中我们可以
看到,
pscp.exe
程序也可以通过带参数
“
-sftp”
的形式来使用
sftp
连接。
6.7
小结
PuTTY
是一款功能强大,手段丰富的远程管理程序,不仅开放源代码,免费
授权,而且还拥有简洁的界面和小巧的身段(安装包大小只有
3094KB
),深受广
大资深
ICT
从业人员喜爱。它的
GUI
界面更加容易上手,
TUI
界面也同样好用,
是最值得推荐的虚拟终端软件。
7 Xshell
Windows
平台下一款非常优秀的伪终端软件,是
Windows
平台伪终端软件首
选。支持的连接协议有
Serial
、
SSH
、
SFTP
、
Telnet
、
Rlogin
等。
它功能强大、简洁优雅、高度自由,有很多快捷键可以使用。唯一不好的地
方就是商业授权,如果是非商业环境,我们可以使用它的免费版本。下载地址
http://www.netsarang.com/download/down_form.html?code=522
。
7.1
新建一个会话
新建会话快捷键是
“
Alt+N”
,也可以通过菜单新建
“
File->New...”
。
7.1.1
Serial
会话
依次点击菜单
“
File->New...”
,或者使用快捷键
“
Alt+N”
,打开新建会话对话
框,
“
Name”
项为必填项,用来给会话连接起一个名字,比如
“
SerialCOM3”
,
不用使用“
COM3”
等系统预留名字或包含非法字符的名字,长度也有限制,但是
我们一般也触不了上限,最好使用简单且一目了然的名字。
“
Protocol”
项选择
“
SERIAL”
。
“
Description”
项用来给会话添加描述信息,选填项,但是建议还
是填写一下,为了方便以后使用。其它项目保持默认即可。点击
“
OK”
,确认并
保存。如图
05-28
所示。
图
05-28
新建一个串行会话
设置完会话信息后,需要再设置一下串口参数,我们把串口参数设
置成
“
9600”
,
“
8”
,
“
1”
,
“
None”
,
“
None”
,点击
“
OK”
,确认并
保存。如下图
05-29
所示。
图
05-29
设置串口参数“
9600-8-N-1”
7.1.2
SSH
会话
依次点击菜单
“
File->New...”
,或者使用快捷键
“
Alt+N”
,打开新建会话对话
框。
“
Protocol”
选择为
“
SSH”
。“
Name”
项为必填项,用来给会话连接起一个名
字,比如我起的名字“
web”
。
“
Host”
项也是必填项可以填写被管理主机的主机名
或
IP
地址,我们一般都是用
IP
地址。
“
Port Number”
项也是必填项,如果服务
端没有修改过端口号保持默认即可。
“
Description”
项是选填项,用来给会话添加
备注信息。点击
“
OK”
,确认并保存。如图
05-30
所示
图
05-30
设置
SSH
会话连接参数
7.1.3
SFTP
会话
依次点击菜单
“
File->New...”
,或者使用快捷键
“
Alt+N”
,打开新建会话对话
框。
“
Protocol”
选择为
“
SFTP”
。“
Name”
项为必填项,用来给会话连接起一个
名字,比如我起的名字“
sftp.web.server”
。
“
Host”
项也是必填项可以填写被管理
主机的主机名或
IP
地址,一般使用的都是
IP
地址。
“
Port Number”
项也是必填
项,如果服务端没有修改过端口号保持默认即可。
“
Description”
项是选填项,用
来给会话添加备注信息。点击
“
OK”
,确认并保存。如图
05-31
所示
图
05-31
设置
SFTP
会话连接参数
7.1.4
Telnet
会话
依次点击菜单
“
File->New...”
,或者使用快捷键
“
Alt+N”
,打开新建会话对话
框。
“
Protocol”
选择为
“
SFTP”
。“
Name”
项为必填项,用来给会话连接起一个
名字,比如我起的名字“
telnet”
。
“
Host”
项也是必填项可以填写被管理主机的主
机名或
IP
地址,一般使用的都是
IP
地址。
“
Port Number”
项也是必填项,如果
服务端没有修改过端口号保持默认即可。
“
Description”
项是选填项,用来给会话
添加备注信息。点击
“
OK”
,确认并保存。如图
05-32
所示。
图
05-32
设置
telnet
会话连接参数
7.2
打开已有会话
依次点击菜单“
File->Open...”
,或者使用快捷键
“
Alt+O”
。打开会话对话框,
选中其中一个会话,点击
“
Connect”
,或者双击这个会话,如图
05-33
所示。
图
05-33
打开已经建好的连接
7.3
使用串口下载文件
依次点击菜单
“
File->Transfer->XMODEM->Receive with XMODEM...”
可打
开接收文件对话框,用于接收文件,如图
05-34
和图
05-35
所示。
图
05-34
使用串口接收文件
图
05-35
保存接收的文件
7.4
使用串口上传文件
依次点击菜单
“
File->Transfer->XMODEM->Send with XMODEM...”
可打开
发送文件对话框,用于发送文件,如图
05-36
图
05-37
所示。
图 05-36 使用串口发送文件
图
05-37
打开要发送的文件
7.5
执行脚本
依次点击菜单
“
Tools->Sript->Run”
,打开脚本对话框,选择要运行的脚本,
点击
“
Open”
按钮即可执行,如图
05-38
和图
05-39
所示。
Xshell
还提供了常用脚
本的示例,真是太贴心了!
图
05-38
打开运行脚本菜单
图
05-39
打开脚本文件
7.6
记录日志
相当于
hypertrm
上的捕获文本,就是把操作设备时在界面中显示出来的所有字
符记录到指定的文件当中。这是一个非常有用的功能,记录日志是一项意义重大
的事项,我们要求打开伪终端连接要做的第一件事就是开启日志记录。不同于
PuTTY
需要为每一个会话配置日志,
Xshell
日志的配置全局生效,应用于所有会
话。
7.6.1
自动记录
快捷键
“
Alt+P”
,打开会话属性对话框。如图
05-37
。在左边的
“
category”
中
点击
“
Advanced”
下的
“
logging”
类,在右边中下
“
Log Options”
中选中第一个复
选框
“
Start logging upon connection”
,即可以对会话日志自动记录。
另外,在开始记录时提示文件保存路径(
Prompt me to choose path when
logging starts
)和在每一行行首添加时间戳(
Add timestamp at the begging of each
line
)都是非常有用的功能。如图
05-40
所示。
图
05-40
设置日志自动记录
7.6.2
手动记录
如果会话已经开始,但是忘记了设置日志记录,也可手动开启日志记录功能。
依次点击菜单
“
File->Log->Start...”
,手动开启日志记录功能。
在新打开的对话框中设置日志保存的位置和名称,点击
“
save”
,开始记录。
如图
05-41
和图
05-42
所示。
图
05-41
手动开启日志记录功能
图
05-42
设置日志记录的位置和名称
推荐使用自动记录。
7.7
界面设置
1
)缺省的富功能界面。
如图
05-43
所示。
图
05-43
富功能界面
2
)轻界面
通过
“
View”
菜单设置的轻界面。如图
05-44
所示。
图
05-44
轻界面
3
)超轻界面
通过
“
View”
菜单设置的超轻界面。如图
05-45
所示。
图
05-45
超轻界面
4
)多窗口平铺
只需鼠标轻轻拖动标签,各种平铺效果随心所欲。如图
05-46
所示。
图
05-46
多窗口平铺
5
)全屏
最帅的当然是全屏啦!快捷捷键
“
Alt+Enter”
,菜单操作
“
View->Full Screen-
>Full Screen”
。我最喜欢的是
“
Shift+Alt+Enter”
,“多窗口全屏”,可以通过快
捷键
“
Alt+Tab”
来切换各个窗口。如图
05-47
所示。
退出全屏,把刚才按的快捷键再按一下。
图
05-47
多窗口全屏
6
)半透明
半透明呀!怎么可以这么帅?快捷键
“
Alt+R”
来回切换。如图
05-48
所示。
图
05-48
界面半透明效果
7.8
自定义快捷键
这是一项帅到没朋友的功能,虽然我很少使用这项功能,但是还是要向自由精
神致敬!如图
05-49
所示。
图
05-49
自定义快捷键
8 SecureCRT
Windows
平台下一款不错的伪终端软件。
支持标签式多伪终端连接,支持的连接接协议有
Serial
(串行连接,比如我们
常用
RS232
串口)、
telnet
、
telnet/ssl
、
ssh1
、
ssh2
、
Rlogin
、
TAPI
、
Raw
等。
当然,也支持日志记录、文件上传及下载和运行脚本等功能。
不好的一点就是它需要支付一定的费用。什么
?
破解版?还是支持一下作者吧
!
使用方法可以参考
Xshell
,不多赘述。
9 minicom
minicom
是
UNIX
系操作系统下的的首选伪终端软件,虽然
CuteCom
和
Qcom
等也很不错,但是相比较而言,我还是推荐使用
minicom
,因为它的用户交互体
验非常简洁,是我喜欢它的主要原因。
在
UNIX
系操作系统下使用伪终端非常方便,使用
USB
转串口转接线也不需
要安装驱动程序,操作系统自带了各种串口驱动,我的经历中还没有遇到过
Linux
下安装串口驱动这会事。
9.1
安装
minicom
使用系统提供的包管理器在线安装
minicom
二进制版本是最便捷的方式,当然
也可以到官网下载二进制包再安装,或者是下载源码,自己编译安装,不过使用
源码安装前需要先装好
GCC
。
我比较喜欢使用在线安装二进制,简单方便。有关
Linux
软件安装方面的内容
请参阅本书附录
6
《
Linux
软件管理》。
9.2
设置运行参数,并保存到配置文件
运行和配置
minicom
需要管理员权限,可以使用管理员登录,或者是把普通用
户加入到
“
/etc/sudoers”
中,运行
minicom
时在前面添加命令
“
sudo”
。有关
Linux
用户管理的更多内容请参阅本书附录
5
《
Linux
用户管理》。本例示例如下:
管理员用户配置
minicom
参数:
#
minicom -s
普通用户配置
minicom
参数:
%
sudo minicom -s
如图
05-50
所示。
图
05-50 minicom
参数设置界面,串口参数设置入口
选中
“
Serial Port Setup”
回车,进入串口参数设置界面。
需要设置的项有
A
,
E
,
F
,
G
等,设置界面如图
05-51
所示。
图
05-51 minicom
串口参数设置界面
A
,
Serial Device
,串口设备,如果使用本机的串口,设备名称一般
是
/dev/ttyS0
,如果是
USB
转串口,设备名称一般是
/dev/ttyUSB0
,按字母
“
a”
进
入设置。具体的串口设备名称可以到
/dev
下面查看,使用命令:
#
ll /dev/ | grep USB
E
,
Bps/Par/Bits
,用来设置波特率,校验,及数据位等,按字母
“
e”
进入设置。
设置界面如图
05-48
所示。使用哪一个参数,直接按参数前面的字母即可。我们
使用的参数是
“
9600”
、“
8”
、“
N”
、“
1”
,快捷的设置方式是只按字母
“
c”
和
字母
“
q”
,当然也可以分别设置每项参数。设置完成之后按回车退出。
如图
05-52
所示。
图05-52 设置
minicom
串口参数
F
,
Hardware Flow Control
,设置为
No
,按字母
“
f”
设置。如图
05-51
所示。
G
,
Software Flow Control
,设置为
No
,按字母
“
g”
设置。如图
05-51
所示。
全部参数设置完成后,回车返回。
9.3
保存参数设置
可以把刚才设置的参数保存为默认,也可以保存到一个文件当中。对应的选项
分别是
Save setup as dfl
Save setup as..
我比较喜欢把配置保存在配置文件当中。配置文件以文本的形式保存的
/etc/
目
录下面,以“
minirc.”
开头。比如我保存的配置文件名字是“
niuhai.conf”
,那么
在
/etc/
目录下显示的文件名就是“
minirc.niuhai.conf”
。如果配置参数有变化,直接
修改配置文件也是一样的。如图
05-53
所示。
图
05-53
保存
minicom
配置参数到文件当中
9.4
调用
如果保存默认,下次直接运行即可,但是如果设备号或串口参数变化后,默认
配置就用不了了。运行和调用
minicom
也需要管理测试权限。调用示例如下:
管理员用户调用
minicom
命令:
#
minicom
普通用户调用
minicom
命令:
$
sudo minicom
建议将修改后的配置保存到文件中,并根据不同的设备名及串口参数保存不同
的文件名。如果保存到文件,使用时执行下面的命令即可,相关的配置参数就带
进来了。
#
minicom <
配置文件名
>
比如我以
niuhai
用户登录到系统,上面保存的配置文件的名字是
niuhai.conf
,
这时就可以使用的如下命令来调用:
%
sudo minicom niuhai.conf
9.5
获取帮助
在使用的过程中,任何时候都可以通过按
CTRL+A
,
Z
来获取帮助、和退出程
序等。如图
05-54
所示。
图 05-54 minicom 帮助
丰富的功能都在帮助界面显示出来了,重点介绍几个常用的功能。
1
)
Capture on/off...L
捕获文本,相当于
hypertrm
里的
Capture Text
,可将屏幕
打印出的文本捕获到一个文件当中,快捷键是
“
Ctrl+L”
;
2
)
Send files...S
发送文件到被管理的设备,快捷键
“
Ctrl+S”
;
3
)
Receive file...R
接收从被管理设备传回的文件,快捷键
“
Ctrl+R”
;
4
)
Run Scripts (Go)...G
运行脚本,快捷键
“
Ctrl+G”
;
5
)
Clear Screen...C
清屏,快捷键
“
Ctrl+C”
;
6
)
eXit and reset...X
退出并发送重置命令到
modem
,快捷键
“
Ctrl+X”
。补充
一点,
minicom
最初开发出来是用来连接
modem
用的,所以这里发送的重置指令
对我们的网络设备不起作用,如果不想让它发送重置指令,可以看下下面的一个
条目;
7
)
initialize Modem...M
重置
modem
的指令都是在这里设置的,快捷键
“
Ctrl+M”
,如果在退出
minicom
时不想发送重置指令,可以将里面的初始化指
令删除。
9.6
使用快捷键
丰富的快捷键,所有列出来的功能都可以用快捷键来调出。如果要调用某一项
功能,按下“
Ctrl+
这项功能后面的字母”即可,相当方便。
9.7 minicom
常见问题
只要参数设置正确,极少出现问题,表现非常稳定。但是意外还是发生了。
9.7.1
minicom
运行不起来
非正常关闭
minicom
,会在
/var/lock
下创建几个文件
LCK*
,这几个文件会阻
止
minicom
的运行,删掉它们就好啦。
9.7.2
参数正确,但还是乱码
其实是线的问题,但这一条线在其它电脑上使用是正常的,可能是在这一台电
脑上接触不太好吧。这个问题相当恼火,导致此兄怀疑是操作系统问题,换了好
几次系统也没有解决。什么都不说了,直接上图,图
05-55
:
图
05-55 minicom Linux
下的一次乱码
1
)图片中上面的部分是解决完问题之后的正常显示,下面的乱码部分是故障
重现。
2
)故障的现象主要表现为部分显示乱码,按回车不换行。
3
)尝试过更改各种参数,更换
minicom
的软件版本,甚至多次重装操作系统
……
4
)也怀疑过
USB
转串口的线,换用其他人正常使用的线还是不能解决,最终
换了条串口线解决,使用一条内部只有三根线的串口线,就出现了图片中上面的
部分的正常显示。
5
)可是这一条串口线其他人用是没有问题的呀!问题的串口线可能是多次使
用后接口接触不是太好,但是又不影响在其它电脑上使用,所以问题才造成如此
大困扰。这很有可能是跟不同厂商的电脑硬件纠错的能力有关。
建议以后遇到乱码问题:
1
)检查串口参数;
2
)如果串口参数没有问题,直接
换线,而不是换电脑。
10
MacWise
Mac OS
平台下一款优秀的伪终端软件。不过他并不是免费的,需要你支付一
定的费用,但是确实很好用。可以下载下来试用一段时间,试用期满再付费。
11
乱码及处理
乱码是生产最常见的问题,而且我们把串口连接失败和连接成功但是没有会话
的交互显示也视为乱码来对待。最有可能原因有三:
1
)串口参数错误;
一般来说,犯这种错误的可能性还是比较高的,但排查和处理最为方便可行。
如果串口参数不正确,经常表现为串口连接会话建立失败,或者是会话建立成功,
但是会话交互无法进行。
2
)
USB
转串口转接线故障;
最常见的硬件故障,尤其是使用
pl232
芯片的转接线,价格便宜,但是故障率
高。不推荐使用,一次现场线缆问题,就把省下来的钱成倍地补了回来。
3
)串口线故障。
生产中遇到的相对比较少,用了很久的线,因为线缆老化或端接质量问题会导
致这种现象。
如果出现乱码,首先检查检查串口参数;确认参数正确后,做线缆替换测试;
如果条件不允许,再做换电脑测试。
生产中还遇到过同一条串口线(或
USB
串口转接线),在某台电脑上使用不
正常,换到另外一台电脑上就可以正常使用的现象。
换线测试与换电脑测试的区别:
1
)换电脑测试,把这条线接到另外一台电脑
上试一下;
2
)换线测试,再拿一条线来插到我这台电脑上试一下。
12
虚拟串口问题
生产中我们多使用
便携机
+USB
转串口
的方式工作,这种工作方式在
Unix
系
平台基本没有问题,最起码我十几年的工作经历是没有遇到过,但是
Windows
平
台就不好说了。主要表现为安装串口驱动失败或打开串口失败。
如果是安装串口失败,多数情况下是之前安装过其它厂家的串口驱动,相互之
间存在兼容必问题。需要先把之前安装的串口驱动卸载,再重新安装这一次需要
的驱动。
如果是打开串口失败,多数情况下是有其它应用程序占用此串口,或者选择串
口错误。有时虚拟终端程序的异常退出也会导致打串口失败,其本质是串口占用
没有释放。台式机自带串口,一般是
COM1
;便携机安装
USB
转串口驱动后,会
虚拟出来一个串口号,通过设备管理器可以查看到。串口号也可以通过设备管理
器修改。
13
远程
Console
口权限
有些时候,你可能想远程获取
console
口权限,可以使用一个
串口转网络的小
设备
+
虚拟串口驱动
的方式来实现。如果只是为了远程管理的话,使用
SSH
客户
端,通过网络连接最合适做法。
个人非常不建议这种做法:
1
)安全问题,
console
口权限是物理权限,权限非常高,生杀予夺;
2
)网络稳定性影响连接质量;
3
)获取信息不全面,往往难以有效解决问题;
4
)经常还需要他人在现场协助,而且效率低;
5
)除非终端设备不支持网络连接管理,否则不要使用网络转串口设备。
14
选择合适的终端工具
关于虚拟终端软件的选择,我有两点建议:
1
)
Windows
平台首推
PuTTY
,其次是
Xshell
。虽然
Xshell
是收费软件,但是
软件发行方也提供了免费版本。
2
)
Unix
系平台推荐使用
minicom
,如果不想把
Linux
系统装到硬盘上,可以
制作或直接使用某个发行版的
USB live
系统,开机时从闪盘引导就可以使用了。