2016-06-16 10 views
9

Ich versuche gerade, Eclipse für die Ausführung von/opt/eclipse einzurichten.Verwendung eines anderen Standorts für die .p2-Baumstruktur von Eclipse ("Bundle-Pool")

Alles lief gut; Ich extrahiere die Software mithilfe des Eclipse-Installationsprogramms nach/opt/eclipse; Ich habe einen weichen Link, um es in meinem/usr/bin, so konnte ich nur ‚Eclipse‘ geben Sie es in meinem Benutzerendgerät von jedem Ort zu laufen und ich dachte, ich fertig war, bis dies geschehen ist:

eclipse $ /root/.p2/pool/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444: Gemeinsame Objektdatei kann nicht geöffnet werden: Berechtigung verweigert Gtk-Nachricht: GtkDialog ohne übergeordnetes übergeordnetes Objekt zugeordnet. Dies wird abgeraten.

Nach einiger Erkundung in den /opt/eclipse/eclipse.ini und /opt/eclipse/configuration/config.ini Dateien kam ich zu dem Schluss, dass, wenn ich mit Eclipse das Installationsprogramm unter Superuser-Berechtigung installiert, dass es installiert die notwendigen Bibliotheken unter/root-Verzeichnis.

Ich kann 'sudo eclipse' verwenden und es funktioniert, aber es wird ein Aufwand, jedes Mal mein Passwort eingeben zu müssen. Ich denke darüber nach, die .p2-Datei unter/usr/lib zu kopieren, um sie zu "verallgemeinern" und den Zugriff von jedem pwd als meinen Benutzer zu erlauben; wäre das eine schlaue Idee oder sollte ich etwas anderes machen?

+0

Haben Sie für Multi-User installieren möchten, oder Sie tun Möchten Sie lediglich das Installationsverzeichnis (oder die Dauer) für einen einzelnen Benutzer anpassen? Ersteres impliziert, dass der '~/.p2' (" bundle pool ") -Baum irgendwo vernünftiger verschoben wird. – smci

Antwort

6

Der Ordner .p2 ist ein freigegebener Installationsordner, auf den alle vom Installationsprogramm erstellten Eclipse-Instanzen verweisen. Leider glaube ich nicht, dass es sicher ist, die vorhandene Version zu verschieben (ich könnte falsch liegen, aber ich bin nicht sicher, wie oft es referenziert wird), aber Sie können eine neue erstellen.

Das Konzept, das der Installer hier verwendet, heißt "Bundle-Pool", und Sie können beliebig viele Standorte einrichten. Um die Bundle-Pool-Einstellungen zu öffnen, suchen Sie das entsprechende Element in der Installer-Benutzeroberfläche.

Bei der einfachen Benutzeroberfläche, drücken Sie die Menü unten auf der Oberseite (1) und dann Bundle-Pools wählen ...: Bundle Pool setting with simple UI

Wenn Sie die erweiterte Benutzeroberfläche verwenden, gibt es eine Dropdown-Liste am unteren Rand der ersten Seite des Assistenten mit der Liste der vorhandenen Bundle-Pools. Durch Klicken auf die Schaltfläche daneben gelangen Sie zum Bundle-Pool-Manager. Bundle Pool setting with the Advanced UI

In beiden Fällen können Sie in dem vorgestellten Dialog Ihren eigenen Bundle-Pool erstellen, den Sie in einen beliebigen Ordner legen und dann als Installationsquelle verwenden können.

Wenn Sie schließlich alle Ihre Installationen in diesen neuen Pool verschoben haben, können Sie Ihren ursprünglichen Poolordner für Pakete sicher entfernen. Er wird nicht mehr benötigt.

0

Angenommen, ich bin Benutzer me.

  • vor der Installation ändern, das Eigentum an /opt/eclipse mit sudo chown -R me:me /etc/eclipse so kann ich die envince-installer ohne sudo Rechte starten.
  • Im einfachen Modus in /opt/eclipse installieren. Kein Ordner auf /root/.p2 wird erstellt. Der .p2 Baum wird in meinem Home-Verzeichnis installiert (aber wie gezeigt in the other answer können Sie dies auch anpassen)
  • Nach der Installation, setzen Sie den Besitz von /etc/eclipse mit sudo chown -R root:root /etc/eclipse zurück.Jetzt kann ich die ausführbare Datei unter /opt/eclipse ohne sudo-Rechte starten, da auf /root nicht zugegriffen werden muss.
  • Ich mache einen Alias ​​und sogar ein Element im Launcher-Menü, um Eclipse aus der Desktop-Umgebung zu starten.

Meine Spezifikationen: Ubuntu 14.04 LTS, Java SE Runtime Environment bauen 1.8.0_111-b14, Eclipse-Installer 1.6.0 Build-2790, Eclipse-Neon