Comment créer des racourcis sur Debian pour lancer des applications à partir du bureau et en ligne de commande?

Bonjour,

Je sais faire des alias mais je voudrai les regrouper dans un fichier à part afin que ce soit plus propre,
j’ai lu ça dans un livre de bonne pratique.

Deux question :
comment je peux trouver la commande à lancer dans un shell qui corresponds à un programme ?
comment je peux créer des raccourcis par exemple [CTRL] + [ALT] + [t] pour ouvrir un terminal ?

Pour la ligne de commande, tout est dans les droits et la variable d’environnement PATH :
https://www.linuxtricks.fr/wiki/droits-sous-linux-utilisateurs-groupes-permissions
https://debian-facile.org/doc:programmation:shell:path

pour créer un racourci sur le bureau cela se cache dans les fichiers « desktop » :
https://debian-facile.org/atelier:chantier:fichiers-desktop
Un exemple simple :

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/media/disque/bin/master-pdf-editor-4_3/masterpdfeditor4.png
Icon[fr_FR]=/media/disque/bin/master-pdf-editor-4_3/masterpdfeditor4.png
Name[fr_FR]=Pdf editeur
Exec=/media/disque/bin/master-pdf-editor-4/masterpdfeditor4 %f
Name=Pdf editeur

Le chemin /media/disque/bin/ pointe chez moi vers un répertoire perso sur un FS (disque) monté au boot (et déclaré dans la variable PATH, mais ce n’est pas utilisé ici).
Dans les menus de Gnome (ou Mate, ou…) on trouve une commande "créer un lanceur " qui simplifie le boulot.

Pour une doc complète :
https://specifications.freedesktop.org/desktop-entry-spec/latest/

Pour les raccourcis du genre Ctrl-Alt-t, utilise ton gestionnaire de bureau ou de fenêtres.
Par exemple, chez moi dans XFCE, c’est dans Menu XFCE→Paramètres→Clavier→Raccourcis d’applications.
image

Et si tu veux une application graphique pour t’aider à créer un lanceur (à créer un fichier .desktop, quoi), dans les dépôts il y a alacarte (pour Gnome) et menulibre (indépendant de Gnome).

@jweber
Je connais très bien la variable PATH et ce qu’elle fait.
juste une question sur les bonnes pratiques :
Je fait un programme en langage C.
Je créé un repertoire = /usr/local/bin/nom_utilistaur/c
Je l’inclus à la variable PATH en la modifiant.
Et ensuite depuis mon shell je peux lancer le programme en langage C, c’est bien ça ?

Même question dans un autre langage exemple python ?

Ainsi touts mes exécutables sont rangés, c’est propre et je peux tous les lancer depuis mon shell ?

Merci pour l’info mais ce n’est pas ce que je demande mais je prends quand même, moi je parlais de raccourcis clavier et non pas de raccourcis bureau.

Je suis sous gnome :
parametre > application => on ne peut pas définir de raccourci pour lancer une application ou bien j’ai pas trouver
parametre > raccoucis clavier => on peut définir des raccourci clavier mais je n’ai pas trouver comment lancer le terminal par exemple avec [CTRL] + [ALT] + t

De plus je n’ai pas sur mon navigateur ou autre d’icône pour minimaliser la fenêtre et ensuite la reprendre (elle apparaît nulle part).

Mais initialement ce que je voulais c’est la manière de procéder pour trouver la commande bash qui permet de lancer un programme via le terminal, par exemple libre office est installé par défaut en particulier l’équivalent de Word que nous appellerons Word libre.

Je veux trouver la commande qui me permet de lancer Word libre via le terminal, comment je fais ?

Soit elle est déjà quelque part dans un menu, dans ce cas, tu édites l’entrée de menu, la réponse y sera.
Sinon, tu cherches dans le paquet qui contient cette application. Pour cela, en ligne de commande, tu as :

> aptitude search tonapplication

