Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

samedi 18 mai 2019

Recevoir des notifications 'Desktop' depuis le Terminal

Quand on lance une commande qui prend du temps sous Linux, comme une compilation ou l'éxécution de tests unitaires, on est amené à aller voir périodiquement où s'en est, ce qui est un peu barbant et pas très efficace.

Il est pourtant possible d'envoyer des notifications à l'environnement graphique depuis la ligne de commande. On commnence par installer:

sudo apt-get install libnotify-bin

La commande à utiliser s'appele notify-send. Par exemple pour être notifié d'une erreur de compilation:

make || notify-send 'Compilation Failed' /home/user/sources/projects/my-project

Ce qui donne:

Notification Bureau

Le premier paramètre est le titre de la notification, ici 'Compilation Failed', le second correspond au texte qui s'affiche en dessous.

Comme il s'agit d'une erreur, on aurait dû utiliser:

make || notify-send -i error 'Compilation Failed' /home/user/sources/projects/my-project

Notification Erreur Bureau

Il est aussi possible d'afficher un message informatif, avec une ampoule comme icône, comme par exemple:

Notification Bureau (Info)

Ce qui correspond à la commande:

make || notify-send -i info 'Compilation Failed' /home/user/sources/projects/my-project

On peut également définir le temps d'affchage de la notification avec le flag -t:

make || notify-send -t 3000 -i error 'Compilation Failed' /home/user/sources/projects/my-project

Ainsi, la notification sera affichée 3 secondes à l'écran.

On voit donc qu'envoyer des notifications sur le bureau depuis la ligne de commande et vos scripts est très facile. La commande de notification pourra même être intégrée dans des alias Bash afin d'avoir une notification d'erreur chaque fois que la compilation ou les tests échouent.

dimanche 17 mars 2019

Faire cohabiter les raccourcis clavier de Linux avec ceux d'IDEA

Les raccourcis clavier permettent de gagner un temps précieux quand on les connait bien, mais encore faut-il que ceux définis par le logiciel qu'on utilise n'entrent pas en conflit avec ceux du système.

L'IDE de développement de JetBrains, IDEA, permet d'utiliser plusieurs KeyMap:

  • Default
  • Default for GNOME
  • Default for KDE
  • ...

On utilisera ici 'Default for GNOME'.

Parmi les raccourcis clavier les plus utilisés dans IDEA, on trouve:

  • Ctrl + Alt + Left: Navigate back
  • Ctrl + Alt + Right: Navigate forward

Malheureusement ces raccourcis sont déjà définis par Linux pour passer d'un espace de travail à un autre.

De même les racourcis clavier suivants d'IntelliJ IDEA:

  • Alt + F7: Find usages
  • Ctrl + Alt + L: Reformat code
  • Alt + F8: Evaluate expression

sont utilisés respectivement par Linux pour les actions suivantes:

  • Move window
  • Lock screen
  • Resize window

Comme je passe le plus clair de mon temps avec IDEA, j'ai changé les raccourcis Linux cités ci-dessus en leur ajoutant la touche Shift, ce qui donne par exemple:

  • Ctrl + Alt + Shift + L: Lock screen

Cela fait certes un peu de gymnastique avant d'aller déjeuner, mais au moins je n'ai pas changé la configuration d'IDEA.

Mais ce n'est pas fini !

Le raccourci Ctrl + Alt +T qui permet de lancer un Terminal sous Linux est aussi défini par IDEA. Je désactive donc le raccourci d'IDEA que ne n'utilise pas.

Un autre. IDEA définit Ctrl + E pour accéder à la liste des fichiers récents. Mais ce raccourci permet aussi d'aller à la fin de la ligne dans une session Bash !!! Donc si vous ouvrez un Terminal dans IntelliJ, Ctrl + E affiche les fichiers récents au lieu d'aller à la fin de la ligne de commande. Pour celui-ci, j'ajoute Shift sur le raccourci d'IDEA.

Un dernier, et qui n'a rien à voir avec IDEA, c'est Alt + F, qui permet d'avancer d'un mot en Bash, se trouve désactivé par défaut par la configuration du menu fichier de la fenête des Terminaux Mate. Je modifie donc ce paramètre pour pouvoir utiliser pleinement les raccourcis Bash:

Capture-Raccourcis_clavier.png

samedi 5 janvier 2019

Révoquer une clé GPG avec un certificat de révocation

Lorsqu'on utilise GPG pour faire du chiffrement, Il est fortement conseillé de générer un certification de révocation JUSTE APRES avoir généré une clé GPG.

En effet,en cas d'oubli de la phrase secrète (passphrase) qui protège votre clé privée, ça peut arriver surtout si vous l'utilisez rarement, ou de perte de cette clé privée, le certificat de révocation est la seule façon d'indiquer que votre clé ne doit plus être utilisée pour communiquer avec vous.

Pour cela, on commence par importer le certificat de révocation:

Importer le certificat de révocation

$ gpg --import Documents/keys/My\ Revoke\ Certificate.gpg
gpg: clef EAC..... : « You <you@domain.com> » certificat de révocation importé
gpg:       Quantité totale traitée : 1
gpg: nouvelles révocations de clef : 1
gpg: 3 marginale(s) nécessaire(s), 1 complète(s) nécessaire(s),
     modèle de confiance PGP
gpg: profondeur : 0  valables :   2  signées :   0
     confiance : 0 i., 0 n.d., 0 j., 0 m., 0 t., 2 u.

Lister les clés

gpg --list-keys
/home/user/.gnupg/pubring.gpg
-----------------------------------
pub   4096R/EAC..... 2016-12-24 [révoquée : 2017-07-19]
uid                 You <you@domain.com>

pub   2048R/AB0..... 2013-11-24
...

La clé a bien été marquée comme révoquée.

Il ne nous reste plus qu'à publier sur un serveur le fait que la clé ait été révoquée.

Synchroniser la clé avec les serveurs de clés

gpg --verbose --keyserver pgp.mit.edu --send EAC.....
gpg: envoi de la clef EAC..... au serveur hkp pgp.mit.edu
 

Le serveur de clés en question informera alors les autres serveurs, de telle façon que quelques heures après la clé deviendra inutilisable.

- page 1 de 56