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的整个过程了,浏览过程中,如若发现错误,欢迎大家指正,有问题的可以评论区留言或者私信。最后,如果大家觉得有所帮助的话,可以点个赞,谢谢大家!祉猷并茂,顺遂无虞! |

相关推荐
木木_王19 小时前
嵌入式Linux学习 | 数据结构 (Day04)链表升级(进阶优化 + 柔性数组原理 + 双向循环链表完整实现 + 高频面试深挖)
linux·数据结构·学习
之芫19 小时前
Ubuntu 26.04系统上安装docker
ubuntu·docker·eureka
有谁看见我的剑了?1 天前
linux 添加硬盘后系统识别不到硬盘处理
linux·运维·服务器
yc_12241 天前
用 Visual Studio 远程调试 Linux:从零到流畅的完整指南
linux·ide·visual studio
计算机安禾1 天前
【Linux从入门到精通】第31篇:防火墙漫谈——iptables与firewalld防护指南
linux·运维·php
下一页盛夏花开1 天前
ubuntu 20中安装QT以后出现红色空心断点
linux·运维·ubuntu
sanshanjianke1 天前
Thunderobot 911ME 笔记本 Linux 风扇控制研究
linux
fengyehongWorld1 天前
TeraTerm ttl脚本登录wsl
linux·teraterm
乌托邦的逃亡者1 天前
Linux中如何检测IP冲突
linux·运维·tcp/ip
一曦的后花园1 天前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器