Posts in Informatique

ClassicMenu Indicator, ou comment se réconcilier avec Unity, l'interface graphique d'Ubuntu

Aug 21, 2012 in linux, ubuntu, unity | Informatique

Plusieurs points me plaisaient assez dans l’interface Unity mais je ne suis vraiment pas un adepte du Dash. Si bien que j’avais abandonné Ubuntu au profit de Linux Mint et de son Gnome 3 customisé.

Le gros problème de Unity est pour moi l’absence de menu similaire à Gnome2. Sinon, le gain de place à l’écran est appréciable avec la barre de menu/barre de titre qui se fonde dans la barre principale. Et à l’usage, le dock est plutôt pratique :)

Problème du menu résolu grâce à ClassicMenu Indicator

Voici les commandes pour installer ClassicMenu Indicator à partir du dépôt ppa :

sudo apt-add-repository ppa:diesch/testing
sudo apt-get update
sudo apt-get install classicmenu-indicator

Ensuite, il ne reste plus qu’à rechercher le ClassicMenu Indicator dans le Dash, pour le lancer et qu’il apparaisse :)

De plus en plus déçu par Linux

Feb 21, 2010 in bug, libre, linux, video | Informatique

Cela fait maintenant 7 ans que j’utilisais Linux exclusivement. Si je trouve que c’est un environnement de travail (en tant que développeur) agréable, j’arrive malheureusement à une autre conclusion sur mon ordinateur personnel. Mon père et ma compagne utilisent Linux (Ubuntu) que je maintiens pour eux et en sont contents. Et tant mieux! Une machine Linux est certainement beaucoup plus simple pour moi à maintenir qu’une machine Windows :) Je suis sûr que mon père ne télécharge pas de joli virus en .exe sur son ordinateur, du moins, si il le fait, ça ne fera pas trop de dégâts ;)

Cependant, tout n’est pas rose. J’ai failli m’arracher les cheveux sur l’installation d’une imprimante, finalement, faire la mise à jour de la distribution m’a sauvé, mais c’est un peu pénible d’en arriver à ça juste pour une imprimante. Je ne compte pas les problèmes de wifi que j’ai eu l’année dernière sur les portables que nous avons ma compagne et moi. J’ai également eu de gros problèmes de performances avec les drivers video Intel. Enfin, si l’on s’en tient au problème matériel, sur mon dernier portable, un Acer Aspire 1810TZ, je dois désactiver dans le bios l’AHCI si je souhaite démarrer linux en moins de 3 minutes…

J’écris ce billet depuis Windows 7. Après avoir essayé et réessayé de faire du montage video sous Linux avec Pitivi, Kdenlive, Avidemux, et autres, j’en ai eu marre des plantages, des problèmes d’incohérence de temps et d’images. C’est ainsi que j’ai essayé le logiciel pour Windows fourni avec la caméra : Total Media Extreme Showbiz. Le nom est très caricatural, mais le logiciel est simple et efficace pour fusionner et/ou découper les videos issues de la caméra, en .mp4 H264/AAC. Le manque de fonctionnalités est évident, mais je n’ai même pas réussi à faire la même chosesous Linux!! Je n’ai pas encore essayer de le faire fonctionner avec Wine. Mais la suite est pire, le meilleur logiciel gratuit que j’ai trouvé pour faire le montage video final est Windows Live Movie Maker!

J’ai redécouvert le calvaire du Dual-Boot… Lorsque je suis sous Windows, je dois passer par le webmail pour lire mes mails (tout l’inconvénient d’utiliser un client mail lourd habituellement), je n’ai pas accès à mes fichiers Linux. Le pire, c’est que je dois aller dans le bios à chaque fois que je change de système pour modifier le réglage du disque dur (PCI vs AHCI)!!

Le développement logiciel est quelque chose de long et compliqué, j’en sais quelque chose. Si je suis pour le Logiciel Libre, je constate malheureusement que celui-ci ne peut s’imposer partout, le développement bénévole fait sur le temps libre a ses limites. Et il n’est pas toujours facile de trouver un business model compatible avec le logiciel libre, n’en déplaise à certains!

Réinstallation de Grub 2

Feb 16, 2010 in linux | Informatique

L’installation de Windows a toujours fait sauter le contenu du MBR et la dernière édition, Windows 7, ne fait pas exception à la règle.

Ainsi, si vous installez/ou finissez l’installation constructeur de Windows sur un ordinateur après avoir installé Linux, Windows ne manquera pas de corrompre le chargeur de démarrage.

Voici comment réinstaller le chargeur de démarrage grub 2 (dans mon cas, installé par Ubuntu 9.10) :

