我正在尝试编写一个 python 应用程序,该应用程序可以从纯文本系统(无头计算机)解锁gnome-keyring
并检索凭据。我在此计算机上安装了gnome-keyring
软件包。
基本上,我的应用程序将:
我正在尝试遵循本教程:https://pypi.org/project/keyring/#using-keyring-on-headless-linux-systems
我尝试阅读:Python DBUS SESSION_BUS - X11 dependency,但是OP使用dbus-launch
而不是dbus-run-session
。 dbus-launch
的原始手册页说要对纯文本系统使用'dbus-run-session`。
如果我使用python的子进程启动新的dbus会话,如何在同一dbus会话中运行第2步?
答案 0 :(得分:0)
您要么需要在项目中的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
子流程。