这个问题困扰了我好几个小时。
我知道授予可执行权限的命令sudo chmod +x file
,但我仍然无法运行我的应用程序。
就上下文而言,我手动安装了 Eclipse 并将其安装在/opt/
文件夹中。我创建了一个链接/usr/bin/
和一个/usr/share/applications/eclipse.desktop
包含从启动器启动的数据的文件。
当我运行程序时sudo eclipse
,程序正常启动,但如果我不包含它sudo
,它就会出错。我尝试通过chmod +x
上述所有方式授予权限,但如果我不包含它,我仍然会收到错误sudo
。
这可能是权限问题,也可能是 Eclipse 问题。出现错误Permission denied
,并且出现以下消息
The Eclipse executable launcher was unable to locate its companion shared library.
希望有人能给我指明正确的方向。
答案1
完整的分步指南:
删除 Eclipse 安装
sudo rm -r /opt/eclipse sudo rm /usr/share/applications/eclipse.desktop sudo rm /usr/bin/eclipse
下载 eclipse这里,例如适用于 Java EE 开发人员的 Eclipse IDE 64 位。
cd wget https://eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/mars/R/eclipse-jee-mars-R-linux-gtk-x86_64.tar.gz
提取档案
sudo tar xf eclipse-jee-mars-R-linux-gtk-x86_64.tar.gz -C /opt
创建桌面文件
nano ~/.local/share/applications/eclipse.desktop
并添加下面的配置
[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Name=Eclipse JEE Comment=Eclipse Integrated Development Environment Icon=eclipse Exec=/opt/eclipse/eclipse StartupNotify=true StartupWMClass=Eclipse-JEE
Icon=eclipse
如果有图标主题,则从图标主题中获取图标。如果没有,则使用绝对图标路径。通过启动器启动 eclipse
答案2
就我而言,错误诊断The Eclipse executable launcher was unable to locate its companion shared library.
很清楚:
/root/.p2/pool/plugins org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.401.v20161122-1740: cannot open shared object file: Permission denied
。
这是因为我使用 sudo 权限启动了 eclipse 安装程序,以便访问,而我希望 eclipse 位于 。结果,安装程序按照其自身的一些默认设置/opt
将一堆插件放置在 下。/root
然而,我通过以下方式绕过了这一点
- 创建我拥有的子目录。用(替换为您的用户名)
/opt/eclipse
表示。sudo mkdir /opt/eclipse && sudo chown -R user:user /etc/eclipse
user
- 在没有 sudo 权限的情况下正常启动
eclipse-installer
并完成其任务 - 归还所有权
sudo chown -R root:root /etc/eclipse
。
最后,我可以从该树中的可执行文件启动 eclipse,无需 sudo,也不会有任何抗议。
看一下https://stackoverflow.com/questions/37864572/了解有关此方法的更多背景信息。