在网络管理器的直接 dbus 控制中模拟 nmcli --ask
simulating nmcli --ask in direct dbus control of networkmanager
我正在研究一个 Java 软件产品,并将对 nmcli 的 exec()
调用替换为通过 dbus 对 NetworkManager 的更直接控制。我卡在 nmcli connection up (ourconnection) --ask
上了;具体来说,它的 --ask
位。
我知道这将调用 ActivateConnection,如 NetworkManager documentation 中所述,但看不到如何模拟 --ask
。当您指定 --ask
时,它是 NetworkManager 接受并执行的一个选项,还是 nmcli
在将密码传递给 NetworkManager 之前要求输入密码?
这个问题专门针对--ask
;我大体上了解如何使用从反射 API 调用中获得的 Java 类 通过 dbus 与 NetworkManager 进行交互,并且一直在这样做以获取 SSID、设备和连接的列表作为 AccessPointAdded 等信号的设置处理程序;但我不知道如何以编程方式告诉 NetworkManager 提示人类用户输入密码。
由于其他原因,我不得不深入研究 nmcli
的 source code,发现密码是由 nmcli
请求并通过 dbus 传递的。
我正在研究一个 Java 软件产品,并将对 nmcli 的 exec()
调用替换为通过 dbus 对 NetworkManager 的更直接控制。我卡在 nmcli connection up (ourconnection) --ask
上了;具体来说,它的 --ask
位。
我知道这将调用 ActivateConnection,如 NetworkManager documentation 中所述,但看不到如何模拟 --ask
。当您指定 --ask
时,它是 NetworkManager 接受并执行的一个选项,还是 nmcli
在将密码传递给 NetworkManager 之前要求输入密码?
这个问题专门针对--ask
;我大体上了解如何使用从反射 API 调用中获得的 Java 类 通过 dbus 与 NetworkManager 进行交互,并且一直在这样做以获取 SSID、设备和连接的列表作为 AccessPointAdded 等信号的设置处理程序;但我不知道如何以编程方式告诉 NetworkManager 提示人类用户输入密码。
由于其他原因,我不得不深入研究 nmcli
的 source code,发现密码是由 nmcli
请求并通过 dbus 传递的。