Calvin et Hobbes dans le Terminal

Deux minutes de recherches intenses afin d’obtenir un titre accrocheur… Ça, c’est fait :)

Tout d’abord, non, votre Terminal n’accueillera pas une chouette image de ma bande dessinée préférée à chaque lancement. Raté.

Dans un précédent article, Greggouille vous avait présenté motd. Le principe : ajouter un « message of the day » au lancement du Terminal. Il est cependant possible d’améliorer ce message, en l’actualisant à chaque lancement.

L’idée est de se baser sur fortune-mod, et d’y placer une série de citations provenant de Calvin et Hobbes. A vous de trouver quelque chose qui vous tente plus si cela vous chante, la procédure sera pratiquement identique ;)

calvin-terminalPour faciliter l’installation, vous aurez besoin de MacPorts.

On commence par installer fortune, un générateur de citations/texte/plein de trucs… Ouvrez le Terminal, et tapez la commande suivante:

sudo port install fortune

Vous pourrez vérifier que l’installation s’est bien déroulée en tapant la commande suivante (oui, simplement ;) ) :

fortune

fortune-launch

Ensuite, on va récupérer les citations qui nous intéressent, et les placer au bon endroit. Il faut savoir que ces citations sont juste stockées dans un fichier texte, et que Fortune se construit un dictionnaire sur base de ces fichiers. Pour éviter que ce dictionnaire ne soit reconstruit à chaque démarrage, on va le compiler dans un fichier de données. Et ce sera ce fichier-là qui sera chargé par Fortune.

Commençons par récupérer le mod Calvin & Hobbes pour Fortune : NetMeister.org

On décompresse l’archive directement depuis le Finder, puis on déplace son contenu (normalement un fichier calvin et un fichier calvin.dat) dans le répertoire /opt/local/share/games/fortune

Créez un nouveau fichier intitulé Makefile directement dans le dossier /opt/local/share/games/fortune. Cela nous permettra de recréer les dictionnaires de Fortune pour tous les nouveaux fichiers textes.

Ouvrez ce fichir Makefile et copiez/collez-y le texte suivant :

POSSIBLE += $(shell ls -1 | egrep -v ‘\.dat|README|Makefile’ | sed -e ‘s/$$/.dat/g’)

all: ${POSSIBLE}

%.dat : %
@strfile $< $@

On rend ensuite ce fichier exécutable grâce à la commande

sudo chmod a+x Makefile

Et finalement on lance la génération des dictionnaires grâce à la commande make

sudo-make-fortune

On peut finalement tester l’installation et la configuration en lançant Fortune sur le fichier Calvin :fortune-calvinEt pour finir, on doit demander au Terminal de charger une citation de Fortune lorsqu’il se lance. Pour cela, plutôt que de passer par motd, comme expliqué dans un article précédent, on va modifier le fichier ~/.profile. Ce fichier est en fait chargé par le Terminal à chaque nouvelle session ( = chaque fois qu’une nouvelle fenêtre du Terminal est démarrée)

Ouvrez ce fichier avec votre éditeur préféré, puis copiez-y la ligne suivante : /opt/local/bin/fortune calvin (à la fin du fichier par exemple)

Résumé de la semaine du 24 au 30 novembre

De nouveau, pas grand chose à se mettre sous la dent cette semaine. Du coup, on va parler un peu d’autre chose ;)

Divers

Pour les fans de Linux, Fedora est disponible en version 10! Tout plein de nouveautés dans tous les sens, comme à chaque nouvelle version (enfin généralement…), les principales se situant bien entendu au niveau du noyau qui passe en 2.6.27, GDM en version 2.24 (et pas 2.26…), Gnome 2.24 également, le support du système de fichiers EXT4, un nouveau thème baptisé Solar, un nouveau système de boot, « Plymouth » sensé améliorer la rapidité du démarrage, tout en le rendant entièrement graphique, une nouvelle version de Network Manager, le petit utilitaire pour les connexions réseaux (il est loin le temps de la configuration des cartes Wifi WPA2 en ligne de commande…).

