Использование различного расположения для дерева Eclipse.p2 ( "пул пулов" )

В настоящее время я пытаюсь настроить Eclipse для запуска из /opt/eclipse.

Все шло хорошо; Я извлекаю программное обеспечение с помощью установщика Eclipse в /opt/eclipse; Я сделал мягкую ссылку на него в каталоге /usr/bin, поэтому я мог просто набрать "eclipse", чтобы запустить его из любого места в моем пользовательском терминале, и я думал, что это было сделано до тех пор, пока это не произошло:

$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 с помощью установщика под супер-пользовательское разрешение, он установил необходимые библиотеки под/корневым каталогом.

Я могу использовать "sudo eclipse", и это работает, но каждый раз вам приходится вводить мой пароль. Я думаю о копировании файла .p2 в /usr/lib, чтобы "обобщить" его и разрешить доступ с любого pwd в качестве моего пользователя; это была бы умная идея, или я должен делать что-то еще?

Ответ 1

Папка .p2 является общей папкой установки, на которую ссылаются все экземпляры Eclipse, созданные установщиком. К сожалению, я не думаю, что безопасно перемещать существующую версию (возможно, я ошибаюсь, но я не уверен, сколько раз она ссылается), но вы можете создать новую.

Концепция, используемая установщиком, называется "пул Bundle", и вы можете настроить столько мест для этого, сколько хотите. Чтобы открыть настройки пула пулов, найдите соответствующий элемент в пользовательском интерфейсе установщика.

В случае простого пользовательского интерфейса нажмите нижнюю часть меню вверху (1), а затем выберите Пулы пулов...: Настройка пула пула с простым пользовательским интерфейсом

Если вы используете расширенный интерфейс, в нижней части первой страницы мастера находится раскрывающийся список со списком существующих пулов пулов. Нажимая кнопку рядом с ней, вы можете попасть в диспетчер пулов пакетов. Настройка пула пулов с расширенным интерфейсом

В обоих случаях в представленном диалоговом окне вы можете создать свой собственный пул пакетов, который вы можете поместить в любую нужную папку, а затем использовать его как источник установки.

Наконец, если вы переместили все свои установки в этот новый пул, вы можете безопасно удалить папку исходного пула пулов, она больше не понадобится.

Ответ 2

Скажите, что я пользователь me.

  • Перед установкой измените право собственности на /opt/eclipse на sudo chown -R me:me /etc/eclipse, чтобы я мог запустить envince-installer без прав sudo.
  • Установите в /opt/eclipse в простом режиме. Никакая папка на /root/.p2 не создается. Дерево .p2 установлено в мой домашний каталог (но как показано в другом ответе вы также можете настроить его)
  • После установки верните права собственности /etc/eclipse на sudo chown -R root:root /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

Ответ 3

Я столкнулся с той же проблемой (домашний каталог стал огромным) и сделал взлом:

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

Установщик eclipse (... и eclipse) кажется доволен символической ссылкой, а информация о "пуле" теперь размещается в области /opt/eclipse и засасывает дисковое пространство там.

Возможно, вам придется получить привилегию суперпользователя, чтобы сделать первый шаг, но он работает с открытыми правами и несколькими пользователями, добавляющими символические ссылки в ту же область.

Ответ 4

Предположим, что eclipse - это папка, в которой установлено ваше портативное затмение: - закрыть eclipse - создать папку под eclipse (т.е. myDATA) - отредактировать eclipse\eclipse.ini - вставить запись -vmargs: -Duser. home =.\myDATA (обратите внимание, что -Duser.home будет перезаписан позже в ini файле!) - перезапустите eclipse

теперь вы можете копировать затмение везде, где хотите.

Ответ 5

Имея проблемы такого же типа, я думаю, что должно быть больше объяснений фактического установщика. Однако, как и выше, это то, что я сделал, чтобы получить установку, которая может использоваться пользователем без полномочий root, и хранить все "затмения" в одном месте.

1) Устраните беспорядок, созданный в результате экспериментов:

  • Удалите эти папки из /root:.p2,.eclipse, eclipse
  • Удалить разархивированный установщик
  • Удалить все, что было установлено в /root/

2) Создайте следующие папки:

  • /Опт/затмение
  • /opt/eclipse/installer (распакуйте ваш установщик здесь)
  • /Opt/затмение/бассейны
  • /Opt/Затмение/установить

Запустите установщик как sudo. Выберите опцию расширенной установки в графическом интерфейсе и добавьте новый агент пула в папку /opt/eclipse/pools. Выберите папку для установки /opt/eclipse/install. После установки удалите все вновь созданные папки ".p2", ".eclipse", "eclipse" в /root.

Исполняемый файл теперь /opt/eclipse/install/eclipse/eclipse и может быть запущен пользователем без полномочий root. Также вы можете установить новые пакеты, например PyDev как пользователь без полномочий root.