Main menu:

Site search

Categories

avril 2025
L M M J V S D
 123456
78910111213
14151617181920
21222324252627
282930  

Archive

Contrôler la vitesse du ventilateur du processeur

La plupart des cartes mères modernes sont équipées de capteurs permettant de contrôler les tensions d’alimentation, la température du processeur ou du boîtier et la vitesse de rotation du ventilateur du processeur ou du boîtier.
Pour avoir accès à ces informations, il faut installer le paquet lm-sensors et lancer le programme de détection des capteurs:

$ sudo aptitude install lm-sensors
$ sudo sensors-detect

sensors-detect vous poseras une série de questions. Répondez en acceptant la réponse par défaut à toutes les questions.
Ensuite rebootez votre PC. Une fois fait, vous pouvez utilisez un programme comme gkrellm ou conky pour monitorer vos capteurs.

Mais j’ai découvert il y a peu que dans le paquet lm-sensors, il y avait un petit utilitaire bien pratique: fancontrol. Avec beaucoup de cartes mères, la vitesse du ventilateur du processeur peut être commandée en PWM (Pulse Width Modulation) qui est une technique permettant de faire varier la vitesse d’un moteur à courant continu en faisant varier la largeur des impulsions qu’on lui applique.
Grâce à l’utilitaire fancontrol contenu dans le paquet lm-sensors, il est possible de lier la largeur de l’impulsion et donc la vitesse du ventilateur à la température du processeur. Dans bien des cas, il est possible de diminuer drastiquement la vitesse de rotation du ventilateur sans risque pour le processeur. Pour vous aider, le paquet lm-sensors contient aussi un utilitaire permettant de configurer fancontrol:

$ sudo pwmconfig

Ce programme va arrêter et redémarrer chaque ventilateur de façon à ce que vous puissiez déterminer quel ventilateur doit être commandé. Il vous demandera aussi à quelle vitesse devra tourner le ventilateur pour telle température, minimale et maximale. Utilisez les valeurs par défaut ou essayez les vôtres, faites des tests, vous ne serez pas déçu des résultats qu’il est possible d’obtenir.
Lorsque vous avez déterminé vos valeurs idéales ou lorsque vous testez, il ne faut pas oublier de relancer le contrôle des ventilateurs en faisant:

$ /etc/init.d/fancontrol restart

Simple à utiliser, cet utilitaire peut rendre de grands services pour tout ceux qui comme moi ont une machine dont le ventilateur, surtout en été, fait un bruit d’A380 au décollage.

Ubuntu One

Ubuntu One est un service qui à l’instar de Dropbox ou de Click ‘n Backup de Mandriva permet de sauvegarder des fichiers sur Internet et de les partager netre plusieurs PC ou utilisateurs. Ce genre de service est utile pour synchroniser votre PC au boulot et, par exemple, votre ordinateur à la maison.

Pour le moment, le service est en version bêta et accessible uniquement sur invitation. J’avais fait une demande à Ubuntu fin mai pour obtenir une de ces invitations et elle m’est enfin parvenue aujourd’hui.
L’installation se fait très facilement. Ubuntu vous invite à installer deux paquets. Le premier installe un nouveau dépôt pour le téléchargement du programme et le deuxième installe le client qui est nécessaire sur votre PC.
Une fois ces deux paquets installés, il suffit de lancer le client qui va ouvrir une page web permettant d’ajouter votre ordinateur à la liste de ceux qui doivent être synchronisés avec Ubuntu One. Rien de très compliqué si ce n’est que lorsque j’ai lancé le programme la première fois, rien ne s’est passé. J’ai dû faire un:

$ ps -ef | grep ubuntuone

pour obtenir le PID du process qui tournait et pouvoir le tuer avec un kill.
A la seconde tentative, j’ai pu ajouter mon PC au service et l’icône est apparue dans la zone de notification.

Ubuntu One crée un répertoire dans votre home contenant deux dossiers: My Files et Shared with me. L’un contient vos fichiers, l’autre les fichiers qui sont partagés et auxquels vous avez accès.

