首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从临时dbus会话中解锁gnome-keyring

从临时dbus会话中解锁gnome-keyring
EN

Stack Overflow用户
提问于 2018-11-22 00:45:34
回答 1查看 777关注 0票数 0

我正在尝试编写一个python应用程序,该应用程序可以从纯文本系统(无头机器)中解锁gnome-keyring并检索凭据。我在这台机器上安装了gnome-keyring软件包。

基本上,我的应用程序将:

  1. 启动新的dbus会话。
  2. 解锁dbus会话中的gnome-keyring
  3. 从密钥环中提取凭据
  4. 销毁dbus会话总线。

我试着遵循这个教程:https://pypi.org/project/keyring/#using-keyring-on-headless-linux-systems

我试着阅读:BUS - X11 dependency但是,OP使用的是dbus-launch而不是dbus-run-sessiondbus-launch的原始手册页说,对于只有文本的系统,要使用‘dbus-run’。

如果我使用python的子进程启动一个新的dbus会话,如何在同一个dbus会话中运行步骤2?

EN

回答 1

Stack Overflow用户

发布于 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子进程。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53422422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档