Une bonne surprise est que Fedora est disponible pour les processeurs PowerPC, et est donc compatible avec tous les iBook, les PowerBook ou plus généralement les machines équipées de processeurs G3, G4 ou G5. Cela devient suffisamment rare que pour être signalé…

Ubuntu pour sa part continue sa roadmap bien tranquillement en vue de la sortie de la 9.04, Jaunty Jackalope. Une des plus grosse nouveautés pour cette distribution est l’effort de la communauté pour passer sous Mono 2.0. Mono, c’est l’équivalent du Framework .NET de Microsoft dans le monde libre.

Cette prochaine version devrait être disponible d’ici fin avril 2009, on a donc encore largement le temps pour les avoir les dernières nouveautés dans notre (ma?) distribution favorite.

Les Microsoft Days 2008 se sont clôturés et toutes les présentations sont disponibles. Mais si, mais si, ça vaut le coup de jeter un oeil ! ;)

Domestiquer le Terminal (part1)…

Nous vous avons, à plusieurs reprises déjà, présenté des astuces nécessitant (ou pouvant nécessiter) de taper des commandes dans le terminal. Malheureusement le Terminal rebute souvent, sans doute à cause des commandes à retenir « par coeur ». Pourtant bon nombre d’entre elles, pour peu qu’on connaisse un minimum d’anglais, peuvent facilement être comprises, et donc retenues…

Dans cet article, premier d’une série d’une dizaine sans doute, nous allons vous présenter quatre commandes (c’est pas la mort quoi…), sans doute les plus utilisées, qui vous permettrons de vous familiariser avec le Terminal…

 

Le Terminal :
Commençons par ouvrir le terminal. Si vous ne le trouvez pas, cliquez sur la loupe en haut à droite de votre écran, Spotlight, et taper « terminal ». Une fois que Spotlight l’a trouvé, appuyez sur Enter pour le lancer. Un fenêtre apparaît alors avec, chez moi :

Minidingue:~ Sulley$

Comme nous pouvons le voir, la ligne commence par le nom de votre mac suivit de deux points. Ensuite vient un tilde (« ~ ») : ce tilde est en fait le symbole d’un répertoire, il signifie que vous êtes dans ce qu’on appelle votre Home Directory (c’est en fait le dossier qui porte votre nom/pseudo que l’on peut voir dans le menu de gauche du Finder). Pour finir, vient votre pseudo et le symbole « $« .

 

Les commandes :
Et voila, j’en sens déjà qui ont peur… Respirez profondément, tout va bien se passer ! Nous allons vous présenter 3 commandes simples mais efficaces et indispensables, pour commencer, qui vous aideront a appréhender le Terminal.

 

1) Le listing d’un dossier :
Vous êtes dans un dossier et vous aimeriez savoir ce qu’il y a dedans. Pour cela, rien de plus simple, il vous suffit de taper la commande ls. ls permet de LiSter le contenu du dossier dans lequel vous êtes, mais attention : le nom des dossiers que vous voyez dans le Finder (l’interface graphique de Mac OS) sont traduit dans la langue de votre système, avec la commande LS, vous pourrez voir les mêmes dossiers mais dont les nom ne sont pas traduits (e.g. « Téléchergements » -> « Downloads », « Séquence » -> « Movies », etc.).

Exemple :
Minidingue:~ Sulley$ ls
Desktop Incomplete Pando Packages Public
Documents Library Movies Pictures Sites
Downloads LimeWire Music Programming

Vous pouvez également ajouter des paramètres à cette commande. Ces paramètres forcent, ou permettent, de faire encore plus ou de faire la même chose mais avec plus de précision. Les deux paramètres j’utilise le plus sont « -a » et « -l ».

« -a » ( a pour « all »), fera que la commande <em>ls</em> listera en plus des dossiers dit visibles, tous les autres dossiers (invisibles et les dossiers systèmes).

