分类: LINUX
2010-07-16 20:47:35
minicom - 友好易用的串口通信程序
语法概要
minicom [-somlz8] [-c on|off] [-S script] [-d entry]
[-a on|off] [-t term] [-p pty] [-C capturefile]
[configuration]
描述
minicom是个通信程序,有点象共享软件 TELIX,但其源码可以自由
获得,并能够运行于多数Unix系统。 它包括以下特性:自动重拨号
的拨号目录, 对串行设备UUCP格式的lock文件的支持,独立的脚本
语言解释器,文件捕获,多用户单独配置,等等。
------------------------
命令行参数
-s 设置。root 使用此选项在/etc/minirc.dfl中编辑系统范围的缺省值。
使用此参数后,minicom 将不进行初始化, 而是直接进入配置菜单。
如果因为你的系统被改变,或者第一次运行minicom时,minicom不能
启动,这个参数就会很有用。对于多数系统,已经内定了比较合适的
缺省值。
-o 不进行初始化。minicom 将跳过初始化代码。如果你未复位(reset)
就退出了minicom,又想重启一次会话(session), 那么用这个选项
就比较爽(不会再有错误提示:modem is locked ---- 注)。但是也
有潜在的危险:由于未对lock文件等进行检查,因此一般用户可能会
与uucp之类的东东发生冲突......也许以后这个参数会被去掉。现在
姑且假定,使用modem的用户对自己的行为足够负责。
-m 用Meta或Alt键重载命令键。在1.80版中这是缺省值,也可以在
minicom 菜单中配置这个选项。不过若你一直使用不同的终端,其中
有些没有Meta或Alt键,那么方便的做法还是把缺省的命令键设置为
Ctrl-A,当你有了支持Meta或Alt键的键盘时再使用此选项。Minicom
假定你的Meta键发送ESC前缀,而不是设置字符最高位的那一种(见下)。
-M 跟“-m”一样,但是假定你的Meta键设置字符高端的第八位(发送128+
字符代码)。
-z 使用终端状态行。仅当终端支持,并且在其termcap或terminfo数据库
入口中有相关信息时才可用。
-l 逐字翻译高位被置位的字符。使用此标志, minicom将不再尝试将IBM
行字符翻译为ASCII码,而是将其直接传送。许多PC-Unix克隆不经翻译
也能正确显示它们(Linux使用专门的模式:Coherent和Sco)。
-a 特性使用。有些终端,特别是televideo终端, 有个很讨厌的特性处
理(串行而非并行)。minicom缺省使用‘-a on’,但若你在用这样的
终端,你就可以(必须!)加上选项‘-a off’。尾字‘on’或‘off’
需要加上。
-t 终端类型。 使用此标志, 你可以重载环境变量TERM, 这在环境变量
MINICOM 中使用很方便; 你可以创建一个专门的 termcap 入口以备
minicom 在控制台上使用,它将屏幕初始化为raw模式, 这样, 连同
‘-f’标志一起,就可以不经翻译而显示IBM行字符。
-c 颜色使用。有些终端(如Linux控制台)支持标准ANSI转义序列色彩。由
于termcap显然没有对于色彩的支持,因而minicom硬性内置了这些转义
序列的代码。所以此选项缺省为off。使用‘-c on’可以打开此项。把
这个标志,还有‘-m’放入MINICOM环境变量中是个不错的选择。
-S 脚本。启动时执行给定名字的脚本。到目前为止,还不支持将用户名
和口令传送给启动脚本。如果你还使用了‘-d’选项,以在启动时开
始拨号,此脚本将在拨号之前运行,拨号项目入口由‘-d’指明。
-d 启动时拨打拨号目录中的一项。可以用索引号指明,也可以使用入口
项的一个子串。所有其它程序初始化过程结束后,拨号将会开始。
-p 要使用的伪终端。它超载配置文件中定义的终端端口,但仅当其为伪
tty设备。提供的文件名必须采用这样的形式:(/dev/)tty[p-z][0-f]
-C 文件名。启动时打开捕获文件。
-8 不经修改地传送8位字符。“连续”意指未对地点/特性进行真正改变,
就不插入地点/特性控制序列。此模式用于显示8位多字节字符,比如
日本字(TMD!应该是中国字!!)。不是8位字符的语言都需要(例如显示
芬兰文字就不需要这个)。minicom启动时,它首先搜索用于命令行参
数的MINICOM环境变量----这些参数可在命令行上超载。例如:若你进
行了如下设置:
MINICOM='-m -c on'
export MINICOM
或者其它等效的设置,然后启动minicom,minicom 会假定你的终端
有Meat键或Alt键,并且支持彩色。如果你从一个不支持彩色的终端
登录,并在你的启动文件(.profile或等效文件)中设置了MINICOM,
而且你又不想重置你的环境变量,那么你就可以键入
‘minicom -c off’,
来运行这次没有色彩支持的会话。
------------------------
配置
配置参数更有趣。通常,minicom从文件“minirc.dfl”中获取其缺省
值。不过,若你给minicom一个参数,它将尝试从文件
“minirc.configuration”
中获取缺省值。因此,为不同端口、不同用户等创建多个配置文件是
可能的。最好使用设备名,如:tty1,tty64,sio2等。如果用户创建
了自己的配置文件,那么该文件将以“.minirc.dfl”为名出现在他的
home目录中。
------------------------
使用
Minicom是基于窗口的。要弹出所需功能的窗口,可按下Ctrl-A (以下
使用C-A来表示Ctrl-A),然后再按各功能键(a-z或A-Z)。先按C-A,再
按'z',将出现一个帮助窗口,提供了所有命令的简述。配置minicom
(-s 选项,或者C-A、O)时,可以改变这个转义键,不过现在我们还
是用Ctrl-A吧。
以下键在所有菜单中都可用:
UP arrow-up 或 'k'
DOWN arrow-down 或 'j'
LEFT arrow-left 或 'h'
RIGHT arrow-right 或 'l'
CHOOSE Enter
CANCEL ESCape.
屏幕分为两部分:上部24行为终端模拟器的屏幕。 ANSI或VT100转义
序列在此窗口中被解释。若底部还剩有一行,那么状态行就放在这儿;
否则,每次按C-A时状态行出现。 在那些有专门状态行的终端上将会
使用这一行,如果termcap信息完整且加了-k标志的话。
下面按字母顺序列出可用的命令:
C-A 两次按下C-A将发送一个C-A命令到远程系统。如果你把“转义字符”
换成了C-A以外的什么字符,则对该字符的工作方式也类似。
A 切换“Add Linefeed”为on/off。若为on,则每上回车键在屏幕上
显示之前,都要加上一个linefeed。
B 为你提供一个回卷(scroll back)的缓冲区。可以按u上卷,按d下卷,
按b上翻一页,按f下翻一页。也可用箭头键和翻页键。可用s或S键
(大小写敏感)在缓冲区中查找文字串,按N键查找该串的下一次出现。
按c进入引用模式,出现文字光标,你就可以按Enter键指定起始行。
然后回卷模式将会结束,带有前缀'>'的内容将被发送。
C 清屏。
D 拨一个号,或转向拨号目录。
E 切换本地回显为on/off (若你的minicom版本支持)。
F 将break信号送modem。
G 运行脚本(Go)。运行一个登录脚本。
H 挂断。
I 切换光标键在普通和应用模式间发送的转义序列的类型(另参下面
关于状态行的注释)。
J 跳至shell。返回时,整个屏幕将被刷新(redrawn)。
K 清屏,运行kermit,返回时刷新屏幕。
L 文件捕获开关。打开时,所有到屏幕的输出也将被捕获到文件中。
M 发送modem初始化串。若你online,且DCD线设为on,则modem被初始化
前将要求你进行确认。
O 配置minicom。转到配置菜单。
P 通信参数。允许你改变bps速率,奇偶校验和位数。
Q 不复位modem就退出minicom。如果改变了macros,而且未存盘,
会提供你一个save的机会。
R 接收文件。从各种协议(外部)中进行选择。若filename选择窗口和下
载目录提示可用,会出现一个要求选择下载目录的窗口。否则将使用
Filenames and Paths菜单中定义的下载目录。
S 发送文件。选择你在接收命令中使用的协议。如果你未使文件名选择
窗口可用(在File Transfer Protocols菜单中设置),你将只能在一
个对话框窗口中写文件名。若将其设为可用,将弹出一个窗口,显示
你的上传目录中的文件名。可用空格键为文件名加上或取消标记,用
光标键或j/k键上下移动光标。被选的文件名将高亮显示。 目录名在
方括号中显示,两次按下空格键可以在目录树中上下移动。最后,按
Enter发送文件,或按ESC键退出。
T 选择终端模拟:ANSI(彩色)或VT100。此处还可改变退格键,打开或
关闭状态行。
W 切换linewrap为on/off。
X 退出minicom,复位modem。如果改变了macros,而且未存盘,会提供
你一个save的机会。
Z 弹出help屏幕。
------------------------
拨号目录(DIALING DIRECTORY)
按下Ctrl-A、D,会进入拨号目录。可以增减、删除或修改各个项目。
选择“dial”,则会拨打标记项目的电话号码,或者当未作任何标记
时高亮显示的项目号码。modem拨号时,可按ESC取消;任何其它按键
将关闭拨号窗口,但并不取消拨号。拨号目录将保存在你的home目录
下的“.dialdir” 文件中。 可用箭头键可以上下卷动, 但也可用
PageUp或PageDown键卷动整页。若没有这些键,可用Ctrl-B(向后),
以及Ctrl-F(向前)。可用空格键标记多个项目,若minicom不能建立
一个连接,它将在此列表中循环进行拨号。目录中标记项目的名字前
将显示一个‘>’符号。
“edit”菜单不言自明,但这里还是简要介绍一下。
A - Name 项目名
B - Number 电话号码
C - Dial string #
指出用于连接的拨号串。在Modem and dialing菜单
中有三种不同的拨号串(前缀和后缀)可以进行设置。
D - Local echo 可为on或off(若你的minicom版本支持)
E - Script 成功建立连接后必须执行的脚本(参runscript手册)
F - Username 传给runscript程序的用户名。在环境串"$LOGIN"中
传送。
G - Password 传送为"$PASS"的口令。
H - Terminal Emulation
使用ANSI或VT100模拟。
I - Backspace key sends
退格键发送的代码(Backspace或Delete)。
J - Linewrap 可为on或off。
K - Line settings
本次连接的bps速率,位数和奇偶设置。速率可选当
前值,这样就能用当时正在使用的任何速率值(当你
有多个modem时,这玩儿很有用)。
L - Conversion table
可以指定运行login脚本前,此拨号项目应答的任何
时候要装入的字符转换表。若此域为空,则转换表
保持不变。
edit菜单还显示了你最近一次呼叫此项的日期和时间,及呼叫该项的
总次数。但并不允许你改变这些值。当你进行连接时,它们会自动更新。
------------------------
配置
按Ctrl-A、O,进入setup菜单。人人都可以改变其中的多数设置,
但有些仅限于root。在此,那些特权设置用星号(*)标记。
Filenames and paths
此菜单定义你的缺省目录。
A - download 下载的文件的存放位置
B - upload 从此处读取上传的文件
C - script 存放login脚本的位置
D - Script program
作为脚本解释器的程序。缺省是“runscript”,
也可用其它的东东(如: /bin/sh 或 "expect")。
Stdin和Stdout连接到modem,Stderr连接到屏幕。
若用相对路径(即不以'/'开头),则是相对于你
的home目录,除了脚本解释器以外。
E - Kermit program
为kermit寻找可执行程序和参数的位置。命令行上
可用一些简单的宏:‘%1’扩展为拨出设备的完整
文件名,‘%b’扩展为当前波特率。
----------------------------
File Transfer Protocols
此处规定的协议将在按下Ctrl-A、s/r时显示。行首的“Name”为将要
显示在菜单中的名字。“Program”为协议路径,其后的“Name”则确
定了程序是否需要参数,如要传送的文件。“U/D”确定了该项要否在
“upload/download”菜单中出现。“Fullscr”确定要否全屏运行,
否则mincom将仅在一个窗口中显示其标准输出。 “IO-Red” 确定
minicom要否将程序的标准io连接到modem端口。“Multi”告诉文件
名选择窗口协议能否用一个命令发送多上文件。它对于下载协议无效;
如果你不用文件名选择窗口,那么上传协议也会忽略它。老版本的sz和
rz非全屏,并且设置了IO-Red。但是,有些基于curses的版本,至少是
rz,不希望其stdin和stdout被改向, 以及全屏运行。 所有文件传输
协议都以用户的UID运行,但并不是总有UID=root。对于kermit,命令
行上可用'%l' 和 '%b'。在此菜单内,你还能规定当提示文件要上传时,
要否文件选择窗口,以及每次自动下载开始时要否提示下载目录。如果
禁止下载目录提示,将使用file and directory菜单中规定的下载目录。
----------------------------
串口设置
*A - 串行设备
多数人用 /dev/tty1。Linux下用/dev/cua或/dev/modem。
如果你有多个modem连接到两个或以上的串口,可以在这儿
列表指定,用空格、逗号或者分号作为分隔符。minicom启动
时,检查此列表直至发现有可用的modem,并使用之。(不过,
你不能为它们指定不同的初始化串....至少现在不能)
*B - Lock 文件位置
多数系统上,这应该是 /usr/spool/uucp。Linux系统则使用
var/lock。若此目录不存在,minicom将不会试图使用lock
文件。
*C - Callin program
若你的串口上有uugetty设备或别的什么,可能你就需要运行
某个程序以把modem的cq端口切换到dialin/dialout模式。这
就是进入dialin模式所需的程序。
*D - Callout program
这是进入dialout模式所用的程序。
E - Bps/Par/Bits
启动时的缺省参数。
如果其中某一项为空,它就不会被使用。因此若你并不在意locking,
你的modemline上也没有getty在运行,项目 B - D 就应该空着。注意!
有效用户ID "root"(如0)才能运行callin和callout。
----------------------------
Modem and Dialing
modem的参数在此处定义。我不再进一步解释了,因为缺省是
用于genericHayes modems,这应该总能正常工作的。这个文件
可不是Hayes的学习指导:-)唯一值得注意的是,控制字符可以
用加前缀‘^’的方式发送,其中‘^^’指‘^’本身,‘\’
字符必须双写为‘\\’,因为反斜线在宏定义中有特殊意义。
不过有些选项,跟modem没多大关系,倒是与minicom自己的行
为关系不少:
M - Dial time
当未建立连接,minicom超时前的秒数。
N - Delay before redial
若未建立连接,minicom将重新拨号,不过先要等待一段时间。
O - Number of tries
minicom试图拨号的最大次数。
P - Drop DTR time
此项设为0时,minicom通过发送一个Hayes类型的hanup序列
进行挂断。若设为非0值,则通过放弃DTR line来挂断。该值
指定了结束DTR要经历的秒数。
Q - Auto bps detect
设为on时,minicom尝试匹配被呼叫方的速度。但多数现代的
modem并不需要这个选项,因为modem对数据进行了缓冲,转换
了速度。
R - Modem has DCD line
如果你的modem和操作系统灰支持DCD line(建立连接后它就
升“高”了),那么minicom就会使用它。
S - Status line shows DTE speed / line speed
你可以切换状态行或者显示DTE速度(minicom与你的modem通
信的速度)或者显示线速度(你的modem与其它modem在线上
通信的速度),注意连接期间线速度可能会变化,但你将仍然
只能看到modem启动连接时的初始速度。这是因为modem并不
告诉程序速度有否改变。而且,要看到线速度,你需要在连接
字串中进行设置,以使modem显示它。否则,你将只能看到一个
值为0的线速度。
注意此菜单还是个特例:每个用户都可在此改变参数,但它们不会被
保存。
----------------------------
Screen and keyboard
A - Command key is
进入命令模式的热键。若将其设为‘Alt’或‘Meta’键,
你就可以直接用Alt-key调用命令,而不是用HotKey-key。
B - Backspace key sends
仍然有些系统需要VT100来发送DEL而非BS。使用此选项,
你就能干那件蠢事了。(我倒!甚至缺省值就是on!)
C - Status line is
打开或关闭。一些慢的终端(如X-terminals)在卷动的时候,
会使状态行“上蹿下跳”,所以需要时可以将状态行关闭。
命令模式下仍会被显示。
D - Alarm sound
若打开,minicom会在成功连接,以及上传/下载完成后发出
报警声。
E - Foreground Color (menu)
指定所有的minicom配置窗口使用的前景色。
F - Background Color (menu)
指定所有的minicom配置窗口使用的背景色。注意:minicom
不允许你将前/背景色设为相同值。
G - Foreground Color (term)
指定在终端窗口中使用的前景色。
H - Background Color (term)
指定在终端窗口中使用的背景色。注意:minicom不允许你将
前/背景色设为相同值。
I - Foreground Color (stat)
指定在状态行中使用的前景色。
J - Background Color (stat)
指定在状态行中使用的背景色。注意:minicom允许你将状态
行的前/背景色设为相同值。这实际上会隐藏状态行,不过如
果你有意这样是做,可以参考这个选项。
K - History buffer size
历史缓冲区中保存的行数(用于回卷)。
L - Macros file
保存有macros的文件的完整路径。macros允许你定义当按下
某一个键时被发送的字符串。minicom中,可定义F1到F10,
发送多达256个字符。(这在编译时被确定了)。 一按下
Enter,就会检验你指定的文件名。 若你无权建立指定的文件,
会有个错误信息为你指出,然后将你不得不重新编辑文件名。
若可以建立该文件,minicom会去检查它是否已经存在, 若
存在,就假定它是个macro文件并读入;否则,哈,那是你的
问题了:-) 如果此文件不存在,就接受此文件名。
M - Edit Macros
打开一个新窗口,允许你在此编辑F1到F10的宏。
N - Macros enabled
是/否。若允许macro,则F1-F10键将发送VT100/VT200的功能
键转义序列。
O - Character conversion
在此显示激活的转换表文件名,若看不到,则表明尚未有活
动的转换表。按下0,可以看到转换表编辑菜单。
----------------------------
Edit Macros
F1到F10的宏在此定义。窗口底部以图例显示有特殊意义的字符组合。
允许以‘^’为前缀加普通文本的方式输入控制字符,其中‘^^’表示
‘^’自身。可用‘^~’代码发送1秒的延迟。当你ftp或telnet某地址
后,试图login时,它很有用。还可以从拨号目录中加上你的当前用户
名和口令,分别用‘\u’和‘\p’表示。若需要在macro中用反斜线
字符,应双写为‘\\’。要编辑一个macro,按下相应数字(或字母如
F10),则光标移到macro的末尾。编辑该行时,可用左右箭头,Home
和End键,Del和BackSpace键,以及ESC和回车键。ESC取消所做的任何
修改,回车则接受之。
----------------------------
Character conversion
此处可编辑字符转换表。如果你不是美国人,你该知道,许多语言中
的字符并不包括在ASCII字符集中,过去也许是用它们替换了ASCII表
中不太重要的字符,现在则常常用大于127的字符代码表示。其实有许
多表示这些字符的方法。这儿正是为那些使用不同于你的计算机字符
集的系统编辑转换表的地方,
A - Load table
你可能已经猜出来了。此命令从磁盘中装入转换表。将询问你表的
文件名。预定义的表.mciso,.mcpc8及.mcsf7应包含在程序中。表
.mciso 并不进行转换, .mcpc8用于连接使用8位pc字符集的系统,
.mcsf7 则用于兼容很老式的7位编码的系统, 这种7位码用芬兰语和
瑞典语的区分字符置换了字符{|}[]\。
B - Save table
以指定文件名保存活动的转换表。
C - edit char
这里可对现存的表自行修改。首先将询问你要修改的转换的字符值(十
进制);接着你要指出从外部接收的字符在屏幕上显示为何者。然后
询问你当按下键盘上的那个键时,你要发送什么。
D - next screen 下一屏
E - prev screen 前一屏
不错,可能你注意到了这一屏显示了活动转换的种类。屏幕(通常)太
小了,没法用一种简单易懂的格式来一次显示整个表。你可以用此来
做右卷动转换表。
F - convert capture
切换当写入捕获文件时是否使用转换表。
Save setup as dfl
保存参数,作为下一次启动程序时的缺省值。除了dfl,其它参数名
都会出现,这取决于下次启动程序时会用哪一个。
Save setup as..
以指定名字保存参数。只要以此名为参项启动minicom,它就会用这些
参数。当然只有root有使用这个选项的特权。
Exit
不保存退出此菜单。也可按ESC键。
Exit from minicom
只有root才会看到这个菜单项 ---- 如果启动 minicom 时用了选项
‘-s’的话。这样,就可以在实际上并未运行minicom的情况下,修
改其配置。
------------------------
状态行
状态行上有好几个指示器,其意义不言自明。可能需要解释一下奇怪
的APP和NOR指示器。VT100的光标键可有两种模式:应用模式和光标
模式。这由一个转义序列来控制。当你用minicom登录后,如果发现
光标键不能工作,比如在vi中,这时你就可以用此指示器来查看光标
键是在应用模式中,还是在光标模式中。可以用Ctrl-A、I来切换。
如果那这时光标键能工作,可能是远程系统的termcap初始化串发生
了错误。
------------------------
地点
现在minicom已经支持本地语言。这就是说,你可以通过设置环境变量
LANG,把多数的英文消息及其它字串转变为其它语言。到1998年7月,
已经支持巴西葡萄牙语、芬兰语和日本语。对土耳其语的支持在建。
------------------------
安全问题
由于minicom在一些计算机上以root运行,可能你要限制对它的使用。
可以通过在缺省文件目录中使用一个叫“minicom.users”的配置文件
来实现。该文件的句法如下:
[configuration...]
为了允许用户‘miquels’使用缺省配置,可在“minicom.users”中
输入下行:
miquels dfl
如果你想让用户使用比缺省值更多的配置,那么在用户名下面加上
那些配置的名字即可。若用户名后未给出配置,则minicom假定该用户
可以使用所有配置。
------------------------
其它杂项
若 minicom 被挂起,则可用 SIGTERM 来 kill之(即kill -15,或者,
既然sigterm为缺省值,干脆“kill 在复位等动作后安全退出 minicom 。 还可以不挂断线路,
用带命令
“! killall -9 minicom”的脚本来kill minicom。若没有使用参数-9,
则minicom会先挂断,再退出。
因为许多转义序列以ESC开头(上箭头为ESC[A),所以minicom无法
知道它获得的ESC字符是你按下的ESC键,还是某一转义序列的一部分。
minicom的一个老版本,V1.2,以一种相当拙劣的方式解决此问题:
要获得ESC键,你得把它按两次。
这在1.3版中就好一点儿了:现在内置了1秒超时,象在vi中的一样。
在有select()系统调用的系统中,超时为0.5秒。而且....奇怪吧:
还加了一个Linux相关的专用hack :-) 现在,minicom可以区分ESC键
和转义序列了。要知其中猫腻,请参wkeys.c。不过它干得确实不错!
------------------------
文件
minicom将其配置文件保存在一个目录中,通常是:
/var/lib/minicom, /usr/local/etc或者/etc。
要想知道minicom编译时内定的缺省目录,可用命令
“minicom -h”,
在那儿你可能还会找到runscript(1)的demo文件:
minicom.users
minirc.*
$HOME/.minirc.*
$HOME/.dialdir
/usr/share/locale/*/LC_MESSAGES/minicom.mo
------------------------
版本
minicom已升级为 V1.82.1
作者
minicom 的原创作者为 Miquel van Smoorenburg
(, href=")。">miquels@cistron.nl)。
Jukka Lahtinen(, href=")
负责1.78以上的新版本,由以下人士协助:
href="为V1.79编写历史缓冲区搜索程序。">filipg@paranoia.com为
V1.79编写历史缓冲区搜索程序。
Arnaldo Carvalho de Melo()完成国际化
和巴西葡萄牙语的翻译。
Jim Seymour()编写多modem支持,
以及V1.80版以来使用的文件名选择窗口。
Tomohiro Kubota()编写日文翻译及引用程序,
并进行了一些更正。
Ga Qui ()编写法语翻译。
本man page中的内容多拷贝自minicom的原始README,作了几处更正。
其中有些内容及更正由Michael K.Johnson ()
完成。
Jukka Lahtinen ()加上了1.75版以后的一些
变动信息。
=====================================================================
用户手册 1999年1月10日
(完)