【发布时间】:2017-07-25 06:39:50
【问题描述】:
我使用snap 包管理器来安装包,而且我总是 得到同样的错误,即使是简单的 hello world 示例:
$ sudo snap install hello
$ hello
cannot create user data directory: /home/aaa/snap/hello/20: Bad file descriptor
使用sudo 运行解决了hello 程序的问题,但为什么我什至需要sudo?
顺便说一句,对于其他软件包(Meshlab、CloudCompare),它也不适用于sudo,并给出不同的错误。例如:
~$ sudo cloudcompare.ccViewer
mkdir: cannot create directory '/run/user/0': Permission denied
No protocol specified
QXcbConnection: Could not connect to display :0
snap 版本和 Ubuntu 发行版是:
$ snap version
snap 2.22.7
snapd 2.22.7
series 16
ubuntu 14.04
kernel 4.4.0-64-generic
【问题讨论】:
-
可能对
/home/aaa/snap/或其他人的权限不好...如果您首先使用root 运行它,那么root 会创建这些文件...而普通用户无法在那里写入。 -
@FlashThunder 但是没有
sudo,我无法安装,类似于sudo apt-get ...。我还检查了,我拥有/home/aaa/snap/的完整权限。 -
@Flash 如果这是与权限相关的,我希望会在错误中看到这一点(例如权限被拒绝)。
-
你能补充一些关于你在哪个发行版上运行它的细节吗?此外,“快照版本”的输出会有所帮助。