用Python编写Telnet服务器并嵌入IPython作为终端
我正在尝试写一个简单的Telnet服务器,让连接的客户端可以使用IPython命令行。有没有人知道怎么做到这一点?
我的问题主要是关于如何把IPython命令行嵌入到Telnet服务器里(我可能可以用Twisted来处理Telnet服务器的部分)。
谢谢!
2 个回答
0
我觉得要实现IPython的全部功能,比如自动补全什么的,是不太可能的。Twisted有一个Python命令行,它和telnet配合得很好。
1
你可以考虑使用真正的telnet或SSH服务器,然后把用户的登录shell设置为IPython。比如说,如果有一个用户叫'adam',你可以把这个用户在/etc/passwd
文件中的那一行改成这样:
adam:x:1000:1000:Adam Frist,,,:/home/adam:/usr/bin/ipython
通常,这一行的最后部分是一个实际的登录shell,比如bash,但其实不一定非得是这样。这样做的好处是你可以省去自己编写解决方案的麻烦,但可能会有一个缺点,就是你可能需要调整环境变量或者Python的路径才能让它正常工作。
你可以在Linux信息项目上了解更多关于/etc/passwd
文件的内容。