Virtualbox : redimensionner une image de taille fixe

Version de Virtualbox utilisée : 4.1.18

Redimensionner une image de taille fixe, c’est très facile avec Virtualbox. L’astuce est de cloner l’image, en indiquant au clone d’avoir une taille variable. Ceci est réalisable en ligne de commande (Virtualbox possède pas mal de fonctionnalités en ligne de commande) :

VBoxManage clonehd .vdi .vdi --variant Standard

En cadeau bonux, j’ai constaté que le clone subissait directement une cure d’amaigrissement, seul l’espace nécessaire est utilisé automatiquement, pas besoin de lancer une autre commande.

Ensuite, par l’IHM, il suffit d’importer cette nouvelle image et d’effectuer les réglages habituels (réseau, etc.).

Attention, Virtualbox va allouer une nouvelle adresse mac au clone, ce qui ne va pas lui plaire. Pour résoudre ce problème, il suffit, toujours par l’IHM, d’assigner l’adresse mac de l’ancienne image, au clone (et de ne plus utiliser l’ancienne image).

Attention aussi, l’opération peut prendre un certain moment : compter un quart d’heure les 100 Go. (Oui, 100 Go c’est vraiment débile comme taille quand on se rend compte ensuite qu’il faut la sauvegarder…)

Trier et dédoublonner avec gedit

Tout est dans le titre : gedit contient un greffon qui permet de :

  • trier les lignes d’un texte alphabétiquement (dans un sens ou dans l’autre)
  • supprimer les lignes en doublons

Le tri peut se faire sur la colonne de votre choix (on parle bien de colonne textuelle, ce n’est pas un tableur, les caractères séparateurs ne sont pas gérés non plus)

Attention toutefois, il n’est pas possible d’annuler une opération de tri.

Sympa de voir une telle fonctionnalité dans un éditeur aussi léger, ça peut éviter de lancer LibreOffice ;-)

Script de redimensionnement d’images en masse

Note du 26/01/2011 : La version 1.1 est sortie. Par rapport à la version 1.0, elle permet de gérer les fichiers dont le nom contient un espace.

Note du 29/05/2011 : Attention, les versions 1.0 et 1.1 ont une limitation : elles ne permettent pas de traiter des images qui sont dans un système de fichiers différent (par exemple si vous avez un second disque dur sous Windows)

Je me suis amusé à écrire un script de redimensionnement d’images en masse, pour Linux. Ce genre de script doit exister en mille exemplaires sur internet, mais bon !

Fonctionnalités :

  • Redimensionnement d’une ou plusieurs images
  • Paramétrage d’une largeur et d’une hauteur maxi à ne pas dépasser, en conservant le ratio
  • Paramétrage de la qualité de compression
  • Choix de la sortie (écrasement ou duplication avec un nom préfixé)
  • Se base sur le type mime pour ne traiter que les fichiers de type image
  • N’agrandit pas les images dont les dimensions sont inférieures aux dimensions choisies

Limitations des versions 1.0 et 1.1 :

  • Elle ne permettent pas de traiter des images qui sont dans un système de fichiers différent
  • Elles n’indiquent pas si la librairie imagemagick n’est pas installée

Pré-requis :

  • Les paquets zenity et imagemagick doivent être installés. Par défaut ils sont déjà installés sur Ubuntu (10.04)
  • Le script a été prévu pour Gnome (cf le dossier d’installation), mais sous KDE j’imagine que ça doit pouvoir se faire aussi

Installation :

  • Télécharger le script ici (clic droit, enregistrer sous)
  • Rendre le script exécutable si ce n’est pas déjà fait
  • Déposer le script dans le dossier $HOME/.gnome2/nautilus-scripts
  • Note : le script n’a pas d’extension, car sinon elle apparaitrait ensuite dans votre menu contextuel et ce n’est pas très joli. Vous pouvez même le renommer en « Redimensionner les images… »

Utilisation :

  • Sélectionner une ou plusieurs images
  • Clic-droit / Scripts / Redimensionner les images
  • Suivre les instructions

Si vous avez aimé mon script, n’hésitez pas à me contacter pour m’envoyer un gros chèque. Les tickets restaurant sont également acceptés.

zenity 2.30

L’outil du jour s’appelle Zenity. Il permet d’afficher des boites de dialogue GTK+ à partir de commandes simples. Comme il est écrit sur le site officiel, il appartient à la même famille que dialog, xdialog et cdialog, mais il surpasse tous ces projets en ayant un nom bien plus classe.

Zenity gère les boites de dialogue suivantes :

  • calendrier
  • saisie de texte
  • message d’erreur
  • message d’information
  • sélection de fichier
  • liste de choix
  • icône de notification
  • barre de progression
  • question
  • message d’avertissement
  • échelle
  • affichage de texte

Un petit coup de zenity -help fournissant une aide conséquente, je ne m’étendrai pas ici sur toutes les options possibles, mais voici quelques cas concrets, simples mais efficaces :

#!/bin/sh
 
# Liste
zenity --list --title="leloup.org" --text="Comment trouvez-vous leloup.org ?" --column="Appréciation" "Excellent" "Parfait" "Fantastique" "Divin"
 
