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

相关推荐
益达丫1 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
chicheese4 小时前
Linux 面试速查表:从初级到高级,附高频场景答题模板
linux·运维
Linux-lucky4 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
vortex55 小时前
常用终端模拟器全面对比:Kitty、WezTerm、Ghostty 与 Konsole
linux
INGNIGHT6 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
zly35006 小时前
VMware Converter Standalone 物理机转化为虚拟机后源1硬盘变成了2个硬盘(2个硬盘文件)虚拟机无法启动。
linux·运维·服务器
江湖人称菠萝包7 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter9-Qt Charts
笔记·qt·qt5
扶尔魔ocy7 小时前
【QT android】环境安装及第一个QT项目
qt·andriod开发
GeW8 小时前
从内核到数据:Linux与工业数据库如何支撑高端制造
linux
小小的木头人9 小时前
Linux systemd Service 与 Timer 定时任务原理及实战
linux