This commit is contained in:
jzxc95 2022-04-01 10:29:04 +08:00
parent 6e1cfc6f4d
commit 0cff2837a4
1 changed files with 146 additions and 146 deletions

292
README.md
View File

@ -1,172 +1,172 @@
#kylin-nm介绍 ##kylin-nm介绍
##简介 ###简介
麒麟网络工具kylin-network-manager简称kylin-nm是操作系统的网络前端其主要功能有 麒麟网络工具kylin-network-manager简称kylin-nm是操作系统的网络前端其主要功能有
1、托盘栏图标及右键菜单 1、托盘栏图标及右键菜单
查看当前网络状态 查看当前网络状态
左键点击托盘网络图标显示kylin-nm主界面 左键点击托盘网络图标显示kylin-nm主界面
右键点击托盘网络图标显示右键菜单 右键点击托盘网络图标显示右键菜单
2、对有线网络的管理 2、对有线网络的管理
有线网络界面管理 有线网络界面管理
连接/断开网络 连接/断开网络
网线拔插 网线拔插
多有线网卡支持 多有线网卡支持
打开或关闭有线开关 打开或关闭有线开关
查看或修改无线网络基本信息 查看或修改无线网络基本信息
3、对无线网络的管理 3、对无线网络的管理
切换及刷新无线界面 切换及刷新无线界面
查看无线网络列表 查看无线网络列表
连接/断开无需密码的无线网 连接/断开无需密码的无线网
连接/断开有密码类型的无线网 连接/断开有密码类型的无线网
无线网卡插拔 无线网卡插拔
多无线网卡支持 多无线网卡支持
打开或关闭无线开关 打开或关闭无线开关
查看或修改无线网络基本信息 查看或修改无线网络基本信息
4、连接隐藏无线网络 4、连接隐藏无线网络
连接无安全性的无线网络 连接无安全性的无线网络
连接WPA及WPA2个人安全性的无线网络 连接WPA及WPA2个人安全性的无线网络
连接WPA及WPA2企业安全性的无线网络 连接WPA及WPA2企业安全性的无线网络
连接WPA3个人安全性的无线网络 连接WPA3个人安全性的无线网络
5、窗口样式调节 5、窗口样式调节
深色与浅色窗口样式切换 深色与浅色窗口样式切换
调节网络工具窗口透明度 调节网络工具窗口透明度
普通窗口与具有毛玻璃效果的窗口的切换 普通窗口与具有毛玻璃效果的窗口的切换
##运行 ###运行
麒麟网络工具的进程为kylin-nm默认开机自启依赖NetworkManger 麒麟网络工具的进程为kylin-nm默认开机自启依赖NetworkManger
##命令行和dbus接口 ###命令行和dbus接口
kylin-nm进程的命令行如下 kylin-nm进程的命令行如下
Usage: kylin-nm Usage: kylin-nm
###dbus接口 ####dbus接口
DBUS类型SESSION BUS DBUS类型SESSION BUS
DBUS名称com.kylin.network DBUS名称com.kylin.network
OBJECT路径/ OBJECT路径/
接口名称com.kylin.network 接口名称com.kylin.network
###dbus方法 ####dbus方法
getWirelessList getWirelessList
参数:无 参数:无
返回值QMap<QString, QVector<QStringList>> 返回值QMap<QString, QVector<QStringList>>
键:网卡名称 键:网卡名称
值:无线网络的集合(第一项为已连接网络信息,若无连接则为"--",否则为"名称/信号强度/加密类型/Uuid/是否为本机开放热点";其余为未连接的网络信息,为"名称/信号强度/加密类型/是否为本机开放热点" 值:无线网络的集合(第一项为已连接网络信息,若无连接则为"--",否则为"名称/信号强度/加密类型/Uuid/是否为本机开放热点";其余为未连接的网络信息,为"名称/信号强度/加密类型/是否为本机开放热点"
功能:获取无线列表及每个对应无线网络的信号强度、加密类型等信息。 功能:获取无线列表及每个对应无线网络的信号强度、加密类型等信息。
getWiredList getWiredList
参数:无 参数:无
返回值QMap<QString, QVector<QStringList>> 返回值QMap<QString, QVector<QStringList>>
键:网卡名称 键:网卡名称
值:有线网络的集合("名称/UUID/对应DBUS路径"),若无已连接网络则第一项默认为"--" 值:有线网络的集合("名称/UUID/对应DBUS路径"),若无已连接网络则第一项默认为"--"
功能获取有线列表及每个对应的有线网络的uuid及dbus路径 功能获取有线列表及每个对应的有线网络的uuid及dbus路径
setWiredSwitchEnable(bool enable) setWiredSwitchEnable(bool enable)
参数:(bool开启有线总开关true关闭有线总开关false 参数:(bool开启有线总开关true关闭有线总开关false
返回值:无 返回值:无
功能:打开或关闭有线总开关 功能:打开或关闭有线总开关
setWirelessSwitchEnable(bool enable) setWirelessSwitchEnable(bool enable)
参数:(bool开启无线总开关true关闭无线总开关false 参数:(bool开启无线总开关true关闭无线总开关false
返回值:无 返回值:无
功能:打开或关闭无线总开关 功能:打开或关闭无线总开关
setDeviceEnable(QString devName, bool enable) setDeviceEnable(QString devName, bool enable)
参数QStringdevName 设备名称bool enable 开启/关闭 参数QStringdevName 设备名称bool enable 开启/关闭
返回值:无 返回值:无
功能:打开或关闭单个有线网卡开关 功能:打开或关闭单个有线网卡开关
activateConnectint type, QString devName, QString ssid activateConnectint type, QString devName, QString ssid
参数:根据网卡类型 参数1 0:lan 1:wlan 参数2网卡名称 参数3uuid/ssid 参数:根据网卡类型 参数1 0:lan 1:wlan 参数2网卡名称 参数3uuid/ssid
返回值:无 返回值:无
功能:激活一个网络连接 功能:激活一个网络连接
deActivateConnect(int type, QString devName, QString ssid) deActivateConnect(int type, QString devName, QString ssid)
参数:根据网卡类型 参数1 0:lan 1:wlan 参数2网卡名称 参数3uuid/ssid 参数:根据网卡类型 参数1 0:lan 1:wlan 参数2网卡名称 参数3uuid/ssid
返回值:无 返回值:无
功能:断开一个网络连接 功能:断开一个网络连接
getDeviceListAndEnabled(int devType) getDeviceListAndEnabled(int devType)
参数int devType 0:lan 1:wlan 参数int devType 0:lan 1:wlan
返回值QMap<QString, bool> 返回值QMap<QString, bool>
键:设备名称 键:设备名称
bool 开启true关闭 false bool 开启true关闭 false
功能:获取设备列表和启用/禁用状态 功能:获取设备列表和启用/禁用状态
getWirelessDeviceCap getWirelessDeviceCap
返回值QMap<QString, int> 返回值QMap<QString, int>
键:设备名称 键:设备名称
int 0不支持热点 3支持2.4GHz 7支持5GHz&&2.4Ghz int 0不支持热点 3支持2.4GHz 7支持5GHz&&2.4Ghz
功能:获取无线设备能力(2.4G/5G) 功能:获取无线设备能力(2.4G/5G)
showPropertyWidget(QString devName, QString ssid) showPropertyWidget(QString devName, QString ssid)
参数QString devName 设备名称 QString ssid 根据网卡类型 有线为uuid/无线为ssid 参数QString devName 设备名称 QString ssid 根据网卡类型 有线为uuid/无线为ssid
返回值:无 返回值:无
功能:唤起对应网络连接的属性页,可以对基础信息的显示或修改 功能:唤起对应网络连接的属性页,可以对基础信息的显示或修改
showCreateWiredConnectWidget(QString devName) showCreateWiredConnectWidget(QString devName)
参数QString devName 有线网卡名称 参数QString devName 有线网卡名称
返回值:无 返回值:无
功能:唤起新建有线连接界面 功能:唤起新建有线连接界面
activeWirelessAp(const QString apName, activeWirelessAp(const QString apName,
const QString apPassword, const QString apPassword,
const QString band, const QString band,
const QString apDevice) const QString apDevice)
参数QString apName 热点名称 参数QString apName 热点名称
QString apPassword 热点密码 QString apPassword 热点密码
QString band 频带 QString band 频带
QString apDevice QString apDevice
返回值:无 返回值:无
功能:开启移动热点 功能:开启移动热点
deactiveWirelessAp(const QString apName, const QString uuid) deactiveWirelessAp(const QString apName, const QString uuid)
参数QStringList名称/密码/设备名称/状态/UUID/频带) 参数QStringList名称/密码/设备名称/状态/UUID/频带)
返回值:无 返回值:无
功能: 断开移动热点 功能: 断开移动热点
getStoredApInfo getStoredApInfo
参数QStringList名称/密码/设备名称/状态/UUID/频带) 参数QStringList名称/密码/设备名称/状态/UUID/频带)
返回值:无 返回值:无
功能:获取已保存的移动热点信息 功能:获取已保存的移动热点信息
getApInfoBySsid(QString devName, QString ssid) getApInfoBySsid(QString devName, QString ssid)
参数QString devName 设备名称 QString ssid 参数QString devName 设备名称 QString ssid
返回值:无 返回值:无
功能: 通过名称获取已保存的移动热点信息 功能:通过名称获取已保存的移动热点信息
reScan() reScan()
参数:无 参数:无
返回值:无 返回值:无
功能: 申请重新进行无线扫描 功能:申请重新进行无线扫描
keyRingInit() keyRingInit()
参数QString apName 热点名称 QString uuid 参数QString apName 热点名称 QString uuid
返回值:无 返回值:无
功能: 断开移动热点 功能:断开移动热点
keyRingClear() keyRingClear()
参数:无 参数:无
返回值:无 返回值:无
功能: 断开移动热点 功能: 断开移动热点
##原理与主要使用的技术 ###原理与主要使用的技术
kylin-nm主要与NetworkManager进行交互通过对应的dbus信号驱动UI界面的更新。并通过提供的dbus方法来进行网络相关功能的调用。 kylin-nm主要与NetworkManager进行交互通过对应的dbus信号驱动UI界面的更新。并通过提供的dbus方法来进行网络相关功能的调用。
麒麟网络工具按照功能划分成两层UI层和逻辑层。UI层实现网络资源的显示以及用户的交互逻辑层通过NetworkManager提供的Dbus接口完成网络资源的管理及其配置。 麒麟网络工具按照功能划分成两层UI层和逻辑层。UI层实现网络资源的显示以及用户的交互逻辑层通过NetworkManager提供的Dbus接口完成网络资源的管理及其配置。
##配置文件 ###配置文件
kylin-nm的配置文件保存在如下路径 kylin-nm的配置文件保存在如下路径
~/.config/ukui/kylin-nm.conf 有线无线开关状态 设备状态 ~/.config/ukui/kylin-nm.conf 有线无线开关状态 设备状态
org.ukui.kylin-nm.switch 对应的gsetting值 (有线无线开关状态) org.ukui.kylin-nm.switch 对应的gsetting值 (有线无线开关状态)
##编译 ###编译
cd kylin-nm cd kylin-nm
mkdir build mkdir build
cd build cd build
qmake .. qmake ..
make make
sudo make install  sudo make install 
##运行命令 ###运行命令
./kylin-nm ./kylin-nm
##调试 ###调试
kylin-nm目前并采用ukui-log4qt模块的日志功能。日志默认保存在~/.log/kylin-nm.log中 kylin-nm目前并采用ukui-log4qt模块的日志功能。日志默认保存在~/.log/kylin-nm.log中