Ubuntu系统下Qt程序连接串口设备没有问题,但运行时出现Permission denied的解决方法

Ubuntu系统下连接串口设备时出现Permission denied的解决方法

  • 1、前言
  • 2、问题
  • 3、解决方法
    • [3.1 看一下串口设备详细信息](#3.1 看一下串口设备详细信息)
    • [3.2 将当前用户加入 dialout 组](#3.2 将当前用户加入 dialout 组)
    • [3.3 重启](#3.3 重启)
    • [3.4 查看组](#3.4 查看组)
    • [3.5 成功解决](#3.5 成功解决)
  • 4、总结

1、前言

|--------------------------------------------------------------------|
| 记录一下Ubuntu系统下连接串口设备时出现Permission denied的解决方法,方便自己回顾,也可以给有需要的人提供帮助。 |

2、问题

|----------------------------------------|
| Qt程序连接串口设备没有问题,但运行时出现Permission denied |

3、解决方法

|-----------------------------------------------|
| 主要问题是当前用户是普通用户,不在dialout组,把当前用户加入dialout组就解决了 |

3.1 看一下串口设备详细信息

bash 复制代码
ls -l /dev/ttyUSB0

root 是 owner

dialout 是 group

其他用户不能访问(rw----)

|---------------------------------------------------------------------|
| Qt 程序是普通用户运行(h 用户),而 h 用户 不在 dialout 组,所以不能访问串口 → Permission denied |

3.2 将当前用户加入 dialout 组

cpp 复制代码
sudo usermod -a -G dialout $USER

|------------|
| 下面是这条指令的解释 |

部分 含义 作用
sudo 以管理员权限运行 修改用户组需要管理员权限
usermod 修改用户设置的命令 Linux 用来调整用户属性、组等
-a append(追加) 追加到组,不会删除用户现有组
-G dialout 设置附加用户组为 dialout dialout 组拥有串口设备权限(/dev/ttyUSB0)
$USER 当前用户 将当前用户加入 dialout 组

3.3 重启

|----------|
| 添加完组后要重启 |

cpp 复制代码
sudo reboot

3.4 查看组

|----------------------------------|
| 重新登录后看一下当前用户组,可以看到当前用户在dialout组了 |

bash 复制代码
groups

3.5 成功解决

|-------------------|
| 重新运行之后,可以成功连接和控制了 |

4、总结

|---------------------------------------------------------------------------------------------------------------------------------------|
| 以上就是解决Ubuntu系统下Qt程序连接串口设备没有问题,但运行时出现Permission denied的整个过程了,浏览过程中,如若发现错误,欢迎大家指正,有问题的可以评论区留言或者私信。最后,如果大家觉得有所帮助的话,可以点个赞,谢谢大家!祉猷并茂,顺遂无虞! |

相关推荐
程序员-Benothing4 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
‎ദ്ദിᵔ.˛.ᵔ₎4 小时前
linux 进程信号 (上)
linux·服务器
bug和崩溃我都要4 小时前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏
15Moonlight4 小时前
Linux网络(02):Socket 编程 UDP
linux·网络·udp
wuminyu5 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
liulilittle5 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
DongQiShanRen6 小时前
玄龙(上):TICK 主循环——意识心跳怎么跳
linux·jvm·数据库·人工智能·数据挖掘·rust
小此方6 小时前
Linux网络(二十一):深入理解 TCP 异常处理:网线断开、Keepalive 保活机制与 Linux 内核传输层协议源码剖析
linux·网络·tcp/ip
pride.li6 小时前
Python 安装
linux·python·ubuntu
笔墨登场说说6 小时前
centos 8 使用 kafka_2.13-4.3.1.tgz 安装kafka
linux·kafka·centos