Qui te permet de tenter de trouver le paquet qui va bien. Une fois que tu penses l’avoir trouvé, essaie :

> dpkg -L tonpaquet

Et là tu vois la liste des fichiers installés par le paquet. Le plus souvent, l’exécutable est dans /usr/bin/.

Exemple :

> aptitude search quake
i   ezquake                                            - client moderne pour QuakeWorld                              
i A ioquake3                                           - moteur pour des jeux 3D de tir en vue subjective            
i   ioquake3-server                                    - moteur pour des jeux de tir en 3D à la première personne – f
p   mate-equake-applet                                 - appliquette de bureau MATE surveillant les séismes
[…]

Je coupe, il y a 36 paquets (pour de vrai).

> dpkg -L quakeforge-glx
/.
/usr
/usr/games
/usr/games/nq-glx
/usr/games/qw-client-glx
/usr/share
/usr/share/doc
/usr/share/man
/usr/share/man/man6
/usr/share/doc/quakeforge-glx
/usr/share/man/man6/qw-client-glx.6.gz
/usr/share/man/man6/nq-glx.6.gz

Ha tiens, les jeux sont dans /usr/games/ et non dans /usr/bin/. Je sais donc que l¢xécutable s’appelle nq-glx.

Dans un termina tu tapes
libreoffice --writer
Ou tu crées un fichier bash dans ton répertoire bin perso qui contient :

#!/bin/bash
libreoffice --writer

et tu nommes ce fichier « word_libre »
tu rend ce fichier exécutable, et c’est tout

Encore un moyen pour trouver le nom de ta commande. Tu lances l’application puis tu fouines dans la liste des processus avec top, htop ou un gestionnaire des tâches quelconques.

Ce que l’on appelle un wrapper

@nicola

Bonjour Nicola,
J’ai testé deux commandes :

  • aptitude search libre (pour trouver les paquets en relation avec libre office)
    retour = aptitude commande introuvable
  • apt-get search libre
    retour = l’opération search n’est pas valide

Donc pour moi cette méthode ne fonctionne pas

J’ai lancé l’application libre office.
J’ai installé htop <=> sudo apt-get install htop
Je lance htop => htop (dans un terminal)
Le souci c’est que ça n’arrête pas de « bouger » dans la liste. Ainsi c’est compliqué de trouver quel est le processus de l’application = officeWriter

Je n’ai toujours pas réussi à créer un raccourci pour le terminal (CTRL + ALT + T)
Vous êtes sure qu’on peut le faire avec l’environnement gnome ?

Raté Aptitude faut l’installer, et on utilise plus le particule -get avec apt.

donc en cli pour chercher c’est :

apt search le nom_de_ton_paquet

pour ce qui est de la recherche des pid/processus il n’est pas utile d’utiliser htop, un simple ps suffit avec un grep :

ab  ~  ps faux | grep 'libre'
ab        586953  0.0  0.0 164176  4932 ?        Sl   17:44   0:00  |   \_ /usr/lib/libreoffice/program/oosplash --writer
ab        586990 14.8  1.3 1120564 223428 ?      Sl   17:44   0:01  |       \_ /usr/lib/libreoffice/program/soffice.bin --writer
ab        587037  0.0  0.0  11608   664 pts/6    S+   17:44   0:00  |       \_ grep --color=auto libre

Maintenant sous Gnome la documentation spécifie que tu peux simplement appuyer sur la touche super qui va ensuite te permettre de taper directement le nom de l’appli pour la lancer ^^

La documentation est claire à chaque fois, pour les raccourci, encore sous Gnome tu peux stacker tes applications dans un favoris ou dans un dossier afin de regrouper tes applications par utilisation par exemple.

J’ai fait la commande suivante :

  • apt search libre (libre entre étoile mais ça n’apparait pas)
    retour = E: Regex compilation error

