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

相关推荐
wj3055853788 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
abigriver8 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq9 小时前
windows下nginx的安装
linux·服务器·前端
YYRAN_ZZU9 小时前
Petalinux新建自动脚本启动
linux
charlie1145141919 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup10 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y10 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙52011 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
AI视觉网奇12 小时前
linux 检索库 判断库是否支持
java·linux·服务器
dapeng-大鹏12 小时前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展