设立emulator的location与telnet的使用

设置emulator的location与telnet的使用
(A)Linux的Telnet的配置:
以下内容来自链接:http://www.178-go.com/archives/linux-telnet.html
Linux 下Telnet的设置
Telnet服务的配置步骤如下:

    一、安装Telnet软件包(通常要三个)
1、 Telnet-clIEnt (或 Telnet),这个软件包提供的是 Telnet 客户端程序;
2、 Telnet-server ,这个软件包提供的是 Telnet 服务器端程序;
3、 xinetd,telnet由xinetd这个super daemon进行管理和控制,telnet的启动脚本放在/etc/xinetd.d中,所以要启动telnet需要修改这个配置文件
安装之前先检测是否这些软件包已安装,方法如下:
      # yum install -y telnet telnet-server xinetd

    二、启动Telnet服务
1、开启服务
方法一:使用ntsysv,在出现的窗口之中,将 Telnet前面*加上,然后按下 OK 。
方法二:编辑 /etc/xinetd.d/Telnet
[root@echo root]# vi /etc/xinetd.d/Telnet
找到 disable = yes 将 yes 改成 no 。
2、激活服务
[root@echo root]# service xinetd restart


    三、测试服务
[root@echo root]#Telnet ip(或者hostname)
如果配置正确,系统提示输入远程机器的用户名和密码
Login:
PassWord:
注:默认只允许普通用户  

    四、设置Telnet端口
#vi /etc/services
进入编辑模式后查找Telnet(vi编辑方式下输入/Telnet)
会找到如下内容:
Telnet 23/tcp
Telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重启Telnet服务,Telnet默认端口号就被修改了。

    五、Telnet服务限制
Telnet是明文传送口令和数据的,如果你对其默认的设置不满意,有必要对其服务范围进行限制。假设你的主机的ip是210.45.160.17,就可以按如下方式设置了。
#vi /etc/xinetd.d/Telnet
service Telnet
{
disable     = no #激活 Telnet 服务,no
bind       = 210.45.160.17 #your ip
only_from    = 210.45.0.0/16 #只允许 210.45.0.0 ~ 210.45.255.255 这个网段进入
only_from    = .edu.cn #只有教育网才能进入!
no_access    = 210.45.160. #这两个ip不可登陆
access_times  = 8:00-12:00 20:00-23:59 # 每天只有这两个时间段开放服务
……
}

    六、Telnet root用户的登入
Telnet 不是很安全,默认的情况之下不允许 root 以 Telnet 进入 Linux 主机 。若要允许root用户登入,可用下列方法:
[root @echo /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!

[root@echo root]# mv /etc/securetty /etc/securetty.bak
这样, root 就可以直接进入 Linux 主机了。不过,建议不要这样做。也可以在普通用户进入后,切换到root用户,拥有root的权限。

(B) 使用Telnet模拟Android emulator的GPS:
以下内容部分来自链接:http://blog.****.net/kesenhoo/article/details/6367250
利用模拟器进行GPS模拟的方法有两种:1、利用telnet;2、利用DDMS。
1.使用telnet:
(1)在命令行下输入telnet localhost 5554(注意5554代表的是模拟器使用的端口)
     C:/Documents and Settings/hk2197>telnet localhost 5554
(2)再在命令行Android Console: type 'help' for a list of commands下利用命令:
     geo fix 120  35(注意两个数字分别代表latitude,longitude)进行本机地理位置设置。

常见错误:
(1)telnet不是内部或外部命令,若是win 7 系统默认没有安装telnet客户                         端,需要从控制面板,打开关闭windows功能里面勾选telnet客户端即可。              (2)geo fix 的时候经常提示错误,有时成功却有时失败,至今不得解,求高手赐教。

2.使用DDMS()方法:
待续……
2011-04-28续
打开eclipse的emulator control视图,可以使用Manual窗口的坐标值模拟(未经实验,仅供参考)

这里以上链接的作者是用的windows操作系统,在linux下也是一样的,需要注意的是:错误(2)并不存在,而是当诸如google map等app在使用时如果重启这个应用,之前设置的locaiton是无效的。

(C) 使用python的Telnetlib库设置GPS:
    tn = Telnetlib.telnet()
    tn.wait_until("OK",timeout)
    tn.write("geo fix 120 35")
    tn.write("exit")
    这里要注意显示timeout的使用,不然可能导致hang住。 

(D) Android的LocationManager的使用可以参考以下链接:      
    http://my.oschina.net/kevin008/blog/2205