# Echelle
zenity --scale --title="leloup.org" --text="Saisissez la qualité du site leloup.org" --value=95 --min-value=0 --max-value=100
 
# Notification
zenity --notification --text="Parlez de leloup.org autour de vous"
 
# Question
zenity --question --text="Allez-vous répondre 'non' à cette question ?"
 
# Barre de progression
(while [ ... ]; do
 # Traitement
 # ...
 # Calcul du pourcentage pour la barre de progression)
 pourcentage="..."
 # Texte à afficher, et pourcentage, à afficher dans la fenêtre de la barre de progression pour le traitement courant)
 echo "# nom du traitement en cours"
 echo "$pourcentage"
 shift
done
) | zenity --progress --text="leloup.org" --percentage=0 --auto-kill

Précision concernant la barre de progression : elle ne calcule pas la progression elle-même, elle ne fait qu’afficher une progression qui est calculée par vous-même à chaque itération. Pour transmettre un pourcentage quelconque à la barre de progression, il faut écrire echo « <nombre entre 0 et 100> » comme dans l’exemple. Pour calculer le pourcentage, tout dépend de votre problème !

Et voilà, il ne vous reste plus qu’à créer un script révolutionnaire à base de zenity

Le défi du jour

Le défi du 18 juillet 2010 (à l’heure où nous en sommes à Ubuntu 10.04, Firefox 3.6 et Flash 10.1) : refaire fonctionner les vidéos Youtube et les jeux Flash sur un très vieil ordinateur équipé de Kubuntu 7.04, Firefox 2.0 et Flash 9.0, situé à 1000 km de distance, utilisé par des gens qui connaissent Windows uniquement et qui ne sont pas du tout informaticiens. :-)

De prime abord le problème semblait simple à résoudre, mais finalement aucune méthode traditionnelle ne s’est avérée concluante. Voici donc les problèmes rencontrés et les contournements utilisés :

Version d’Ubuntu :
- Déjà, impossible de préconiser l’installation d’Ubuntu 10.04, la machine n’aurait pas supporté. Et de toute façon, même si Ubuntu est simple à installer, il n’y aurait eu personne pour le faire, et personne pour revenir en arrière en cas de problème. Mouarf.

L’accès à distance :
- Au départ, je ne me souvenais plus que cette machine était équipée de Kubuntu, je pensais qu’il s’agissait d’Ubuntu, j’ai donc dû m’y reprendre à plusieurs fois pour faire installer TeamViewer (ce n’était jamais les bons menus, pas les bons outils de décompression, etc.). Mouarf. Finalement l’accès à distance s’est fait par la version portable de TeamViewer :
- Récupérer le logiciel ici : http://www.teamviewer.com/fr/download/index.aspx?os=linux (prendre le tar.gz)
- Extraire le contenu du fichier (dans notre cas avec Ark)
- Dans le dossier « teamviewer5″ extrait, il y a un fichier nommé « teamviewer », à renommer en « teamviewer.sh » (il est déjà exécutable).
- Lancer ce script, qui lance TeamViewer

Gestionnaire de mise à jour :
Kubuntu 7.04 n’est plus maintenu depuis belle lurette, impossible de songer à effectuer les mises à jour de ce côté là. Mouarf.

Firefox :
(Youtube refuse tout simplement d’afficher son contenu lorsqu’il détecte une version trop ancienne de Firefox. Mouarf, cependant c’est une excellente initiative. Il faudrait voir ce que ça donne avec IE6)
- Récupérer la dernière version de Firefox portable : http://www.mozilla-europe.org/fr/firefox/
- Extraire le fichier .tar.bz2 récupéré
- Ne pas laisser le dossier extrait trainer sur le bureau, le placer à un endroit où il ne sera pas supprimé, et penser à modifier les raccourcis Firefox existants (les faire pointer vers le script « firefox » extrait)
- Lancer la dernière version de Firefox
- Pas la peine d’essayer d’installer la nouvelle version de Flash à partir du gestionnaire de Firefox, ça ne fonctionne pas. Mouarf.

Flash :
- Ne pas essayer de faire tourner l’ancienne version de Flash sur le nouveau Firefox, ça aboutira sur un plantage de Flash (en tout cas je n’ai pas réussi à faire mieux). Mouarf. Dans notre malheur, Firefox 3.6 ne gèle plus si un des composants d’une page plante.
- Récupérer la dernière version de Flash : http://get.adobe.com/fr/flashplayer/ Ne pas récupérer le .deb car à l’installation il indiquera que plusieurs dépendances sont trop anciennes. Mouarf. Pas de bol, les mises à jour par apt ne sont plus possibles, et je n’ai pas trouvé sur internet les fichiers indiqués, la distribution n’étant plus très courue. Mouarf. La feinte est de récupérer simplement le .tar.gz :-)
- Extraire le fichier récupéré qui ne contient qu’un seul fichier nommé « libflashplayer.so »
- Placer ce fichier dans le dossier « plugins » du dossier « firefox » extrait aux étapes précédentes

Relancer Firefox pour que l’ajout du .so soit pris en compte.

Et voilà !!! Il ne reste plus qu’à tester Flash sur un site quelconque. Il est également possible d’accéder à l’adresse about:plugins et s’assurer que « Shockwave Flash » apparait avec la bonne version.