Main menu:

Site search

Categories

septembre 2025
L M M J V S D
1234567
891011121314
15161718192021
22232425262728
2930  

Archive

Faire apparaître les icônes sur le bureau

Je viens de d’installer Ubuntu 8.04 Hardy Heron sur un PC et le bureau par défaut est vierge de toute icône. Pas de poste de travail ou de répertoire home. Rien, nada.

Pour qu’elles apparaissent, une petite manipulation toute simple est nécessaire. Ouvrez un terminal et tapez:

$ gconf-editor

Ceci ouvre l’éditeur de configuration. Dans le panneau de gauche, ouvrez et naviguez jusqu’à /apps/nautilus/desktop et, là, dans le panneau de droite cette fois, cochez les cases computer_icon_visible, home_icon_visible, network_icon_visible, trash_icon_visible et volumes_visible. Vous pouvez bien sûr n’en cocher que quelques unes si vous le désirez.

Configuration réseau

La façon la plus simple de configurer son réseau est sans contexte d’utiliser le Network Manager. Network Manager est une applet Gnome se trouvant dans la zone de notification de la barre des tâches. Il n’empêche qu’il peut être intéressant par curiosité intellectuelle ou parce que vous vous trouvez face à une machine équipée de Ubuntu Server, de savoir dans quels fichiers se trouvent les paramètres du réseau et quel outils utiliser pour le configurer à la main à partir d’un terminal.

La première commande à connaître est ifconfig. Cette commande vous donne la configuration actuelle (pour autant que le réseau soit configuré) de votre réseau.

$ ifconfig eth0
eth0      Lien encap:Ethernet  HWaddr 00:0E:A6:6C:10:D9  
          inet adr:192.168.8.3  Bcast:192.168.8.255  Masque:255.255.255.0
          adr inet6: fe80::20e:a6ff:fe6c:10d9/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Packets reçus:64680 erreurs:0 :0 overruns:0 frame:0
          TX packets:54728 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          Octets reçus:79475594 (75.7 MB) Octets transmis:6773621 (6.4 MB)
          Interruption:19

La ligne intéressante est:

inet adr:192.168.8.3  Bcast:192.168.8.255  Masque:255.255.255.0

qui vous dit que l’interface eth0 a comme adresse réseau 192.168.8.3 et comme masque 255.255.255.0. C’est l’adresse actuelle de mon PC. Mais d’où sort cette adresse, où est-elle stockée?
Il y a deux fichiers de configuration importants contenant les informations du réseau et qu’Ubuntu lit au démarrage de la machine pour configurer le réseau. Il s’agit de /etc/network/interfaces, et de /etc/resolv.conf.

Le premier fichier /etc/network/interfaces contient la configuration de chaque interface de votre PC. Dans mon cas, il contient ceci:

$ more /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.8.3
netmask 255.255.255.0
gateway 192.168.8.1

auto eth1
#iface eth1 inet dhcp

auto eth2
#iface eth2 inet dhcp

auto ath0
#iface ath0 inet dhcp

auto wlan0
#iface wlan0 inet dhcp

On voit que l’interface réseau eth0 est configurée et que son adresse IP est 192.168.8.3, son masque 255.255.255.0 et que le gateway (passerelle) est 192.168.8.1. C’est l’adresse de mon routeur ADSL.
A noter aussi que les autres interfaces non utilisées sont, par défaut, configurée pour travailler en DHCP.

Le fichier /etc/resolv.conf contient l’adresse IP des serveurs DNS utilisés lorsque s’établit une connexion à Internet. Par exemple, voilà pour mon PC au boulot, ce qu’il contient:

$ more /etc/resolv.conf
nameserver 172.17.10.3
search mon_domaine.com
nameserver 172.17.20.3

On retrouve les deux adresses des DNS primaire et secondaire mais également le suffixe de domaine (domaine de recherche) à ajouter pour former une adresse complète.

Configurer son réseau à la main

Pour modifier la configuration de votre interface réseau depuis un terminal, il suffit d’abord de désactiver l’interface réseau:

$ sudo ifdown eth0

Ensuite, éditer les fichiers /etc/network/interfaces et /etc/resolv.conf pour y mettre les paramètres que vous désirez:

$ sudo gedit /etc/network/interfaces /etc/resolv.conf

