Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets Can';t使用套接字在PyGTK中正确嵌入窗口_Sockets_Pygtk - Fatal编程技术网

Sockets Can';t使用套接字在PyGTK中正确嵌入窗口

Sockets Can';t使用套接字在PyGTK中正确嵌入窗口,sockets,pygtk,Sockets,Pygtk,我正在学习PyGTK套接字教程,在该教程中,您将一个xterm窗口嵌入到另一个应用程序中 我从这里下载了该文件: 当我按照以下方式运行它时:我得到两个不同的结果: 在Ubuntu Karmic Koala(GTK 2.16)上,xterm似乎与套接字窗口分离,因此无法使用 在Lucid Lynx(GTK 2.17)上,xterm窗口消失,套接字窗口似乎从xterm获取背景,但什么也没有发生,当然,它不可用 我已将脚本修改为如下所示: #!/usr/bin/python import pygtk

我正在学习PyGTK套接字教程,在该教程中,您将一个xterm窗口嵌入到另一个应用程序中

我从这里下载了该文件:

当我按照以下方式运行它时:我得到两个不同的结果:

  • 在Ubuntu Karmic Koala(GTK 2.16)上,xterm似乎与套接字窗口分离,因此无法使用
  • 在Lucid Lynx(GTK 2.17)上,xterm窗口消失,套接字窗口似乎从xterm获取背景,但什么也没有发生,当然,它不可用
  • 我已将脚本修改为如下所示:

    #!/usr/bin/python
    import pygtk
    pygtk.require('2.0')
    import gtk
    from subprocess import Popen
    
    def plugged_event(widget):
        print "Inserted a widget"
    
    window = gtk.Window()
    window.connect("destroy", gtk.main_quit)
    window.show()
    
    socket = gtk.Socket()
    window.add(socket)
    socket.connect("plug-added", plugged_event)
    sock_id = str(socket.get_id())
    cmd = ["xterm", "-into", sock_id]
    Popen(cmd)
    socket.show()
    
    gtk.main()
    

    一切似乎都很好,xterm被嵌入到socket窗口中,但我无法在其上使用键盘,光标显示为空。这在GTK的两个版本中都是相同的。那么,有人知道这是可以修复的还是一个Bug吗?

    乍一看,这似乎是xterm插件/套接字中的一个Bug。我可以清晰地复制。如果已安装vim gtk,请将cmd替换为:

    cmd = ["gvim", "--socketid", sock_id]
    

    您的脚本运行良好,可以嵌入vim。

    乍一看,这似乎是xterm插件/套接字中的一个bug。我可以清晰地复制。如果已安装vim gtk,请将cmd替换为:

    cmd = ["gvim", "--socketid", sock_id]
    

    您的脚本运行良好,可以嵌入vim。

    对,它运行良好。但实际上问题在于rdesktop。也许GTK不喜欢使用非GTK的东西。不管怎样,谢谢你的提示。我可以在没有rdesktop的情况下复制你的bug。对,它工作得很好。但实际上问题在于rdesktop。也许GTK不喜欢使用非GTK的东西。不管怎样,谢谢你的提示。我可以在没有rdesktop的情况下复制你的bug。