7 votes

Affichage de tous les programmes installés dans Ubuntu

Dans Ubuntu, où voir tous les programmes comme les "fichiers programmes" de Windows, à partir desquels je peux lancer un programme à partir d'une liste de tous les programmes installés ?

8voto

Jacob Vlijm Points 78990

Juste pour le plaisir

Puisque l'OP l'a mentionné : à partir duquel je peux lancer un programme à partir d'une liste de tous les programmes installés ?

Ci-dessous un petit script qui répertorie todo (globalement) les applications GUI installées. Choisissez-en une pour la lancer, ou tapez quelques-uns de ses caractères et appuyez sur Return pour exécuter l'application :

enter image description here

Pour utiliser

  • Copiez le script ci-dessous dans un fichier vide, enregistrez-le en tant que list_apps.py

  • Testez-le en le lançant par la commande (ouvrez une fenêtre de terminal, tapez la commande et appuyez sur Return ) :

    python3 /path/to/list_apps.py
  • Si tout fonctionne bien, ajoutez-la à une touche de raccourci : choisissez : Paramètres système > "Clavier" > "Raccourcis" > "Raccourcis personnalisés". Cliquez sur le "+" et ajoutez la commande :

    python3 /pat/to/list_apps.py

    à une combinaison de touches de raccourci que vous aimez.

Le script

#!/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

Comment cela fonctionne

Le script liste toutes les .desktop fichiers dans /usr/share/applications et vérifie si la ligne NoDisplay=true est dans le fichier (ce qui signifie qu'il n'est pas destiné à être utilisé comme une interface graphique). Ensuite, il consulte les fichiers, cherche le nom de l'application et la commande pour l'exécuter.

Le résultat est répertorié dans un zenity à choisir. Si vous en choisissez une, la commande correspondante est exécutée.

C'est tout.


Version étendue

Si vous souhaitez également avoir une courte description sur l'application, comme mentionné dans le Comment= ligne de son .desktop utilisez la version ci-dessous :

enter image description here

#!/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

4voto

Angel115 Points 160

Sur ubuntu, tous les programmes ne sont pas listés dans le menu des applications.

Pour les voir tous, vous devrez ouvrir une console et le type

dpkg -l

Cela affichera toutes les applications (celles qui fonctionnent dans l'interface utilisateur et celles qui fonctionnent dans la console).

3voto

Muzaffar Points 5449

Si vous souhaitez lancer des applications à partir de la liste, une option intéressante est la suivante Indicateur Gnome classique.

sudo apt-get install classicmenu-indicator

enter image description here

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X