为 Eclipse 的 .p2 树使用不同的位置 ("bundle pool")

Using Different Location for Eclipse's .p2 tree ("bundle pool")

我目前正在尝试将 Eclipse 从 /opt/eclipse 设置为 运行。

一切顺利;我使用 Eclipse 安装程序将软件解压缩到 /opt/eclipse;我在我的 /usr/bin 目录中对它做了一个软 link,这样我就可以在我的用户终端的任何地方输入 'eclipse' 到 运行 它,我以为我已经完成了发生:

$ 日食 /root/.p2/pool/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444:无法打开共享对象文件:权限被拒绝 Gtk-Message:GtkDialog 映射时没有临时父对象。这是不鼓励的。

在 /opt/eclipse/eclipse.ini 和 /opt/eclipse/configuration/config.ini 文件中进行一些探索后,我得出的结论是,当我使用下面的安装程序安装 Eclipse 时超级用户权限,它在 /root 目录下安装了必要的库。

我可以使用 'sudo eclipse' 并且它可以工作,但是每次都必须输入我的密码变得很麻烦。我正在考虑将 /usr/lib 下的 .p2 文件复制到 "generalize" 它并允许以我的用户身份从任何 pwd 访问;这是个好主意还是我应该做点别的?

.p2 文件夹是安装程序创建的所有 Eclipse 实例引用的共享安装文件夹。可悲的是,我认为移动现有版本是不安全的(我可能是错的,但我不确定它被引用了多少次),但你可以创建一个新版本。

安装程序在此处使用的概念称为 'Bundle pool',您可以根据需要为其设置任意多个位置。要打开捆绑池设置,请在安装程序中找到相应的项目UI。

如果是简单的 UI,请按顶部菜单底部 (1),然后 select 捆绑池...:

如果您使用的是高级 UI,向导第一页底部有一个下拉列表,其中包含现有捆绑包池的列表。通过单击它旁边的按钮,您可以进入捆绑池管理器。

在这两种情况下,您都可以在显示的对话框中创建自己的捆绑包池,您可以将其放入您想要的任何文件夹,然后将其用作安装源。

最后,如果您已将所有安装移至此新池,则可以安全地删除原始捆绑包池文件夹,不再需要它。

说我是用户 me.

  • 安装前,将 /opt/eclipse 的所有权更改为 sudo chown -R me:me /etc/eclipse,这样我就可以在没有 sudo 权限的情况下启动 envince-installer
  • 以简单模式安装到 /opt/eclipse/root/.p2 上没有创建文件夹。 .p2 树安装到我的主目录中(但如图所示 您也可以自定义它)
  • 安装后,用 sudo chown -R root:root /etc/eclipse 恢复 /etc/eclipse 的所有权。现在我可以在 /opt/eclipse 下启动可执行文件而无需 sudo 权限,因为不需要访问 /root.
  • 我在启动器菜单中创建了一个别名甚至一个项目,以从桌面环境启动 eclipse。

我的规格:Ubuntu 14.04 LTS,Java SE Runtime Environment build 1.8.0_111-b14,Eclipse Installer 1.6.0 Build 2790,Eclipse Neon

我 运行 遇到了同样的问题(主目录变得越来越大)并进行了修改:

$ mv ~/.p2 /opt/eclipse/p2
$ ln -s /opt/eclipse/p2 ~/.p2

eclipse 安装程序(...和 ​​eclipse 本身)似乎对符号链接很满意,"pool" 信息现在托管在 /opt/eclipse 区域并占用磁盘 space那里。

可能必须获得一些超级用户权限才能执行第一步,但它确实适用于开放权限和多个用户向同一区域添加符号链接。

假定 eclipse 是您的便携式 eclipse 安装所在的文件夹: - 关闭日食 - 在 eclipse 下创建一个文件夹(即 myDATA) - 编辑 eclipse\eclipse.ini - 在条目 -vmargs 下插入:-Duser.home=.\myDATA (注意稍后在 ini 文件中覆盖 -Duser.home!) - 重启日食

现在您可以将 eclipse 复制到任何您想要的地方。

遇到过相同类型的问题,我认为应该对实际安装程序进行更多解释。但是,与上面类似,这就是我为获得非 root 用户可以使用的安装所做的,并将所有内容 'eclipse' 存储在同一个地方。

1) 清理初始实验造成的混乱:

  • 从 /root 中删除这些文件夹:.p2、.eclipse、eclipse
  • 删除解压的安装程序
  • 删除 /root/
  • 中安装的所有内容

2) 创建以下文件夹:

  • /opt/eclipse
  • /opt/eclipse/installer(在此处解压缩安装程序)
  • /opt/eclipse/池
  • /opt/eclipse/安装

运行 安装程序为 sudo。 Select GUI 上的高级安装选项,并在 /opt/eclipse/pools 文件夹中添加一个新的池代理。 Select 安装文件夹为 /opt/eclipse/install。 安装后删除 /root.

中所有新创建的文件夹“.p2”、“.eclipse”、'eclipse'

可执行文件现在是 /opt/eclipse/install/eclipse/eclipse 并且可以由非根用户启动。此外,您可以安装新的软件包,例如PyDev 作为非根用户。