Zeigt alle installierten Programme in Ubuntu an

7

Wo kann man in Ubuntu alle Programme wie die "Programmdateien" in Windows sehen, von denen aus ich ein Programm aus einer Liste aller installierten Programme starten kann?

Velut Luna
quelle
1
Wahrscheinlich ist Software Center am besten, obwohl es unter Linux kein Äquivalent zu "Programmdateien" gibt.
Panther

Antworten:

3

Wenn Sie Anwendungen aus der Liste starten möchten, ist der Classic Gnome-Indikator eine gute Option .

sudo apt-get install classicmenu-indicator

Geben Sie hier die Bildbeschreibung ein

Siehe hier: http://www.howtogeek.com/189929/how-to-install-and-launch-the-classic-gnome-menu-in-ubuntu-14.04/

Muzaffar
quelle
Vielen Dank! Was ist mit in der Einheit?
Velut Luna
Es funktioniert auf Einheit. Es ist für die Einheit bestimmt.
Muzaffar
Vielen Dank für die Antwort. Ich installiere es in meinem Superuser-Konto. Es wird jedoch nur ein sehr kleiner Teil der Pragramme angezeigt. Interessanterweise funktioniert es perfekt in meinem anderen normalen Benutzerkonto und zeigt alle Programme wie in Ihrer Abbildung gezeigt. Haben Sie eine Idee warum und wie Sie das Problem beheben können?
Velut Luna
Möglicherweise sollten die Einträge im Hauptmenü bearbeitet werden. Versuchen Sie es aus der Liste der Apps zu suchen.
Muzaffar
Danke Muzaffar, noch eine Sache, wie man es deinstalliert, nur für den Fall, dass ich es später möchte?
Velut Luna
8

Nur zum Spaß

Seit OP erwähnt: von wo kann ich ein Programm aus einer Liste aller installierten Programme starten?

Unten ein kleines Skript, das alle (global) installierten GUI-Anwendungen auflistet . Wählen Sie eines aus, um es zu starten, oder geben Sie einige seiner Zeichen ein und drücken Sie Return, um die Anwendung auszuführen:

Geben Sie hier die Bildbeschreibung ein

Benutzen

  • Kopieren Sie das folgende Skript in eine leere Datei und speichern Sie es unter list_apps.py
  • Testen Sie es mit dem Befehl (öffnen Sie ein Terminalfenster, geben Sie den Befehl ein und drücken Sie Return):

    python3 /path/to/list_apps.py
    
  • Wenn alles einwandfrei funktioniert, fügen Sie es einer Tastenkombination hinzu: Wählen Sie: Systemeinstellungen> "Tastatur"> "Tastenkombinationen"> "Benutzerdefinierte Tastenkombinationen". Klicken Sie auf das "+" und fügen Sie den Befehl hinzu:

    python3 /pat/to/list_apps.py
    

    zu einer Tastenkombination, die Sie mögen.

Das Skript

#!/usr/bin/env python3
import subprocess
import os

dr = "/usr/share/applications"

apps = []

for f in [f for f in os.listdir(dr) if f.endswith(".desktop")]:
    try:
        content = open(dr+"/"+f).read()
        if not "NoDisplay=true" in content:
            lines = content.splitlines()
            name = [l for l in lines if l.startswith("Name=")][0].replace("Name=", "")
            command = [l for l in lines if l.startswith("Exec=")][0].replace("Exec=", "")
            apps.append([name, command])
    except:
        pass

apps.sort(key=lambda x: x[0]); apps = sum(apps, [])
displ_list = '"'+'" "'.join(apps)+'"'

try:
    chosen = subprocess.check_output([
        "/bin/bash",
        "-c",
        'zenity --list '+\
        '--column="Applications" '+\
        '--column="commands" '+\
        '--hide-column=2 --height 450 '+\
        '--width 300 '+\
        '--print-column=2 '+displ_list
        ]).decode("utf-8").split("|")[-1].strip()
    chosen = chosen[:chosen.rfind(" ")] if "%" in chosen else chosen
    subprocess.Popen([
        "/bin/bash", "-c", chosen
        ])
except subprocess.CalledProcessError:
    pass

Wie es funktioniert

Das Skript listet alle .desktopDateien auf /usr/share/applicationsund prüft, ob sich die Zeile NoDisplay=truein der Datei befindet (was bedeutet, dass sie nicht als GUI verwendet werden soll). Dann untersucht es die Dateien, sucht den Anwendungsnamen und den Befehl zum Ausführen.

Das Ergebnis wird in einer zenityListe zur Auswahl aufgelistet . Wenn Sie einen auswählen, wird der entsprechende Befehl ausgeführt.

Das ist es.


Erweiterte Version

Wenn Sie auch eine kurze Beschreibung der Anwendung wünschen, wie in der Comment=Zeile der .desktopDatei erwähnt, verwenden Sie die folgende Version:

Geben Sie hier die Bildbeschreibung ein

#!/usr/bin/env python3
import subprocess
import os

dr = "/usr/share/applications"

apps = []

for f in [f for f in os.listdir(dr) if f.endswith(".desktop")]:
    try:
        content = open(dr+"/"+f).read()
        if not "NoDisplay=true" in content:
            lines = content.splitlines()
            name = [l for l in lines if l.startswith("Name=")][0].replace("Name=", "")
            command = [l for l in lines if l.startswith("Exec=")][0].replace("Exec=", "")
            comment = [l for l in lines if l.startswith("Comment=")]
            comment = comment[0].replace("Comment=", "") if comment else "No description"
            apps.append([name, command, comment])
    except:
        pass

apps.sort(key=lambda x: x[0]); apps = sum(apps, [])
displ_list = '"'+'" "'.join(apps)+'"'

try:
    chosen = subprocess.check_output([
        "/bin/bash",
        "-c",
        'zenity --list '+\
        '--column="Applications" '+\
        '--column="commands" '+\
        '--column="Description" '+\
        '--hide-column=2 --height 450 '+\
        '--width 500 '+\
        '--print-column=2 '+displ_list
        ]).decode("utf-8").split("|")[-1].strip()
    chosen = chosen[:chosen.rfind(" ")] if "%" in chosen else chosen
    subprocess.Popen([
        "/bin/bash", "-c", chosen
        ])
except subprocess.CalledProcessError:
    pass
Jacob Vlijm
quelle
1
Eine KISS-Lösung: Halten Sie es einfach dumm! ;-)
Fabby
@ Fabby Haha, ich muss das wirklich zu meinem Repertoire hinzufügen :)
Jacob Vlijm
4

Unter Ubuntu werden nicht alle Programme im Anwendungsmenü aufgelistet.

Um sie alle zu sehen, müssen Sie eine Konsole öffnen und eingeben

dpkg -l

Dadurch werden alle Anwendungen angezeigt (die in der Benutzeroberfläche und die in der Konsole).

Angel115
quelle
2
Nein, das zeigt die Liste der installierten Softwarepakete an . Viele Pakete (insbesondere solche, die Befehlszeilenprogramme enthalten) enthalten mehrere Anwendungen, und viele Pakete enthalten keine (es handelt sich um Bibliotheken oder Datendateien, die von anderen Anwendungen verwendet werden).
Psusi