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

相关推荐
jerryinwuhan1 小时前
机器人控制程序
linux·运维·网络
honeysuckle_luo1 小时前
香橙派ai pro安装支持昇腾NPU的ollama
linux·运维·服务器
池央2 小时前
从“算子不支持”到“NPU高效执行”:CANN 8.0 TBE 自定义算子落地实践
linux·人工智能
小锋学长生活大爆炸2 小时前
【教程】CentOS在不知道root密码的情况下进入shell和重置密码
linux·运维·centos
代码游侠2 小时前
学习笔记——GDB调试工具
linux·开发语言·笔记·学习
通义灵码2 小时前
Qoder Linux 版公测上线
linux·运维·服务器
福尔摩斯张2 小时前
从Select到Epoll:深度解析Linux I/O多路复用演进之路(超详细)
linux·运维·服务器·c语言·网络
开始了码2 小时前
qt配置文件::INI介绍
qt
weixin_387002153 小时前
二次开发的openssl在windows平台的编译
linux·windows·安全·ssl