问题标签 [networkmanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 检测当前连接是否使用 NetworkManager 计量
如何检测当前连接是否在具有 NetworkManager 的系统上被标记为计量?
这是来自 shell 脚本,但我可以通过 Python 轻松调用任何 C 函数。
linux - 在 AP 模式下扫描网络(网络管理器)
使用网络管理器,是否可以在 wifi 设备处于 AP 模式时扫描网络?我知道可以执行“iw dev wlan0 scan ap-force”并解析输出,但是有没有 D-Bus API 解决方案?
就上下文而言,我正在构建一个嵌入式设备(想想 Amazon Echo),它以 AP 模式与移动应用程序通信,以扫描并选择要连接的 SSID。因此,我需要该设备成为热点并同时进行扫描。
debian - Ansible nmcli 模块 - 需求问题
我正在尝试在 Debian 9 目标上使用 Ansible nmcli 模块。我收到以下错误:
该模块需要 NetworkManager glib API
Ansible 文档说我需要NetworkManager-glib。在 Centos 和 RHEL 上,这个包很容易找到。但是在Debian上,我找不到。我已经安装了所有网络管理器数据包但没有成功......甚至是 libnm-glib4 包。
snmp - linkDown SNMP 陷阱没有所需的 varbinds
有 2 种 linkDown 报警
linkDown (CISCO-GENERAL-TRAPS) 1.3.6.1.2.1.11.0.2 linkDown (IF-MIB) 1.3.6.1.6.3.1.1.5.3
来自 CISCO-GENERAL-TRAPS mib 的 linkDown 包含以下 varbinds 1.ifIndex 2.ifDescr 3.ifType 4.locIfReason
If-MIB mib 的 linkDown 包含以下 varbinds 1.ifIndex 2.ifAdminStatus 3.ifOperStatus
但是我从 ME1200 设备收到的 linkDown 具有以下 varbinds 1.IfIndex 2.IfDesc 3.IfType 4.lifTable ,由于 SNMP 陷阱不包含 locIfReason 和 IfAdminStatus 中的任何一个,我无法处理此 linkDown 陷阱。LifTable varbind 包含与管理员状态相关的信息,但我的问题是为什么 locIfReason 和 IfAdminStatus varbind 都不可用?. 如何从设备获取 IfAdminStatus varbind?
linux - 如何使用 QNetworkManagerEnginePlugin?
我想从 Qt 创建和删除接口。另外我想使用登录名和密码通过 SSID 连接到 Wi-Fi。以及在 Linux 上管理 Internet 连接所需的许多其他东西。
为此,我更喜欢坚持network-manager
and libnm-dev
。我发现,Qt在这里有插件qtbase/src/plugins/bearer/networkmanager/
。似乎它实现了所需的功能。
我也可以在我的CMakeLists.txt中设置它:
在其源目录中,它仅包含两个头文件和两个相应的*.cpp
文件(加上一些来自平台相关的文件../linux_common/*
)。他们公开了我想使用的类QNetworkManager*
。QNetworkManagerEngine
但是如何将它们包含到我的cmake项目中呢?
c++ - dbus-send与QDBusAbstractInterface的对应关系
dbus-send
utility的参数和构造函数的参数和call*
方法的对应关系是QDBusAbstractInterface
什么?
互联网上有很多关于如何使用实用程序通过DBus规则NetworkManager的示例(例如[1] ) ,但我无法推断如何将它们转换为Qt C++代码。dbus-send
qt - Qt QML 和 QDBus 互操作性
Qt 中有一个属性系统。一方面可以使用子类从D-Bus公开属性,另一方面可以使用 Qt QML 公开属性。对于 D-Bus 服务接口的属性和信号,可以由元对象编译器自动完成。对于 QML 的信号、槽和属性,它也可以由 MOC 自动完成。QDBusAbstractInterface
QObject
但是问题出现了:QML 需要以小写字母开头的属性和方法(信号或插槽)名称,而 Network Manager DBus API 导出对象的所有成员标识符都以大写字母开头(有时使用小写字母,比如org.freedesktop.NetworkManager.state()
方法)。但我想QDBusAbstractInterface
直接在 QML 代码中使用这样的派生对象。
有没有办法自动将方法和属性的名称转换为一种形式QtQml
和另一种形式QDBus
?
如何分别为 NetworkManager 对象的所有属性发出信号的示例。
补充:根据问题,KDE NetworkManager Qt 并没有太大用处,因为在QML 中没有要使用QObject-s 导出的属性。
bash - 无法将输出放入变量
目前,将命令的输出放入变量时我遇到了极大的困难。我只是不知道我做错了什么。
编辑:当我运行这个文件时,我从 echo 中什么也得不到,所以我假设 on 变量的输出有问题。
qt - 在 QObject 派生类的构造函数中使用 deleteLater
我在导出到QML的 C++ 对象中发现了一些看起来像指针类型属性的惯用语。由于外部事件的发生,这些属性的指针可以随时停止存在。我QObject::deleteLater
为此目的使用插槽。<property>Changed
信号(QML 需要)可以连接到QObject::destroyed
信号。我注意到在发出这个信号的那一刻QPointer
已经很清楚了。所以属性值将在正确的时刻在 QML 端有效。
查看QPointer
标题我注意到它基于QWeakPointer
/QSharedPointer
并且似乎使用的行为(即“QPointer
在调用连接到destroyed
信号的第一个插槽之前变得清晰”)在某种程度上是硬设置的,尽管文档中没有指定。
在我的例子中,属性是指向QDBusAbstractInterface
派生类 [ 1 ] 的指针,它对应于NetworkManager D-Bus服务接口。NetworkManager D-Bus服务可能会意外取消注册,并且上述所有类都变得不可用,并且QDBusAbstractInterface::isValid()
每个类都变为false
.
在创建它们之后的派生类的生命周期中,QDBusAbstractInterface
我可以通过QDBusServiceWatcher
观察者来管理这种情况。
但是在创建QDBusAbstractInterface
派生类期间,我不能依赖服务可用性。即使我通过QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral(NM_DBUS_SERVICE))
它立即检查服务的可用性,也可能在下一个运算符之前变得不可用(就 C++ 而言)。因此,构造的类在构造其基础之后可能立即不可用(即QDBusAbstractInterface::isValid()
is )。false
QDBusAbstractInterface
我目前所做的是将deleteLater()
[ 2 ] 调用到构造函数中,具体取决于isValid()
. 在我看来,一旦到达事件循环,这最终会导致对象在构建后立即销毁。
是否允许在派生类的构造函数中调用deleteLater()
槽?QObject