jeudi 16 octobre 2008

Une autre des raisons pour laquelle j'aime GNU/Linux

Salut tout le monde,


Un petit post pour montrer une des choses que j'aime dans Linux > Les informations sont disponibles partout. Regardez par exemple cette image qui montre les différents moyens de voir le morceau de musique joué actuellement par MPD, ma solution de lecture de musique.

On le voit donc par
  • Conky > Mis en arrière plan sur mon bureau
  • NCMPC > Le client qu'on voit dans le terminal à droite, et qui me permet de gérer ma musique dans une interface NCurses
  • Les popups, une spécifique à "GMPC", mon client pour MPD, et l'autre générée automatiquement par libnotify, un système de gestion de popups commun à tout le système
  • MPC > Client basique pour MPD
  • Et le must > Netcat. Netcat n'est pas un client spécifique à MPD. Il est juste capable d'ouvrir un socket de communication vers un serveur et donc de gérer ma musique dans le protocole qui me permet de communiquer directement avec le serveur.

dimanche 12 octobre 2008

Mono premier gros problème avec Mono

Tiens, hier j'ai eu mon premier gros problème avec Mono (une implémentation libre du .NET Framework, avec un compilateur, un Runtime et un IDE)


Je cherchais à exécuter un processus en tant que super-utilisateur (root).


Donc j'ai eu idée ce cette ligne de commande :


System.Diagnostics.Process.Start("whoami","","root",password,"");