ATTENTION : ces manipulations doivent être adaptées pour fonctionner sur votre ordinateur. Elles ne fonctionneront pas/n’auront pas le résultat voulu si elles sont tapées bêtement.

  1. Démarrer l’ordinateur sur un live-CD/live-USB d’une distribution linux
  2. Ouvrir un terminal et passer super utilisateur avec su ou sudo -s -H (en fonction de la distribution)
  3. Monter votre partition racine (le ‘/’ de votre distribution installée sur disque dans /mnt)

    mount /dev/sda5 /mnt
    

    Attention, chez moi la parition est /dev/sda5, mais ça dépend des partitions que vous avez créées. Vous pouvez essayer de repérer la bonne partition (en fonction de sa taille) avec parted ou gparted.

  4. Remonter les systèmes de fichiers virtuels dans /mnt

    mount --bind /dev /mnt/devmount --bind /proc /mnt/procmount --bind /sys /mnt/sys
    
  5. Effectuer un changement de racine dans le terminal

    chroot /mnt /bin/bash
    

    A partir d’ici, les commandes que vous taperez s’exécuteront dans l’environnement de votre distribution installée sur disque.

  6. Réinstaller grub dans le MBR du premier disque

    grub-install (hd0)
    

Et voila, il n’y a plus qu’à redémarrer :)

Clé USB 3G sous Linux, le nouveau cauchemar ?

Oct 13, 2009 | Informatique

L’installation d’une clé USB 3G sous Linux (testé sous Ubuntu 9.04) ne pose pas de gros problème, mais il est clair que ça ne s’invente pas!!

Lors du branchement de la clé Huawei E1552 (offre Bouygues), celle-ci est reconnu comme un simple clé USB avec stockage en lecture seule. On a ainsi accès au pilote pour Microsoft Windows, aux manuels, …

Après avoir surfé sur les différents forums et trouvé plusieurs moyens pour l’utiliser, voici le plus simple et celui qui a le moins d’inconvénient de mon point de vue:

1/ Installation d‘udev-extras

sudo apt-get update && sudo apt-get install udev-extras

2/ Ajout d’une règle Udev pour que la clé n’utilise pas le pilote usb-storage mais le pilote pour clé 3G

echo 'SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/lib/udev/modem-modeswitch --vendor 0x12d1 --product 0x1446 --type option-zerocd"' | sudo tee  /etc/udev/rules.d/45-huawei1550.rules

Attention, ici, plusieurs valeurs sont “hard-codés” et pourraient devoir être changées suivant la révision matérielle de votre clé. Ces paramètres sont cependant également valables pour la clé Huawei E1550, ça a l’air donc assez stable à ce niveau.

3/ Configuration de la connexion

On (re)branche la clé, quelques secondes après, Network-Manager devrait vous proposer de la configurer.

Ensuite, lorsque vous la rebrancherez, après quelques longues secondes, Un réseau à large bande devrait apparaître dans la liste des réseau disponible de Network-Manager (entre les éventuelles réseau(x) filaire(s) et réseau(x) sans fil). On clique, on rentre le code PIN, et l’Internet est à vous :)

Jouons avec les unsigned int en C

Jul 17, 2009 | Informatique

Mixer des entiers signés (int) et non signés (unsigned int) en C ou C++ est une bonne manière de se tirer dans le pied…

Petite démonstration :

[c]
#include <stdio.h>

int main()
{
  int ref = -6;
  int a = 4;
  unsigned int b = 4;

  int x = 0;
  unsigned int y = 0;

  if (ref + a == ref + b)
    printf("ref + a == ref + b\
");

  printf("ref + a = 0x%x\
", ref + a);
  printf("ref + b = 0x%x\
", ref + b);

  if (ref + a > x)
    printf("ref + a > x\
");
  if (ref + b > x)
    printf("ref + b > x\
");

  if (ref + a > y)
    printf("ref + a > y\
");
  if (ref + b > y)
    printf("ref + b > y\
");

  if (ref + a > 0)
    printf("ref + a > 0\
");
  if (ref + b > 0)
    printf("ref + b > 0\
");
}

Enregistrons le tout dans un fichier nommé test.c, puis compilons avec la commande suivante :

$ g++ -Wall -Wextra test.c -o test
test.c: In function ‘int main()':
test.c:12: attention : comparaison entre des expressions entières signée et non signée
test.c:20: attention : comparaison entre des expressions entières signée et non signée
test.c:23: attention : comparaison entre des expressions entières signée et non signée

Notons les jolis avertissements qui s’affichent pour les lignes 12, 20 et 23 et testons maintenant l’exécution :

$ ./test
ref + a == ref + b
ref + a = 0xfffffffe
ref + b = 0xfffffffe
ref + b > x
ref + a > y
ref + b > y
ref + b > 0

Le test (ref + a == ref + b) retourne vrai, et en effet, comme on peut le voir en dessous, la représentation binaire (ici en hexadécimale) est identique dans les 2 cas. Tous les autres tests auraient dû échouer : -6 + 4 == -2, ce qui est inférieur à 0. On est tous d’accord ;)

Et pourtant, à chaque fois qu’un entier non signé était présent dans l’expression evaluée, le résultat s’explique mais est pour le moins surprenant. 4 résultats surprenants, mais seulement 2 avertissements correspondants…

Bon débuggage…

PS : l’avertissement à la ligne 12 concerne l’évaluation de ref + a == ref + b.