Terminez en réactivant l’interface réseau:

$ sudo ifup eth0

C’est tout. Néanmoins, cela demande quand même pas mal d’opérations et il faut que gedit soit installé et donc Gnome. Dans le cas d’une version serveur d’Ubuntu, ce n’est pas le cas. De plus, ifdown et ifup font appel à ifconfig et route pour reconfigurer le réseau. Pourquoi donc ne pas utiliser directement ifconfig alors? Voilà comment reconfigurer une interface au moyen de ifconfig et route:

D’abord désactiver l’interface:

$ sudo ifconfig eth0 inet down

Ensuite, la configurer et la réactiver en une seule commande:

$ sudo ifconfig eth0 inet up 192.168.8.1 netmask 255.255.255.0 broadcast 192.168.8.255

Ajouter le gateway en créant une route:

$ sudo route add default gw 192.168.8.1

Editez /etc/resolv.conf en utilisant nano par exemple et votre interface sera configurée:

$ sudo nano /etc/resolv.conf

Vous avez maintenant en main tout ce qu’il faut pour configurer votre carte réseau sans devoir vous servir de Network Manager. Ca n’est pas plus simple mais au moins vous comprenez maintenant comment ce programme s’y prend.

Réinstaller le bootloader (grub)

Histoire vécue: un PC en dual boot Windows/Ubuntu. Windows devient tellement instable qu’une réinstallation de celui-ci devient impératif. Seul problème, lorsque vous réinstallez Windows, il écrase le bootloader qui se trouve normalement dans le MBR (Master Boot Record). Résultat, vous ne pouvez plus booter sur Ubuntu parce que Grub qui est le bootloader par défaut d’Ubuntu a disparu. Horreur!, vous n’avez plus accès qu’à Windows.

Heureusement, il est très facile de réinstaller Grub dans le MBR à la place du loader Windows. Tout ce dont vous avez besoin est d’un live CD Ubuntu. Bootez votre PC sur le live CD et ouvrez un terminal.

Grub a la particularité de noter les disques de façon un peu différente de ce qu’on a l’habitude de voir. Par exemple, (hd0,2) désigne le premier disque dur (on commence à compter à partir de zéro et donc le premier disque a le numéro 0) et la partition numéro 3. Les partitions étendues sont numérotées à partir de 4.

Dans votre terminal, tapez:

$ sudo grub

Grub se comporte comme un petit shell acceptant un certain nombre de commandes. Lorsque le prompt grub> apparaît, tapez:

grub> find /boot/grub/stage1

Sur mon PC, Grub répond par (hd1,0). Cela signifie que mon système se trouve sur la première partition du second disque. Retenez cette valeur donnée en retour de la commande parce que c’est celle-là que vous devrez utiliser dans la commande suivante.

grub> root (hd1,0)

Ceci définit le disque racine. C’est celui donné par la commande find.

grub> setup (hd0)

Cette commande installe grub sur le MBR du premier disque, c’est à dire le disque où se trouve Windows dans mon cas.

grub> quit

On sort de grub.

Il ne vous reste plus qu’à rebooter votre PC sans le live CD. Hourrah, votre dual boot est de retour et vous avez à nouveau accès à Ubuntu.

C++ – Fonctions membres constantes

On déclare une fonction membre constante en faisant suivre sa déclaration du mot-clé const.

struct S
{
  void f(){}
  void f()const{}
}

La différence entre les deux fonctions f() est que la version non-constante ne peut être appelée pour des objets constants de type S.
La version constante de f() garantit aussi qu’aucune donnée membre de S ne sera modifiée. Autrement dit vous ne pouvez modifier l’objet de type S à l’intérieur de la fonction.

struct S
{
  S(){}
  void f(){}
  void f()const{}
  void g(){}
  void h()const{}
};

int main()
{
  S s;          // objet non-constant
  s.f();        // appelle la fonction non-constante
  s.g();
  s.h();
  
  const S cs;   // objet constant
  cs.f();       // appelle la fonction constante
  // cs.g();    // erreur! 
  cs.h();

  return 0;
}

