我正在尝试编写一个python应用程序,该应用程序可以从纯文本系统(无头机器)中解锁gnome-keyring并检索凭据。我在这台机器上安装了gnome-keyring软件包。
基本上,我的应用程序将:
我试着遵循这个教程:https://pypi.org/project/keyring/#using-keyring-on-headless-linux-systems
我试着阅读:BUS - X11 dependency但是,OP使用的是dbus-launch而不是dbus-run-session。dbus-launch的原始手册页说,对于只有文本的系统,要使用‘dbus-run’。
如果我使用python的子进程启动一个新的dbus会话,如何在同一个dbus会话中运行步骤2?
发布于 2018-11-22 08:20:43
您要么需要在dbus-run-session下面的项目中生成第二个程序,要么需要使用dbus-run-session以外的其他东西来运行您自己的会话总线。dbus-run-session被设计为在自己的总线中运行单个程序;一旦该程序终止,总线将被关闭。所以,要么您需要提供第二个程序,从您的计划中执行步骤2和步骤3,要么您需要更明确地从顶级程序中设置和删除您自己的dbus-daemon实例,复制dbus-run-session的一些行为。
这通常涉及:
dbus-daemon配置文件。dbus-daemon --config-file=path/to/config --address=path/to/socket --nofork。DBUS_SESSION_BUS_ADDRESS=unix:path/to/socket。dbus-daemon子进程。https://stackoverflow.com/questions/53422422
复制相似问题