XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000!解决办法

在树莓派上以root播放mp3文件会出现标题中XDG_RUNTIME_DIR的错误,而以普通用户的身份确能播放mp3文件,本文提供一种以root身份播放mp3文件的办法。

1 问题原因

Linux的音频框架把以root运行音频文件看成是一种不安全的行为,只允许普通用户来运行音频文件。

2 解决思路

2.1 思路

将root转为普通用户播放音频文件,等播完音频文件,再将身份转为root,最后该过程用一个指令就能完成。

2.2 su命令简介

功 能:切换当前用户身份到其他用户身份,变更时需输入所要变更到用户的帐号与密码。

语 法:su    [选项]    [参数]

补 充: 普通用户直接su,切换到root用户;

选项:

-c:以要切换用户的身份执行一条指令,执行完指定的指令后,即恢复原来的身份;

3 实现

本人的普通用户名是pi,输入如下指令

su pi -c "python3 alertTest.py"

即可正常播放mp3音频文件。如下图所示

4 远程播放

以上步骤叙述的是本地播放的情况,如果通过SSH远程播放,实际测试了下,通过SSH以root登上去,无论是root身份还是普通用户身份,都是播放不了的;但是通过SSH以普通用户登录进去,然后切成root,再用上面方法,可以正常播放。

自己找了很多资料,下面的说法感觉比较靠谱:

SSH连接本身是基于身份验证的,一旦建立了连接并获得root权限,即使随后切换到了普通用户,原始的SSH连接并没有改变,它只是在该连接内部改变了用户权限。

有不同意见的亲可以一块讨论下。

X 参考文献

x.1 su命令、sudo命令、限制root远程登录-CSDN博客

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值