« -l » (l pour « long ») vous affichera un liste détaillée : nom des fichier/dossier avec permission (qui peut lire, écrire, modifier, … le fichier), le propriétaire, le groupe auquel appartient le propriétaire, … etc.

Chez moi, par exemple, cela donne :
Minidingue:~ Sulley$ ls -a
. .bash_profile .lesshst Downloads Programming
.. .csh_history .swp Incomplete Public
.CFUserTextEncoding .cups .viminfo Library Sites
.DS_Store .dvdcss .wormux LimeWire
.Rhistory .emacs.d .xchat2 Movies
.Trash .gdb_history .xxtjfmerc Music
.Xcode .jIRC Desktop Pando Packages
.bash_history .jmol Documents Pictures


et

Minidingue:~ Sulley$ ls -l
total 0
drwx------+ 25 Sulley Sulley 850 25 oct 17:30 Desktop
drwx------@ 53 Sulley Sulley 1802 23 oct 20:35 Documents
drwx------+ 22 Sulley Sulley 748 25 oct 17:33 Downloads
drwxr-xr-x 4 Sulley Sulley 136 13 sep 17:36 Incomplete
drwx------+ 52 Sulley Sulley 1768 8 oct 11:14 Library
drwxr-xr-x 3 Sulley Sulley 102 3 mai 20:39 LimeWire
drwx------@ 14 Sulley Sulley 476 5 oct 21:55 Movies
drwx------@ 491 Sulley Sulley 16694 13 sep 17:36 Music
drwxr-xr-x 3 Sulley Sulley 102 8 oct 10:39 Pando Packages
drwx------+ 318 Sulley Sulley 10812 19 oct 12:59 Pictures
drwxr-xr-x 26 Sulley Sulley 884 29 jui 23:15 Programming
drwxrwxrwx+ 5 Sulley Sulley 170 18 aoû 20:01 Public
drwxr-xr-x+ 5 Sulley Sulley 170 18 nov 2007 Sites

 

2) Voyager sur votre Disque Dur
Maintenant que nous savons lister le contenu d’un dossier, il serait intéressant de pouvoir aller dans le dossier de son choix pour le lister, justement. Voyons donc comment changer de dossier. En anglais, on dit « Change Directory », la commande est donc : cd.

Après « cd », il faut préciser où vous souhaitez allez <u>à partir du dossier ou vous êtes</u>. En reprenant l’exemple ci-dessus, supposons que nous voulions aller dans le répertoire Dowloads.

Minidingue:~ Sulley$ cd Downloads/
ou
Minidingue:~ Sulley$ cd ./Downloads/ (le « . » indiquant le répertoire courant)

Petite astuce 1 : Une fois tapé une ou deux lettres du nom du dossier dans lequel vous souhaitez aller, appuyez sur la touche TAB (touche à la gauche de la touche A) et le Terminal complétera lui même le nom (à condition qu’il n’ait pas le choix entre plusieurs noms).

Petite astuce 2 : Vous n’êtes pas obligé de faire cela pas à pas, si vous connaissez un chemin complet, vous pouvez également le taper, par exemple : cd /Downloads/Films/Recents/incomplets/

Comme vu ci-dessus, le « . » représente le répertoire courant. Les « .. » eux, représente le répertoire parent. Pour remonter d’un niveau, il vous faut donc tapez la commande :

cd ..

Et voila, c’est aussi simple que cela.

 

3) Ou je suis ?
Voila, on s’amuse, on s’enflamme, on sait changer de dossier a foison et on finit par se perdre… On ne sait plus ou on est et ce, malgré l’aide (infime, certe, mais quand même) du terminal. Pas de panic… Si cela vous arrive, il vous suffit de taper la commande pwd pour Print Working Directory. Le terminal vous affichera alors le chemin complet de votre emplacement.

 

