Axel Dahlberg Asked: 2021-01-20 06:51:59 +0800 CST2021-01-20 06:51:59 +0800 CST 2021-01-20 06:51:59 +0800 CST 查询 GNOME 密钥环的状态 772 如何从终端查询 GNOME 密钥环是否已解锁?我查看了这个询问如何锁定密钥环的问题,其中一个答案显示了如何使用 DBus 执行此操作。我现在的问题是,是否可以做类似的事情,但只是查询状态。 我问这个是为了有一个小的状态图标显示钥匙圈是否已解锁。 gnome-keyring 1 个回答 Voted Best Answer user1686 2021-01-20T07:05:30+08:002021-01-20T07:05:30+08:00 每个秘密集合(即密钥环)都有一个“锁定”属性。您可以通过在 org.freedesktop.DBus.Properties 接口上调用 Get() 来检索对象属性: $ busctl --user introspect org.freedesktop.secrets \ /org/freedesktop/secrets/collection/login 名称 类型 签名 结果/值 org.freedesktop.DBus.Properties 接口 - - .Get 方法 ss v org.freedesktop.Secret.Collection 接口 - - .Label 属性“登录” .Locked 属性 b false $ busctl --user 获取属性 org.freedesktop.secrets \ /org/freedesktop/secrets/collection/login \ org.freedesktop.Secret.Collection 锁定 b 错误 $ gdbus introspect -e -d org.freedesktop.secrets \ -o /org/freedesktop/secrets/collection/login 节点 /org/freedesktop/secrets/collection/login { 接口 org.freedesktop.DBus.Properties { 方法: 获取(在 s 接口名称中, 在 s property_name 中, 出 v 值); }; 接口 org.freedesktop.Secret.Collection { 特性: 只读 b 锁定 = 假; }; }; $ gdbus 调用 -e -d org.freedesktop.secrets \ -o /org/freedesktop/secrets/collection/login \ -m org.freedesktop.DBus.Properties.Get \ org.freedesktop.Secret.Collection 锁定 (<假>,) 您还可以通过PropertiesChanged信号接收属性更改通知(取决于编程语言,您的 D-Bus 库可能会为此提供包装器)。
每个秘密集合(即密钥环)都有一个“锁定”属性。您可以通过在 org.freedesktop.DBus.Properties 接口上调用 Get() 来检索对象属性:
您还可以通过
PropertiesChanged
信号接收属性更改通知(取决于编程语言,您的 D-Bus 库可能会为此提供包装器)。