Ubuntu 20.04下/run/user/1000/doc目录用途、特殊文件处理机制疑问及Snap版QElectroTech文件提取求助
Ubuntu 20.04下/run/user/1000/doc目录用途、特殊文件处理机制疑问及Snap版QElectroTech文件提取求助
刚好之前踩过Snap沙箱文件访问的坑,我来帮你拆解问题+解决办法:
一、关于/run/user/1000/doc目录的用途和特殊处理逻辑
- 这个目录是Ubuntu专门给**沙箱应用(比如Snap/Flatpak)**准备的「文件门户临时存储区」,核心是平衡沙箱安全性和文件交互需求
- Snap应用默认是完全隔离的,不能直接访问你的家目录或系统其他文件。当你在Snap版QElectroTech里通过对话框选择打开/保存文件时,系统会在这个目录下生成带UUID的临时访问入口——它本质是受权限管控的链接或挂载点,只给当前会话的Snap应用开放该文件的访问权限,防止应用随意扫描整个文件系统
- 这些临时入口是绑定用户会话生命周期的:一旦你重启、注销系统,当前用户会话结束,对应的权限上下文就失效了,哪怕你还能看到这些UUID命名的条目,也没法正常访问,因为沙箱的权限授权已经过期
二、如何提取你需要的QElectroTech文件
试试下面的步骤,大概率能把文件导出来:
- 打开终端,先进入目标目录:
cd /run/user/1000/doc - 查看UUID条目的真实状态,输入命令:
ls -l- 如果输出里能看到类似
lrwxrwxrwx 1 xxx xxx 64 日期 时间 123e4567... -> /home/xxx/Documents/你的文件.qet的内容,说明这是个符号链接,直接去箭头指向的路径找原文件就行 - 如果是挂载的临时文件,用
cp命令的-L参数(强制跟随链接复制)把文件导出到你的普通目录(比如Documents):
比如你的UUID是cp -L /run/user/1000/doc/替换成你的具体UUID ~/Documents/导出的QET文件.qet123e4567-e89b-12d3-a456-426614174000,就写成cp -L /run/user/1000/doc/123e4567-e89b-12d3-a456-426614174000 ~/Documents/my_qet_file.qet
- 如果输出里能看到类似
- 如果
cp -L命令不行,换用rsync命令试试,它对特殊挂载的文件兼容性更好:rsync -L /run/user/1000/doc/替换成你的具体UUID ~/Documents/
小提醒:避免后续再遇到这个问题
如果你觉得沙箱的文件访问太麻烦,可以给Snap版QElectroTech开放家目录的访问权限(会降低一点沙箱安全性,但使用更方便),在终端输入:
snap connect qelectrotech:home
这样之后你在应用里保存的文件会直接存到你选择的家目录路径,重启后也能正常访问。
备注:内容来源于stack exchange,提问作者user3732793
相关产品推荐
相关产品推荐

