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?
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?
Antworten:
Wenn Sie Anwendungen aus der Liste starten möchten, ist der Classic Gnome-Indikator eine gute Option .
sudo apt-get install classicmenu-indicator
Siehe hier: http://www.howtogeek.com/189929/how-to-install-and-launch-the-classic-gnome-menu-in-ubuntu-14.04/
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:
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.
#!/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
Das Skript listet alle .desktop
Dateien auf /usr/share/applications
und prüft, ob sich die Zeile NoDisplay=true
in 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 zenity
Liste zur Auswahl aufgelistet . Wenn Sie einen auswählen, wird der entsprechende Befehl ausgeführt.
Das ist es.
Wenn Sie auch eine kurze Beschreibung der Anwendung wünschen, wie in der Comment=
Zeile der .desktop
Datei erwähnt, verwenden Sie die folgende Version:
#!/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
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).