用Python从一个xterm窗口向另一个发送命令
我有一个用Python写的应用程序,它会打开不同的xterm窗口。在其中一个窗口中,当操作完成后,它会问用户“你想使用这些设置吗?y/n”。我该怎么做才能自动发送“y”到那个xterm窗口,这样用户就不需要自己输入了?谢谢。
1 个回答
2
如果你在使用Linux(KDE桌面环境),并且想要通过发送命令来控制多个xterm窗口,你可以试试使用dcop这个工具:
- http://www.linuxjournal.com/content/start-and-control-konsole-dcop
- http://www.riverbankcomputing.co.uk/static/Docs/PyKDE3/dcopext.html
如果不想用dcop,你就需要在两个脚本之间使用一种叫做进程间通信(IPC)的方法,而不是直接控制终端:
- http://docs.python.org/library/xmlrpclib.html
- http://docs.python.org/library/ipc.html
- 其他一些IPC或RPC库
- 简单地在一个基本的socket上监听,等待任何信息。然后在另一个应用中打开一个socket,写入一些内容来发送信号。
或者,从最简单的角度来看,你可以让一个脚本等待另一个脚本的文件输出。比如,当第一个xterm完成后,它可以写一个文件,第二个脚本就能看到这个文件。
这些方法的难度各不相同。