2010-05-21 2 views
1

xterm 창을 다른 응용 프로그램에 임베드하는 PyGTK 소켓에 대한 자습서를 따르고 있습니다. xterm이나가에서 분리 나타납니다 우분투 카르마 코알라 (GTK 2.16)에올바르게 삽입 할 수 없습니다. 소켓이있는 PyGTK의 창

  1. : 나는 두 개의 서로 다른 결과를 얻을 수 http://faq.pygtk.org/index.py?req=show&file=faq19.015.htp : 나는이 다음 실행하면 http://www.pygtk.org/pygtk2tutorial/examples/socket.py

    :

    은 여기에서 파일을 다운로드 소켓 창을 사용할 수 없습니다.
  2. 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이나가 소켓 윈도우에 내장되어,하지만 난 그것에 키보드를 사용할 수 없으며 커서가 공백으로 표시됩니다. 이것은 GTK의 두 버전에서 동일합니다. 그래서, 이것이 고칠 수 있는지 또는 이것이 버그인지 아는 사람이 있습니까?

답변

1

처음에는 xterm 플러그/소켓에 버그가있는 것 같습니다. 나는 Lucid에서 재현 할 수있다. vim-gtk가 설치되어있는 경우 cmd를 다음으로 바꿉니다.

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

그리고 스크립트가 vim을 포함하도록 잘 실행됩니다.

+0

맞아요. 정상적으로 작동합니다. 그러나 실제로 문제는 rdesktop입니다. 어쩌면 GTK는 GTK 이외의 것들을 다루는 것을 좋아하지 않을지도 모른다. 어쨌든 팁 주셔서 감사합니다. – Eldelshell

+0

rdesktop없이 버그를 재현 할 수 있습니다. –

관련 문제