Wie führe ich NetBeans vom Terminal aus aus?

8

Ich habe ein JDK + NetBeans-Bundle aus der heruntergeladenen .sh-Datei installiert.

Jetzt habe ich die NetBeans-Verknüpfung auf meinem Desktop, kann NetBeans jedoch nicht über das Terminal ausführen.

Wenn ich renne:

sudo dpkg --get-selections

NetBeans ist nicht auf der Liste und ich kann es auch nicht im Ubuntu Software Center finden.

  • Wie starte ich es vom Terminal aus und wie finde ich es im System?

  • Als ich Emacs mit installiert apt-gethabe, erschien es im Hauptmenü und ich konnte es sofort vom Terminal aus starten. Wie unterscheiden sich diese beiden Installationen?

Alan
quelle
1
netbeans ist in den Repos verfügbar, siehe packages.ubuntu.com/netbeans . Es ist nicht erforderlich, es von einem Installationsprogramm zu installieren.
Lekensteyn
1
obwohl es nicht die neueste Version ist :)
Jacob Vlijm
Danke, das habe ich bemerkt. Aber ich wollte das Installationsverfahren üben und verstehen.
Alan
Sie müssen das Installationsskript nicht ausführen, wenn Sie umake verwenden.
Thufir

Antworten:

5

dpkg ist ein Debian-Paketmanager, da Sie Nebeans über ein (vermutlich lokales) Skript installiert haben, wird es nicht in dpkg -l aufgeführt.

Rufen Sie den Befehl einer Anwendung aus ihrer Desktop-Datei ab:

Wenn Sie eine Anwendung installiert haben, deren Befehl Sie nicht kennen, aber eine Desktop-Datei haben, können Sie diese aus dem Inhalt der Desktop-Datei lesen. Der Link, den Sie auf Ihrem Desktop haben, ist eine Desktop-Datei. Suchen Sie nach einer Zeile, die mit "Exec =" beginnt. Was nach dieser Zeichenfolge kommt, ist der Befehl, den Sie suchen.

Stellen Sie die Anwendung in Dash zur Verfügung:

Normalerweise installieren Anwendungen eine Desktop-Datei in /usr/share/applications(wie es Emacs tut). Befindet sich eine Desktop-Datei entweder an diesem oder in diesem Speicherort ~/.local/share/applications, wird sie automatisch in Dash angezeigt. Wenn Sie also die Desktop-Datei in kopieren ~/.local/share/applications, wird sie nach der nächsten Anmeldung in Dash angezeigt .

Öffnen Sie eine Anwendung mit (nur) dem Namen der Binärdatei (oder nicht):

Netbeans wurde für den Befehl nicht geöffnet, netbeansda die Shell den Pfad zu Ihrer Binärdatei nicht kennt. Wenn sich Binärdateien in /usr/bin(dem Standardpfad zu den Binärdateien der Anwendung) befinden, werden sie sofort ohne das Pfadpräfix geöffnet. Das ist zum Beispiel bei Emacs der Fall.

Wenn eine Anwendung ihre Binärdatei nicht installiert /usr/bin, gibt es drei Möglichkeiten. Entweder enthält die Ausführungszeile der Desktop-Datei der Anwendung den Pfad zur Datei, wie Sie beispielsweise in der Ausführungszeile der file-explorer indicatorDesktop-Datei der: sehen können /opt/indicator-file-explorer/bin/indicator-file-explorer, oder der Pfad zur Binärdatei wird zu $ ​​PATH hinzugefügt (/etc/environment ) , sodass die Shell sucht auch in diesem Verzeichnis nach Binärdateien, oder die Anwendung installiert einen Link zur Binärdatei in /usr/bin. Alle drei Optionen treten auf, unabhängig davon, wie eine Anwendung installiert ist.

Wenn Sie Ihre Anwendung lokal installiert haben, ist es eine schlechte Idee, aus einem globalen Verzeichnis einen Link zur Binärdatei der Anwendung zu erstellen /usr/bin. Andere Benutzer würden mit einem toten Link stecken bleiben, da sie keine gültigen Berechtigungen in Ihrem Home-Verzeichnis haben. Daher ist es am einfachsten, ein lokales bin-Verzeichnis ( ~/bin) zu erstellen und aus diesem Verzeichnis (ln -sf) einen Link zur lokalen binären Datei zu erstellen. Auf diese Weise können Sie Ihre lokal installierten Netbeans mit dem einzigen Befehl ausführen netbeans.

Jacob Vlijm
quelle
IMHO gibt es einen weiteren Unterschied, da Emacs vom Terminal aus gestartet werden können, aber wenn ich "netbeans &" versuche, erhalte ich die Meldung, dass es nicht installiert ist, und den Vorschlag, apt-get install netbeans zu verwenden. Bedeutet dies, dass apt-get-Installationen dem Systempfad binäre Dateipfade hinzufügen, sh-Installationen jedoch nicht?
Alan
@ Alan Ich habe meine Antwort aktualisiert
Jacob Vlijm
Danke Jacob! Das ist eine sehr detaillierte Antwort. Ich verstehe den letzten Absatz allerdings nicht ganz. Ich möchte Netbeans vom Terminal aus starten. In der Datei 'netbeans-8.0.desktop' habe ich diese Zeile 'Exec = / bin / sh "/home/al1357/netbeans-8.0/bin/netbeans"', also habe ich 'sudo ln /home/al1357/netbeans-8.0/ bin / netbeans 'im Verzeichnis' / usr / bin '. Wenn ich jetzt 'netbeans &' mache, erhalte ich die Fehlermeldung: 'Clusterdatei kann nicht gelesen werden: /usr/etc/netbeans.clusters'. Wie bringe ich es zum Laufen?
Alan
@Alan Selbst wenn es funktionieren würde, ist es keine gute Idee, einen Link global zu erstellen (in usr/bineine Datei oder Anwendung im lokalen Verzeichnis. Andere Benutzer würden mit einem "toten" Link konfrontiert, da sie keine Berechtigungen in Ihrem haben lokales Verzeichnis. Wenn Sie ein binVerzeichnis in Ihrem Home-Verzeichnis erstellen und dort einen Link platzieren ( ln -sf /home/al1357/netbeans-8.0/bin/netbeans /home/al1357/bin/netbeans), sollte es nach dem Abmelden / Anmelden funktionieren (wenn ich nichts falsch eingegeben habe). Oft funktioniert es so.
Jacob Vlijm
@ Alan hat meine Antwort aktualisiert.
Jacob Vlijm
11

Angenommen, Sie haben die Version 7.4 heruntergeladen

Wenn Sie Netbeans vom .sh-Installationsprogramm mit installiert haben, lautet sudoder Standardbefehl zum Ausführen von Netbeans:

/bin/sh "/usr/local/netbeans-7.4/bin/netbeans"

Wenn Sie NetBeans ohne installiert haben, lautet sudoder Standardbefehl:

~/netbeans-7.4/bin/netbeans
Kirchberger
quelle
1

Ich weiß nicht, ob dies helfen könnte, aber was für mich funktioniert, ist die Annahme, dass Sie das aktuelle Home-Verzeichnis Ihres Benutzers sind

./netbeans-8.0.2/bin/netbeans

Ich habe Netbeans installiert, indem ich das sh-Installationsprogramm von der Website heruntergeladen habe. Ich bin nur neugierig, wie man Netbeans über das Terminal laufen lässt, und das hat bei mir funktioniert.

KiX Ortillan
quelle
0

in Linux Mint 19 Zimt verwenden sh netbeans

zum Beispiel ~/netbeans-8.2/bin$ sh netbeans

Teguh Siswanto
quelle