我在 Windows 10 上通过 WSL 运行 ubuntu 19.04。我已经在 ubuntu 上安装了 Mendeley Desktop,但是当我在终端上运行命令时sudo mendeleydesktop
出现以下错误:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QFSFileEngine::open: No file name specified
shared memfd open() failed: Function not implemented
Home directory not accessible: Permission denied
[1388:1421:0809/164443.644408:FATAL:udev_linux.cc(29)] Check failed: 0 == ret (0 vs. -22)
#0 0x7f8947eab0a5 <unknown>
#1 0x7f8947ec0eca <unknown>
#2 0x7f8946e2b8b6 <unknown> ...
有人知道如何解决这个问题吗?
答案1
首先,我强烈建议你绝不以超级用户身份运行 mendeley(即使用sudo
)。除了这个程序不需要这样的权限即可正常工作之外,它还相当危险:我们谈论的是一个闭源程序,这意味着即使它来自一个值得信赖的来源(但我们真的信任 Elsevier 吗?),除了 Elsevier 之外,没有人知道它是如何工作的。那么谁知道它实际上会用这样的权限做什么呢?
关于你的问题:
TL;DR:备份文件(特别是 Mendeley 库文件夹……)后执行mendeleydesktop --reset
。
更多细节:
我刚刚遇到了类似的问题,刚刚解决了。我使用的计算机最初安装了 Ubuntu 18.04。我通过安装一个全新的/
分区来代替以前的分区,同时保留了我的/home
分区,从而升级到 20.04。这意味着即使“系统”分区 ( /
) 是从头开始重新安装的,配置文件也会保留(因为它们存储在 中/home
)。
所以我不得不重新安装我使用的所有应用程序,包括 Mendeley。我去了Mendeley 网站并下载了最新版本 (1.19.4)“适用于通用 Linux”,它以 的形式提供.tar.bz
。解压存档并将其复制到 后/opt/mendeleyDesktop/
,mendeley 可以作为./bin/mendeleydesktop
... 启动。我遇到了和你一模一样的问题!
解决方法:使用本论坛,我通过输入以下内容重置了 mendeley ./bin/mendeleydesktop --reset
,这会删除所有配置文件(包括 Mendeley 库的本地副本,因此您可能需要先备份它)。之后,mendeley 可以像往常一样顺利运行。
最后,问题似乎与我之前安装的 mendeley 的配置文件发生冲突,而我保留了这些配置文件。