Je n’ai pas eu encore le temps de réellement tester le service mais il ne semble pas fort différent de ce que offre Dropbox. Tout deux offrent 2GB gratuitement mais par contre les tarifs pratiqués pour les versions payantes sont beaucoup plus élevès. Le client Ubuntu One est libre mais le serveur ne l’est pas (pour l’instant?). Cela avait provoqué de nombreuses réactions lors de l’annonce de la sortie d’Ubuntu One bêta. Dropbox, lui, est entièrement propriétaire.
Rappelons aussi que Ubuntu One n’est accessible pour l’instant qu’aux PC équipés d’Ubuntu 9.04 mais que Dropbox ou Mandriva Click ‘n backup sont accessibles à toutes machines, Windows, Linux ou Mac OS. De plus, la version de Mandriva est entièrement libre ce qui est un gros avantage mais qu’elle ne propose aucune solution gratuite.

Comment compiler soi-même une application

Beaucoup de gens ont peur de devoir compiler une application. Je reconnais que c’est une opération à ne pas conseiller. Sous Ubuntu, la méthode recommandée pour installer une application est de passer par Synaptic pour installer un paquet qui se trouve dans les dépôts officiels d’Ubuntu. Un paquet comprend l’application précompilée pour ubuntu et toutes ses dépendances au sens large. En ligne de commande, vous utiliserez apt-get ou aptitude.
Mais il est des situations où il peut être intéressant de compiler soi-même une application. C’est le cas par exemple lorsque l’application que vous voulez utiliser a un bug et que vous savez que la nouvelle version corrige ce bug. malheureusement pour vous, cette nouvelle version ne se trouve pas encore dans les dépôts d’Ubuntu. La solution dans ce cas-là est de télécharger le code source de l’application et de la compiler vous-même.

Pour illustrer cet article, je vous propose de compiler une application qui s’appelle tabu et qui ne se trouve pas dans les dépôts. Tabu est un lecteur audio basé sur gstreamer. Il ressemble à ceci:


tabu - audio player

La première chose à faire est de télécharger l’archive contenant les sources du programmes. Dans le cas de tabu, les sources sont dans un fichier téléchargeable à cette adresse:
http://www.kalmbach.com.ar/download/tabu_audio_player-1.4.1.tar.gz

Pour télécharger l’archive et la décompresser, tapez ceci dans un terminal:

$ wget -c http://www.kalmbach.com.ar/download/tabu_audio_player-1.4.1.tar.gz
$ tar -zxvf tabu_audio_player-1.4.1.tar.gz

La commande tar a créé un répertoire tabu_audio_player-1.4.1 à l’endroit où vous avez téléchargé cette archive. Ce répertoire contient les sources du programmes plus un certain nombre de fichier nécessaire à la compilation de l’application. Lisez aussi les fichiers README et INSTALL. Ce dernier en général, contient les instructions données par l’auteur de l’application pour compiler le programme. Dans ce cas-ci, on peut y lire que le programme nécessite les classiques configure + make + make install.

Avant de pouvoir compiler le programme, il faut que les outils de compilation soient installés. Si ce n’est pas le cas, installez-les en faisant:

$ sudo aptitude install build-essentials

Commençons la compilation. La première chose à faire est de lancer configure qui va tester si toutes les librairies dont a besoin le programme sont présentes sur votre PC et donnera une erreur dans le cas contraire. Il permet aussi de définir certains paramètres.
Comme je veux que le programme soit installé dans /opt/tabu, /opt étant l’endroit où j’installe tous les programmes que je compile ou qui ne viennent pas des dépôts officiels, on peut ajouter à la commande configure un paramètre auquel on donne le répertoire où le programme doit être installé.
Rendons-nous dans le répertoire où se trouvent les sources et lançons la configuration:

$ cd tabu_audio_player-1.4.1
$ ./configure --prefix=/opt/tabu

On peut voir que le programme configure teste un tas de choses. Ce sont toutes les lignes checking… Mais à la fin, on peut lire ceci:

checking for GSTREAMER... configure: error: Package requirements (gstreamer-0.10 >= 0.10) were not met:

No package 'gstreamer-0.10' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GSTREAMER_CFLAGS
and GSTREAMER_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Zut, une erreur! Il semble qu’il ne trouve pas gstreamer-0.10. Pourtant gstreamer est un des éléments de base de Gnome pour tout ce qui est multimédia. C’est par exemple, gstreamer qui est utilisé par Totem.
En réalité gstreamer est bien installé mais pour pouvoir compiler tabu, le compilateur a besoin de la version de développement qui contient les fichiers d’entêtes de gstreamer. Autrement dit, si configure râle sur une version d’un programme manquant, c’est en général parce qu’il ne trouve pas la version de développement. Un petit tour par Synaptic nous apprend qu’effectivement, libgstreamer0.10-dev n’est pas installée. Installons-la et relançons configure:

