通过sftp装载Pygtk文件,而不使用用户名和密码对话框?

通过sftp装载Pygtk文件,而不使用用户名和密码对话框?,gtk,sftp,pygtk,Gtk,Sftp,Pygtk,我正试图通过pygtk中的sftp挂载一个目录。因为我已经在变量中存储了用户名和密码,所以我不想看到一个询问用户名和密码的对话框。我正在使用以下代码: def错误\u打印机(o,r) 尝试: o、 装入封装卷完成(r) 除gio.错误外,e: 打印str(e.message),“错误代码:”,e.code myfile=gio.File(“sftp://”+我的ip地址) op=gtk.MountOperation() op.set_用户名(我的_用户名) op.set_密码(我的_密码) 我的

我正试图通过pygtk中的sftp挂载一个目录。因为我已经在变量中存储了用户名和密码,所以我不想看到一个询问用户名和密码的对话框。我正在使用以下代码:

def错误\u打印机(o,r)
尝试:
o、 装入封装卷完成(r)
除gio.错误外,e:
打印str(e.message),“错误代码:”,e.code
myfile=gio.File(“sftp://”+我的ip地址)
op=gtk.MountOperation()
op.set_用户名(我的_用户名)
op.set_密码(我的_密码)
我的文件。装入包含卷的卷(操作,错误打印机)
当我运行此操作时,会出现一个对话框,询问用户名和密码,尽管我已经设置了用户名和密码

我该怎么做才能使对话框不再出现,而是使用我设置的用户名和密码

(我正在使用pygtk 2.16)

解决了它
我不得不这样做


使用
gio.MountOperation
而不是
gtk.MountOperation
?我尝试将
gtk.MountOperation()
替换为
gio.MountOperation()
。但是在
mount\u enclosing\u volume\u finish
和我的
error\u打印机
打印
“密码对话框取消错误代码:30”
时出现错误,目录未装载。
class DupMountOperation(gio.MountOperation):
"""A simple MountOperation that grabs the password from the environment
   or the user.
"""
def __init__(self, backend):
    gio.MountOperation.__init__(self)
    self.backend = backend
    self.connect('ask-password', self.ask_password)

def ask_password(self, *args, **kwargs):
    self.set_password(self.backend.get_password())
    self.reply(gio.MOUNT_OPERATION_HANDLED)