我的应用程序需要使用终端小部件之类的东西,但没有像Bash这样的外壳。我听说过VTE。要将VTE与外壳连接,我使用了:
Vte.Terminal.fork_command_full(0, "/home/user", ("/bin/bash",), "", 0, None, None)
是否有可能将输入数据重定向到自定义函数而不是Shell?
如果使用VTE不可能,那么我对其他主张很感兴趣,如何解决我的问题。
最佳答案
您可以将任何命令传递给fork_command_full
,但是,这听起来似乎更像是文本输入,您可以在其中允许用户输入命令,然后您的代码既处理命令又处理数据返回。
为此,我将使用subprocess.Popen
,然后使用文本标签将stderr标记为红色文本,将命令的输出加载到Gtk.TextView
中。
关于python - GTK应用程序中的终端小部件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11177606/