Je cherche les paquets en relations avec libre office afin de trouver le moyen de lancer l’application dans un terminal avec une commande et à l’occase créer un alias.

Ok merci pour l’info mais ça ne m’aide pas à trouver la commande dans un terminal qui lance l’application non ?

A oué c’est clairement moins bien qu’un raccourci clavier comment je fais pour changer d’environnement graphique, je vais tester XFCE ?

Le nom_du_paquet, c’est pas compliqué, maintenant si tu ne connais pas le nom tu utilise les mots clé comme libre ou office, mais sans ajouter d’étoiles ou autre.

Bien entendu, tu sais très bien comment on lance une application en cli ? tu appelles son binaire (avec son path) pour un raccourci ou directement le binaire si l’utilisateur possède le binaire dans son PATH.

Maintenant dans le cas de writer de libreoffice, devine ce que tu as en fin de ligne ?

Touche super + writ suivi d’entrée c’est vachement long et compliqué …, tu peux tenter ta chance avec XFCE, mais devoir retenir 50 raccourci ça m’a fatigué à la longue lorsque je faisais du tilling, j’utilise un ordinateur je ne joue plus avec.

Ha zut.
J’ai proposé aptitude parce qu’il est plus synthétique qu’apt (et non apt-get qui n’a pas la fonction de recherche des deux autres).

Comme proposé en-dessous, tu peux aussi utiliser ps mais l’avantage de top et de htop, c’est que les applications qui consomment des ressources sont en haut.
Après, si tu connais le nom de l’exécutable, ni ps ni top ni htop ne sont utiles.

« Sûr » car, sans contrefaçon, je suis un garçon. :grin:

Bonjour,

J’ai testé vos méthodes afin de trouver la commande qui permet de lancer une application dans un terminal. Ici on prendra l’exemple de libre office writer.

Première méthode :

apt search office

Ci dessous le retour de la commande (y a énormément de chose ! Je ne peux pas tout vos montrer tellement y a de chose) :

En train de trier... Fait
Recherche en texte intégral... Fait
astronomical-almanac/stable 5.6-7 amd64
  almanach astronomique - calcul de positions d'étoiles et de planètes

auto-multiple-choice/stable 1.5.0~rc2-2 amd64
  gestion de QCM


printemf/stable 1.0.13-2 amd64
  Enhanced Metafile library (executable)

printer-driver-c2esp/stable 27-8 amd64
  printer driver for Kodak ESP AiO color inkjet Series

printer-driver-cups-pdf/stable 3.0.1-9 amd64
  printer driver for PDF writing via CUPS

psgml/stable 1.4.0-12 all
  mode majeur d’Emacs pour éditer des documents SGML

python-xlwt-doc/stable 1.3.0-3 all
  module for writing Microsoft Excel spreadsheet files - doc

python3-access2base/stable-security 1:7.0.4-4+deb11u1 all
  interface between Python and the LibreOffice Access2Base library

python3-carquinyol/stable 0.118-2 amd64
  Sugar Learning Platform - datastore

python3-exchangelib/stable 3.2.0-1 all
  Client for Microsoft Exchange Web Services (Python3 version)

python3-hydroffice.bag/stable 0.2.15-3 all
  manage Bathymetric Attributed Grid (BAG) data files (Python 3)

python3-jarabe/stable 0.118-2 all
  Sugar Learning Platform - graphical shell

python3-msoffcrypto-tool/stable 4.11.0-1 all
  Python tool and library for decrypting MS Office files

python3-olefile/stable,now 0.46-3 all  [installé, automatique]
  Python module to read/write MS OLE2 files

python3-sugar3/stable 0.118-3 all
  Sugar Learning Platform - toolkit Python3 bindings

python3-translate/stable 3.3.2-1 all
  boite à outils d’aide à la localisation de logiciels – Python 3

python3-uno/stable-security,now 1:7.0.4-4+deb11u1 amd64  [installé, automatique]
  pont Python-UNO




