实现Linux(Ubuntu)上锐捷的自动登录及多种版本锐捷(图形与terminal))

突然发现了一个更好一点的改版开源锐捷,http://code.google.com/p/mentohust/downloads/list,这里面提供了很多的版本下载,http://code.google.com/p/mentohust/wiki/Install这里则提供的安装的方法,多种平台皆可,使用方法值得琢磨。

另注:HUST为华中科技大学,MenoHUST则是HUST的一个小组,望各位HUST校友们广为传播。

具有图形界面的锐捷则见此链接http://www.linux-ren.org/modules/softstorage/show.php?content=140&forumpage=6也是开源,自己去研究啦

当然这下面的方法依然适用...

由于在学校里用的是教育网,所以少不了要用锐捷,但每次输入帐号和密码确实稍显麻烦,找了不少方法,想实现锐捷的自动登录。尝试了很长时间,竟然发现网上有现成的方法,倒省去了我不少力气,于是将其整理如下。

前提是要安装一个包,在bash中运行

sudo apt-get install expect

新建一个文件,名字随便,譬如我这是xtgsu.exp,内容如下:

#!/usr/bin/expect -f
set force_conservative 0                         
if {$force_conservative} {
   set send_slow {1 .1}
   proc send {ignore arg} {
	sleep .1
	exp_send -s -- $arg
	}
}
set timeout -1

#此处为执行你的xrgsu
spawn xrgsu

expect -exact "Please input your user name:"
send -- "你的帐号\r"
expect -exact "Please input your password:"
send -- "你的密码\r"
expect -exact "Use DHCP,1-Use,0-UnUse(Default: 0):"
send -- "0\r"
expect -exact "Use default auth parameter,0-Use 1-UnUse(Default: 0):"
send -- "0\r"
expect -exact "Please input 'unauth' to LogOff:"
expect eof

注: 这里要做下说明,我的锐捷xrgsu是放在/us/bin下,对于不同的路径可以自己在代码中修改

然后创建一个Launcher,在属性中输入如下内容

gksudo expect 你的xrgsu.exp文件的路径

然后这个Launcher就可以按你自己的需求随便放在哪了,我就是放在菜单栏中。

其实我最初是想通过C语言向标准输入进行字符串输入的,也自己另写了一个程序测试,测试倒是结果不错,但锐捷上面就是运行不了,不知道有谁知道或对这个有兴趣,希望可以讨论一下。另外我试了下shell脚本的重定向,貌似不行的好像。

猜你喜欢

转载自arescaiser.iteye.com/blog/806098