4) J’ai oublier comment s’utilise une commande…
Aaaah, en voila une commande qu’elle est pratique : man.
Man (pour « manuel ») est la commande qui permet d’avoir le manuel, le mode d’emploi, d’un commande. Si vous connaissez une commande, mais que vous ne savez plus comment vous en servir, il vous suffit de taper : man nom_de_la_commande. Une fois les informations recherchées trouvées, appuyer que la touche Q de votre clavier pour quitter le manuel.

 

Et voila. Avec ces 4 commandes vous savez déjà voyager au travers des répertoires, lister le contenu de ceux-ci et vous renseigner sur des commandes. On est évidement en droit de s’interroger sur l’utilité d’un Terminal quand on peut faire quasiment tout ce que l’on souhaite avec l’interface graphique de Mac OS X (j’ai nommé Finder), et l’on aurait raison. Sachez cependant que, comme nous l’avons vu dans cet article, le Finder ne montre pas tout : il cache les dossiers systèmes par exemple. Or nous aurions parfois besoin d’aller des ces répertoires et/ou ces fichiers pour supprimer ou modifier certaines choses. Finder nous donne l’impression de savoir tout faire, mais une fois que nous apprenons a connaitre notre mac, que nous savons ou vont se loger certains dossiers/fichiers de programmes que nous installons, … le terminal pour s’avérer non seulement un outil indispensable mais carrément une arme redoutable… Parce que, comme disait Judge Dredd : » Ici la loi, c’est lui ! » ;-)

Stuffit Expander : l’indispensable de la décompression ?

Ce n’est pas toujours facile de s’y retrouver entre les multiples formats de compression que nous pouvons trouver sur le web. A plus forte raison lorsqu’on est switcheur (i.e. lorsqu’on vient du monde PC) et que l’on s’était habité à certains formats tels que les .zip, .rar, … et que, sous mac, on est confronté, en plus de ces formats, à des .sip, .tar, .gz, etc. Evidement, en cherchant un peu sur internet, on peut facilement trouver comment traiter chaque format séparément , que cela soit par ligne de commandes pour les .tar, .gz comme nous l’avons déjà vu ici et la ou par des software gratuit et relativement facilement trouvable tel UnrarX, …

 
Nous allons vous présenter ici un logiciel de référence dans la décompression. Non pas qu’il soit meilleur ou plus rapide que les autres, mais il a le mérite de supporter de multiple format : Stuffit Expander !
C’est vraiment un incontournable tant la liste des formats supportés est grande : .sitx, .sit, .zip, .sea, .tar, .bin, .hqz, .gz, .bz2, .tgz, .lha, .mime, .rar, .arc, .pf, .uu, .uue, .exe, .cab, .yenc, .z

 
Stuffit Expander s’intègre très bien à Léopard et s’associe aux archives automatiquement, mais vous pouvez également lancer le logiciel et extraire n’importe quelle archive par simple glisser déplacer dans la fenêtre du logiciel. Il peut également monter automatiquement les images disques (.dmg) extraites des archives (et, cerise sur le gateau, il peut même lancer un scan automatique avec l’antivirus de votre choix pour peu que vous en ayez installé un).

 
Le seul défaut qu’on peut lui trouver est le fait qu’il, comme sont nom l’indique, ne fait que décompresser, pas question de compresser quoi que ce soit comme fichier… Heureusement, nous vous avons présenter 7zip, du coup, pas de problème. ;-)

 
Stuffit Expander 13, nécessite Tiger (Mac OSX 10.4) ou supérieur. Vous pouvez le télécharger gratuitement sur le site officiel (via inscription !). Une fois télécharger, vous n’aurez qu’a le copier/coller (ou glisser/déposer) dans le dossier Applications pour l’installer.

Dates Historiques…

Et voici une petite astuce bien sympathique qui va nous permettre de revoir notre Histoire, voir même d’épater quelques amis lors du prochain souper… Pour cela, rien de plus simple : ouvrer le Terminal et tapez la commande suivante :

cat /usr/share/calendar/calendar.history


Vous obtiendrez alors une liste d’événements importants dans l’histoire pour chaque jour de l’année… C’est comme la liste de saint de chaque jour mais en plus intéressant ;-)