$ sudo aptitude install libgstreamer0.10-dev
$ ./configure --prefix=/opt/tabu

configure re-teste tout et…à la fin, il nous donne une autre erreur:

checking for TAGLIB... configure: error: Package requirements (taglib_c >= 1.5) were not met:

No package 'taglib_c' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables TAGLIB_CFLAGS
and TAGLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Manifestement, il lui manque une librairie taglibc ou quelque chose d’approchant. Un petit tour dans Synaptic nous montre qu’il existe un ensemble de librairies qui portent le noms de libtag* dont une est une version de développement libtagc0-dev. Lorsque vous choisissez installer, Synaptic vous dit qu’il doit aussi installer libtag1-dev et libtagc0 pour que les dépendances soient respectées. Suivons les recommandations de Synaptic et relançons configure une troisième fois:

$ sudo aptitude install libtagc0-dev libtag1-dev libtagc0
$ ./configure --prefix=/opt/tabu

Cette fois-ci, plus d’erreur. configure est content:

Tabu 1.4.1 configuration summary:

        prefix                   : /opt/tabu
        source code location     : .
        compiler                 : gcc
        compiler flags           : -g -O2 -Wall
	      debug support            : no

Maintenant que tout est en ordre, que toutes les librairies nécessaires sont installées, il ne reste plus qu’à compiler le programme. Ceci se fait avec la commande make:

$ make

En principe tout doit bien se passer et vous ne devez pas avoir de message d’erreur. Dans le cas de tabu, la compilation est rapide mais ce n’est pas toujours le cas. Recompiler un noyau par exemple peut prendre d’une demi-heure à plusieurs heures suivant la palteforme et les options demandées.
Le programme étant compilé, on peut maintenant l’installer dans son répertoire /opt/tabu. Ceci se réalise avec la commande make install et doit se faire avec des droits d’administration:

$ sudo make install

Dans le répertoire /opt/tabu, make install a créé un répertoire bin dans lequel se trouve l’exécutable et un répertoire share qui contient le fichier applications/tabu.desktop qui est le fichier nécessaire pour créer une entrée dans le menu Applications de Gnome. Editez-le avec gedit et modifiez les lignes suivantes de façon à ce qu’elle contiennent ceci:

Exec=/opt/tabu/bin/tabu
Icon=/opt/tabu/share/pixmaps/tabu.png

Ensuite copier ce fichier dans /usr/shar/applications:

$ sudo cp /opt/tabu/share/applications/tabu.desktop /usr/share/applications

Voilà, votre application est compilée et une entrée se retrouve dans le menu Audio et vidéo.

Monter un système de fichiers grâce à sshfs

Il peut être intéressant de monter dans son propre système de fichiers un autre système de fichiers auquel on aurait accès via ssh. Cela permet d’utiliser tous les outils dont on dispose dans son propre système pour accéder au système de fichiers distant.

La première chose à veiller est que fuse soit installé.
Pour installer fuse et vous ajouter au groupe fuse, exécutez les deux commandes suivantes:

$ sudo aptitude install fuse-utils
$ sudo adduser $USER fuse

Ensuite, il faut installer sshfs proprement dit:

$ sudo aptitude install sshfs

Maintenant que tout est installé, créez un répertoire où vous monterez le système de fichiers distants et utilisez la commande sshfs pour monter le système de fichier:

$ mkdir distfs
$ sudo login@serveur_distant:/path/ distfs

Vous pouvez évidemment donner le nom que vous voulez au répertoire. distfs est juste un exemple. login est le login avec lequel vous vous connectez au serveur distant via ssh et serveur_distant peut être un nom de domaine ou une adresse IP.

Lorsque vous avez fini de travailler avec le serveur distant, démontez le système de fichiers distant en utilisant la commande suivante:

$ fusermount -u distfs

Comme vous pouvez le voir ci-dessus, une fois que sshfs est installé, c’est tout simple à utiliser et il peut vous rendre de grands services.

Installer le Media Player Songbird