Qui me renvoie : pistache (soit mon nom d'utilisateur). Aïe, ça c'est pas bon.


(pour rappel : whoami c'est une commande GNU pour connaître l'utilisateur en cours actuellement).


Donc je fais un petit tour sur le canal IRC de Mono, (Serveur : irc.gnome.org, Canal : #mono), et là on me répond que ce n'est pas encore implémenté et que ce n'est pas prévu...


Ouch.

lundi 22 septembre 2008

Version graphique de CP

Salut, voilà juste un petit script pour faires des copies avec cp tout en voyant la progression sur une interface graphique.

#!/bin/sh
set -e
( strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
| awk '{
count += $NF
if (count % 10 == 0) {
percent = count / total_size * 100
printf percent
printf "\n"
}
}
END { print "" }' total_size=$(stat -c '%s' "${1}") count=0 ) \
| zenity --progress --auto-close --title="Copie de fichiers..." --width=600 --text="Copy of file ${1} ($(file -b ${1}), $(du -h ${1} | awk '{print $1}')) to ${2} ($(file -b ${2}))" 2>&1

Pour l'utiliser, enregistrer ce code dans un fichier

Ensuite, avant de l'utiliser, veillez à le rendre executable (chmod +x mon_script).

Et puis ensuite, faire ./mon_script source destination, pour faire la copie.

Ca fonctionne de la même manière que la commande "cp", mais en version graphique, et qui affiche un pourcentage, la taille, et le type des fichiers. Par exemple en faisant :

./cp_p document.pdf copie_document.png, je vois :

Interface graphique pour scripts sous Linux

Salut,

voilà 2 logiciels très très pratiques pour faire des scripts sous Linux, quelque soit le language, puisqu'ils sont sous formes executables.

  • Zenity (sous Gnome, équivalent de kDialog sous KDE)
  • libnotify-bin, vous connaisssez probablement libnotify, la librairie qui permet d'afficher des notifications sous les systèmes GNU/Linux en général. Pourquoi ne pas afficher une notification dans votre script en utilisant notify-send, disponible dans libnotify-bin.

Il y en a d'autres mais j'ai oublié les noms...

Mes gouts musicaux

Salut,

Je suis un grand fan de Eric Clapton, le dieu de l'acoustique et notamment des chansons :

J'adore aussi les Red Hots et U2, étant un grand fan de vrai rock, j'aime bien aussi AC/DC, The Police (donc Sting, surtout la chanson Roxanne), et Toto.

Dans un autre style j'adore Coldplay et Radiohead.

J'écoute aussi Bruce Springsteen, découvert il n'y a pas longtemps et aussi Arctic Monkeys qui ont fait quelques très belles chansons.

J'aime aussi évidemment les Rolling Stones, les Beatles, Queen, et Deep Purple.

Ensuite il y a aussi Joe Cocker, Jimi Hendrix (dans le même style que Clapton), Stevie Ray Vaughan (qui a sauvé le vie à Eric Clapton, d'un certain point de vue), Supertramp, Tracy Chapman, SEAL, et Mano Negra Illegal (donc Manu Chao, Ska-P, King Kong Five, etc, etc...).

Dans la Musique française, j'aime Renaud et Souchon. J'aime bien aussi Mc Solaar, Mickey 3D, Louise Attaque, Sans Bagage, Mathieu Chedid. J'adore Serge Gainsbourg et Michel Jonasz.

J'ai oublié Bob Marley, et Ray Charles dans ma liste, et j'ai n'ai pas envie de remonter pour les rajouter ;)

Voilà, c'est en gros ce que j'écoute sur mon ordi. En ce moment je suis beaucoup sur les Red Hot, mais j'aime vraiment un peu tout ^^.

vendredi 5 septembre 2008

Citation de bashfr dans bash

Salut tout le monde,

Certains d'entre vous connaissent peut etre déjà bashfr.org, un site qui est un récueil de citations dites sur le Net (MSN ou IRC), et qui sont pour la plupart assez drôles.

Et bien voilà un moyen de dire à votre ordinateur Linux d'afficher une citation de bashfr.org à chaque ouverture d'un shell.

Nous allons utiliser cette commande :
lynx --dump --display_charset=utf8 http://www.bashfr.org/?sort=random2 | awk '$1~"#" && $0!~"RSS" { getline; while ($1!~"#") { print $0; getline;}; exit}'

Dans cette commande, nous voyons assez bien la puissance de GNU/Linux qui est de pouvoir faire des opérations compliquées en une seule ligne, grâce à pipes et à Awk.

Il suffit d'intégrer cette commande à la fin du fichier de configuration de votre shell. Ici je vais décrire la méthode pour Bash.

Méthode pour Bash
  1. Ouvrez un terminal
  2. Tapez "cd"
  3. Tapez "gedit .bashrc"
  4. Rajoutez la ligne décrite juste avant à la fin de ce fichier
  5. Enregistrez
  6. Fermer
Maintenant, fermez votre terminal, et réouvrez le. Boum, après un léger temps d'attente, la citation apparait.

Si vous trouvez qu'elle est trop longue à apparaitre ou que vous ne voulez pas le voir, entrez "Ctrl +C".

Variante avec cowsay


Cette variante va afficher la citation à partir d'une vache, comme ceci :


Tout d'abord installez le paquet cowsay (Debian : sudo apt-get install cowsay).

Ensuite rajoutez à la ligne que nous avons ajouté dans le .bashrc le texte suivant :
"| cowsay".

Cette ligne deviendra donc :
lynx --dump --display_charset=utf8 http://www.bashfr.org/?sort=random2 | awk '$1~"#" && $0!~"RSS" { getline; while ($1!~"#") { print $0; getline;}; exit}' | cowsay


pistache

Identifiant unique pour les disques durs dans le fstab

Salut all,

récemment j'ai été confronté à un petit problème. J'ai un disque dur USB de 320 Go avec environ 80 Go de Musique dessus. Pour qu'il se monte tout seul, je l'ai mit dans /etc/fstab. J'ai donc indiqué dans le fstab l'adresse de la partition de mon disque dur externe : /dev/sdb3.

Jusque là ça marchait. Mais un jour, je débranche le disque dur un peu brusquement, et évidemment les adresses de disque restent dans "/dev". Donc quand je rebranche mon disque dur, il passe en "/dev/sdc3". Pareil quand je branche une clé USB avant.

J'ai donc cherché une solution. En gros, le noyau Linux créé des liens symboliques dans le répertoire "/dev/disk/". Ces fichiers sont des liens symboliques vers les périphériques dans "/dev" correspondants !

Et voici donc mon fstab tout neuf :
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
# /dev/sda6
UUID=3db9ba9f-1339-4bd2-9434-881de54e7ccb / ext3 relatime,errors=remount-ro 0 1
# /dev/sda7
UUID=7811eda4-f252-4672-b8e0-46557bf88b04 /home ext3 relatime 0 2
# /dev/sda5
UUID=f8ad669e-bd1b-4a26-9c4a-58c490645d42 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/disk/by-id/usb-Seagate_FreeAgentDesktop_5QF31RXF-0:0-part3 /media/Musique ntfs user,auto,nodevx 0 0
#tmpfs /home/pistache/RAM Disk tmpfs nosuid,sync,noexec,nodev 0 0

Exemple :
[ (13) bash 3.2.39 in device 0, 09:47:22 ]
pistache@pistache-laptop:~$dir /media/Musique
[ (14) bash 3.2.39 in device 0, 09:47:35 ]
pistache@pistache-laptop:~$sudo mount -a
[ (15) bash 3.2.39 in device 0, 09:47:44 ]
pistache@pistache-laptop:~$dir /media/Musique
mpd_status Musique Musique (à encoder) Musique (DB)

pistache
 
Pistaaaaaaaaaaaaaaache