Python-Application .desktop-shortcut导致故障

时间:2017-04-28 11:21:45

标签: python linux kde desktop-shortcut

我想为我的Python应用程序创建一个桌面启动器。应用程序使用publickey-authentication在pexpect上执行各种ssh操作。但问题是,当我使用.desktop启动器启动我的应用程序时,它无法正常工作。 ssh连接要求输入密码,不要使用publickeys。但它通过命令行执行工作正常。

.desktop文件如下所示:

[Desktop Entry]
Version=1.0
Name=SSH-Manager
Comment=XYZ
Exec=python /home/userx/SSH-Manager/startup.py
Icon=/home/userx/SSH-Manager/resources/icon.png
Path=/home/userx/repos/SSH-Manager
Terminal=true
Type=Application
Categories=Utility;Application;
StartupNotify=false

桌面环境是KDE,桌面用户与命令行用户相同。

有人可以解释为什么我会在发射器中遇到这种奇怪的行为吗?

编辑:示例功能

def run(self):
    self.a_signal.emit("Retrieving Data")
    try:
        session = pxssh()
        session.force_password = False
        hostname = self.client
        username = "root"
        session.login(hostname, username)
        session.sendline("ls -a")
        session.prompt()
        session.logout()
    except ExceptionPxssh as e:
        print ("pxssh failed: ")
        self.error_signal.emit("failed", str(e))
        print e
        return
    self.process_output()
    self.finish_signal.emit("done")

1 个答案:

答案 0 :(得分:0)

正如MirosławZalewski在评论中所怀疑的那样,问题是ssh-agent未针对桌面环境运行,因为ssh-add最初用于/etc/sources。因此,在X-users ssh-add中执行~./profile可以解决问题。