Media Player Songbird
Le 18 juin est sorti la version 1.2 de Songbird. Songbird est un Media Player à la iTunes vous donnant accès à votre bibliothèque multimédia. Songbird utilise la plateforme XULRunner de Mozilla ce qui veut dire qu’il est compatible avec tous les OS les plus fréquents et qu’il est possible comme pour Firefox, par exemple, de lui ajouter des extensions. Songbird utilise le framework multimedia GStreamer comme la plupart des applications multimedia sous Linux. Veillez donc à installer tous les plugins et codecs GStreamer que vous trouverez dans les dépôts (paquets gstreamer good, bad et ugly).

En plus des caractéristiques ci-dessus, on peut ajouter:

  • Synchronisable avec iTunes
  • Modification de l’apparence au moyens de skins
  • Compatible avec les périphériques MTP (iPod et autres)
  • Edition des métatags
  • Possibilité de créer des mix
  • Surveillance des répertoires de la bibliothèque
  • Normalisation du niveau sonore
  • De nombreuses extensions
  • etc…

L’installation sous Ubuntu n’est vraiment pas compliquée. Comme d’habitude, je vous propose de l’installer dans le répertoire /opt qui est destiné à ce genre d’installation faite par l’utilisateur.
La première chose à faire est de télécharger l’archive contenant Songbird. Ensuite il suffit de décompresser cette archive dans /opt, de créer un lien symbolique dans /usr/local/bin et de créer une entrée pour Songbird dans le menu Applications/Son et vidéo:

$ wget -c http://download.songbirdnest.com/installer/linux/i686/Songbird_1.2.0-1146_linux-i686.tar.gz
$ sudo tar -C /opt -zxvf Songbird_1.2.0-1146_linux-i686.tar.gz
$ sudo ln -s /opt/Songbird/songbird /usr/local/bin/songbird

Pour ajouter Songbird dans le menu Son et vidéo, rendez-vous dans le menu Système/Préférences/Menu principal. Dans le panneau de gauche, cliquez sur Son et vidéo et, à droite, cliquez sur Nouvel élément. Remplissez les champs, choisissez l’icône que vous voulez (Songbird en propose une dans le répertoire d’installation) et fermez la fenêtre. Songbird doit maintenant apparaître dans le menu.

Un navigateur en quelques lignes de Python

Avec un langage comme Python et Webkit, il est extrêmement facile de créer une application qui affiche un site internet. Jugez-en vous-même.
Le programme ci-dessous, en 9 lignes de code, affiche dans une une fenêtre une page web dont l’adresse est spécifiée dans le programme:

#!/usr/bin/env python  

import gtk  
import webkit  
import gobject  

gobject.threads_init()  
window = gtk.Window()
window.set_default_size(800, 600)
window.connect("destroy"lambda a: gtk.main_quit()) 
browser = webkit.WebView()  
browser.open("http://linux.leunen.com")  
window.add(browser)  
window.show_all()  
gtk.main()  

On peut améliorer légèrement le programme pour qu’il ressemble un peu plus à un navigateur en rajoutant dans le haut de la fenêtre une barre d’adresse dans laquelle une URL peut être tapée. Lorsque vous appuierez sur la touche Enter, la page sera affichée dans la zone inférieure de la fenêtre. N’oubliez pas de mettre le http:// devant l’adresse du site que vous voulez visualiser:

#!/usr/bin/env python  
# -*- coding: utf-8 -*-

import gtk  
import gobject  
import webkit

# Fonction appelée lorsqu'on appuie sur enter dans la barre d'adresse
def browse(widget):
  # On affiche l'URL contenue dans la barre d'adresse
  browser.open(widget.get_text()) 

gobject.threads_init()

# Création de la fenêtre
window = gtk.Window()
# On définit sa taille par défaut
window.set_default_size(800, 600)
# Exécute gtk.main_quit() quand on clique sur la croix
window.connect("destroy"lambda a: gtk.main_quit()) 

# La barre d'adresse et la zone où s'affiche la page internet
# sont placées dans une boîte verticale
vbox = gtk.VBox(False,0)
window.add(vbox)
add = gtk.Entry()
# la fonction browse est appelée quand on tape sur Enter
add.connect("activate", browse)
vbox.pack_start(add, False, True, 0)

# Initialisation de l'objet webkit
browser = webkit.WebView()
vbox.pack_start(browser)

window.show_all()  
gtk.main()  

Les codes sources de ces deux exemples peuvent être téléchargés ici:
exemple 1
exemple 2

Et voici une capture d’écran qui vous montre à quoi ça ressemble:

browse2.py