Exile on Keyboard St. - Blog sur Linux et Debian

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

lundi 17 avril 2017

Un installeur d'archives pour Linux: liar

Quand on développe sous Linux, on est souvent amené à installer des logiciels sans être connecté en tant que root.

Ces logiciels livrés sous forme d'archive .zip ou .tar.gz la plupart du temps sont installés dans l'arborescence de l'utilisateur courant $HOME.

Cette façon d'installer un logiciel manuellement comprend les étapes suivantes:

  • Le téléchargement de l'archive
  • La création du répertoire d'installation
  • Le changement de répertoire
  • La décompression de l'archive

Toutes ces opérations manuelles, outre le fait qu'elles sont rébarbatives et conduisent trop souvent à des erreurs notamment sur les flags à utiliser pour décompresser l'archive.

De plus, il nous faut ensuite créer des liens symboliques vers les exécutables du logiciel, par exemple dans $HOME/bin, pour en faciliter son utilisation.

Le projet Linux Installer for ARchives ou liar comble ce vide en fournissant une ligne de commande permettant de réaliser toutes ces opérations en une seule fois.

liar permet donc d'installer, de lister et de supprimer tout logiciel livré sous forme d'archive dans le répertoire de votre choix, avec optionnellement la création des liens symboliques.

L'installation de liar est très simple puisqu'il suffit de copier un seul script Shell dans votre arbrorescence. La complétion bash peut également être utilisée à condition d'ajouter le fichier de complétion dans /etc/bash_completion.d/.

La documentation de Linux Installer for ARchives se trouve sur Framagit comme le reste du projet.

Cette documentation liste l'ensemble des fonctionnalités de liar et illustre de nombreux exemples d'utilisation. Elle n'est pour l'instant disponible qu'en Anglais.

liar est un logiciel libre, distribué selon les termes de la Licence Publique Générale GNU publiée par la Free Software Foundation, version 3 de la Licence (ou toute version ultérieure).

Pour en savoir plus sur le projet, vous pouvez consulter la vidéo d'introduction à liar:

vendredi 7 avril 2017

Bien utiliser les tableaux en bash

Le bash, Bourne Again Shell, offre une possibilité absente du Bourne Shell, à savoir la possibilité de déclarer facilement des tableaux.

On s'intéressera ici aux tableaux indexés uniquement.

Pour déclarer un tableau, rien de plus simple:

#!/bin/bash

colours=(black blue green white red yellow)

Maintenant pour afficher tous les éléments en une fois:

echo "colours_elements=${colours[@]}"

colours_elements=black blue green white red yellow

Pour afficher la troisième couleur, située à l'indice 2:

echo "green=${colours[2]}"
green=green

Le nombre d'élements du tableau:

echo "colours_count=${#colours[@]}"
colours_count=6

Pour boucler sur chaque valeur:

for colour in ${colours[@]}; do
    ...
done

Et pour afficher la troisième couleur en partant de la fin du tableau:

echo "${colours[-3]}"
white

Enfin bash permet aussi de lire un fichier dans un tableau avec la built-in mapfile.

dimanche 26 mars 2017

Capture d'écran et raccourcis claviers avec Mate

Quand on souhaite illustrer un billet sur un blog, inclure une image d'une boite de dialogue dans une documentation ou échanger quelque chose avec un collègue, on se tourne naturellement vers une capture d'écran.

Avec l'environnement graphique Mate, deux raccourcis clavier sont définis pour cela:

  • Impr: qui capture tout l'écran, bureau et barre des tâches compris
  • Alt+Impr: qui capture uniquement la fenêtre active

La capture d'écran sous Mate est faites avec mate-screenshot.

Si on appele directement cet utilitaire, on peut être plus précis dans la capture, par exemple pour capturer une zone de l'écran que l'on sélectionnera à la souris avec le flag -a ou --area.

Il est aussi possible de sélectionner quel type de capture (écran, fenêtre ou sélection) ou souhaite avec le flag --interactive:

Capture-Capture_d_ecran.png

On pourra donc ajouter de nouveaux raccourcis clavier si on le souhaite, avec par exemple la touche Windows (Mod5) ou Contrôle (Ctrl) combinée à Impr.

Par contre, la combinaison Alt-Gr+Impr ne fonctionne pas: si vous essayer, vous verrez que c'est le raccourci: Alt-Gr qui est pris en compte à la place ...

dimanche 19 mars 2017

Transmettre une variable d'environnement à une connexion ssh

J'ai besoin pour faire des tests de connaitre l'adresse IP de l'hôte qui héberge une machine virtuelle.

Comme je me connecte à cette machine virtuelle par ssh, je vais lui transmettre cette adresse IP via une variable d'environnement.

Pour cela, j'ai besoin de spécifier le nom de la variable d'environnement coté hôte. On l'appelera HOST_IP.

Cela peut se faire de deux façons:

Dans le fichier /etc/ssh/ssh_config via la directive:

SendEnv HOST_IP

En fait on changera la ligne existante:

SendEnv LANG LC_*

en

SendEnv LANG LC_* HOST_IP

On peut aussi spécifier le nom de la variable sur la ligne de commande ssh:

ssh -o SendEnv=HOST_IP user@machine...

Pour que cela fonctionne, il faut maintenant que la machine virtuelle accepte cette variable d'environnement.

Pour cela on changera dans le fichier /etc/ssh/sshd_config de la VM la ligne:

AcceptEnv LANG LC_*

en

AcceptEnv LANG LC_* HOST_IP

Et on redémarre le serveur ssh.

- page 1 de 31