Ceci montre bien que la fonction f() non-constante est appelée pour un objet non-constant et qu’à l’inverse, si l’objet est constant, c’est la fonction f() constante qui sera appelée. cs.g() donne une erreur parce que cs étant un objet constant, on ne peut appeler une fonction non constante pour un objet constant. Ce qui est logique puisque cs est de type S constant. On ne peut donc pas appeler une fonction de S qui modifierait l’objet. Et justement, les fonctions membres constantes garantissent que l’objet ne sera pas modifié. Conséquence, on ne peut appeler que des fonctions membres constantes pour des objets constants.
Remarquons aussi que s.h() est valide. Une fonction membre constante peut être appelée pour des objets constants aussi bien que non-constants.

Shell – Redirections de flux

Sous ce nom bizarre se cache en fait une opération que vous connaissez sûrement. Les redirections de flux permettent par exemple de rediriger dans un fichier ce qui normalement est affiché à l’écran. Cela permet aussi de rediriger la sortie d’un programme vers l’entrée d’un autre.

Exemples de redirections:

$ ls -al > mon_fichier
$ ps -ef | grep  firefox

Chaque programme, chaque process reçoit trois descripteurs de flux:

  • stdin – entrée standard. Permet de transmettre des données au programme. Par défaut, il s’agit du clavier.
  • stdout – sortie standard. Permet au programme d’afficher des données. Par défaut, c’est l’écran.
  • stderr – sortie standard d’erreur. C’est sur cette sortie-là que devraient être affichées les erreurs que rencontre un programme. Par défaut, comme pour stdout, il s’agit de l’écran.

Ces trois flux peuvent être redirigés en utilisant:

  • < redirige le flux d’entrée. L’entrée d’un programme peut devenir un fichier par exemple dans lequel se trouvent les commandes dont le programme a besoin.
  • > redirige un des deux flux de sortie. Pour différencier le flux de sortie du flux d’erreur, on utilise un numéro. 1> représente le flux de sortie et 2> représente le flux d’erreur. Par défaut > est le flux de sortie.
  • | (pipe en anglais, tube en français) redirige la sortie standard du programme à gauche du pipe vers l’entrée standard du programme à droite du pipe.
  • >> est utilisé lorsqu’on redirige la sortie standard d’un programme vers un fichier. La sortie du programme va s’ajouter au fichier (appending) au lieu d’effacer son contenu éventuel.
  • 2>&1 redirige la sortie d’erreur vers la sortie standard. Ceci peut servir lorsque, par exemple, un programme à sa sortie d’erreur envoyée vers un fichier de log et que l’on aimerait plutôt que les erreurs s’affichent à l’écran.

Baudline – analyseur audio

Baudline est un analyseur audio permettant la visualisation du spectre, du spectrogramme dans le domaine temps/fréquence en utilisant des outils comme les transformées de Fourier entre autres. Il dispose de son propre générateur de fonctions et d’une multitude de filtres et d’effets.
capture-baudline.png
Ses principales caractéristiques sont:

  • joue les fichiers wav, mp3, ogg, aiff, mov avi…
  • affichage du spectre, du spectrogramme, de l’histogramme
  • permet les mesures de niveau, distorsion, rapport signal/bruit
  • génération de signaux de test
  • analyse de l’amplitude, de la fréquence, du temps, du spectre
  • outils d’analyse de distribution statistique
  • grande dynamique
  • bande passante élevée

Lisez l’aide en ligne et le tutoriel en ligne sur le site pour plus d’indication sur les nombreuses possibilités de ce programme.

Baudline est gratuit et distribué avec les sources mais ne semble pas sous license GNU. La distribution en est prohibée par exemple.

Pour installer Baudline, téléchargez le fichier baudline_1.07_linux_i686.tar.gz sur le site de Baudline. Ensuite, ouvrez un terminal et rendez-vous dans le répertoire où vous avez sauvegardé le fichier. Tapez:

$ sudo tar -C /opt -zxvf baudline_1.07_linux_i686.tar.gz
$ sudo ln -s /opt/baudline_1.07_linux_i686/baudline /usr/local/bin/baudline

Pour lancer le programme tapez dans un terminal:

$ baudline

Si vous voulez ajouter le programme dans votre menu Gnome Son et Vidéo, allez dans le menu Système/Préférences/Menu principal, cliquez à gauche sur Son et Vidéo puis à droite sur le bouton Nouvel élément. Remplissez les différents champs de la fenêtre Créer un lanceur qui s’affiche. La commande à rentrer est baudline.