ure/stable-security,now 1:7.0.4-4+deb11u1 amd64  [installé, automatique]
  environnement d'exécution UNO pour LibreOffice

vigor/stable 0.016-28 amd64
  nvi avec le trombone démon

webext-tbsync/stable 2.19-1 all
  Thunderbird/Lightning Add-On to support MS Exchange Calendar etc.

wesnoth-1.14-ei/stable 1:1.14.15-1 all
  "The Eastern Invasion" official campaign for Wesnoth (branch 1.14)

wmhdplop/stable 0.9.11-1 amd64
  appliquette pour la barre des tâches de surveillance de l’activité du disque dur

writer2latex/stable 1.4-10 all
  conversion de Writer et Calc d'OpenOffice.org en LaTeX ou XHTML

writer2latex-manual/stable 1.4-10 all
  conversion de Writer et Calc d'OpenOffice.org en LaTeX ou XHTML – manuel

xfig-libs/stable 1:3.2.8-3 all
  XFig image libraries and examples

xjed/stable 1:0.99.19-8 amd64
  éditeur de texte à destination des programmeurs (version graphique)

xtpcpp/stable 0.4.18-1 amd64
  C++ version of X!TandemPipeline

Personnellement je ne trouve pas la commande qui permet de lancer libre office writer dans un terminal.

Deuxième méthode :

J'ai lancé l'application libre office writer en CLI et je jette un oeuil sur les processus avec la commande = ps -aux | grep office

Ci dessous le retour de cette commande :

pierre      5530  0.0  0.0  87116  4744 ?        Sl   11:26   0:00 /usr/lib/libreoffice/program/oosplash --writer
pierre      5565 26.4  1.4 909600 241292 ?       Sl   11:26   0:01 /usr/lib/libreoffice/program/soffice.bin --writer
pierre      5599  0.0  0.0   6196   724 pts/0    S+   11:26   0:00 grep --color=auto office

Pareil je ne trouve pas la commande qui me permet de lancer l’application libre office writer dans un terminal.

En gros j’aimerai tout piloter à partir de mon shell c’est pour cela que j’aimerai avoir une méthode me permettant de trouver la commande d’une application particulière afin de la lancer dans un terminal.

Pour libreoffice tu peux lancer en cli normalement avec un truc de ce genre :

libreoffice.writer

Si tu cherche à lancer des logiciels en cli, tu peux regarder comment appelé les binaires depuis les documentations des logiciels en question.

A quoi bon vouloir réinventer la roue pour créer des lanceurs sans plus d’options, alors que la plus part des gestionnaire de bureau propose des intégrations propres …

On a donné la commande il y a 15 jours

Oui je sais que vous m’avez donné la commande mais moi ce que je veux c’est une méthode me
permettant de trouver la commande qui lance une application particuliere dans le terminal et pas
un cas particulier.

Si les binaires sont dans le path de ton utilisateur, alors appelle les logiciel directement par leur petit nom, et dans le cas de suite logiciels tel que libreoffice il suffit de jouer de la touche tabulation :

 ab  ~  libreoffice
libreoffice          libreoffice.base     libreoffice.calc     libreoffice.draw     libreoffice.filebug  libreoffice.impress  libreoffice.math     libreoffice.writer

Pour lancer un binaire, on appelle le binaire par son petit nom (c’est aussi simple que ça).

Si je connais le nom du paquet installé la commande
dpkg-querry -L <paquet>
affiche les fichiers installés par un paquet. Comme il y en a beaucoup un peu de filtrage s’impose par grep.
Par exemple :
$ dpkg-query -L libreoffice-writer | grep bin/
me retourne :
/usr/bin/loweb
/usr/bin/lowriter
Et la commande
lowriter
lance bien l’éditeur de texte de libreoffice
Comme libreoffice est un métapaquet il installe en réalité une foule de paquets. Pour en savoir plus
apt show libreoffice
me permet de savoit lesquels