Planet

 

Depuis plusieurs années, j'ai envie de contribuer à un projet Open-Source. Aujourd'hui, les choses commencent à devenir réalité. J'ai trouvé le projet que je veux aider : Mozilla Persona. Mais je fais les choses dans le désordre puisque j'écrirais bientôt un article pour vous le présenter un peu mieux.

Ici, je vais détailler les étapes pour se monter un environnement de développement complet sur un système GNU/Linux, et plus précisément sur Ubuntu 13.04.

Devenir pote avec GitHub

La première chose à faire avant de contribuer est de s'inscrire sur GitHub, et forker le projet, disponible à https://github.com/mozilla/browserid.

Quand vous avez fait ça, clonez le répertoire sur votre machine :

╭────<quack@spiderman >───< ~/work/workspace/mozilla > ╰───[18:11:29] $ git clone https://github.com/quack1/browserid.git

Puis, rendez vous dans ce répertoire pour y rajouter un nouveau remote. Celui-ci sera le repository "officiel" à partir duquel on récupérera les mises à jour du code :

╭────<quack@spiderman >───< ~/work/workspace/mozilla > ╰───[18:13:49] $ cd browserid ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:13:55] $ git remote add mozilla https://github.com/mozilla/browserid.git

De cette façon, pour se mettre à jour, on fera simplement :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:14:12] $ git pull mozilla dev

Et, pour pousser nos modifications sur notre dépôt :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:14:20] $ git push origin dev

On proposera nos commits à l'équipe de développement au travers du système de Pull Request inclut dans GitHub.

Travailler avec Nodejs

Persona étant écrit en Node.js pour les parties serveur, on doit l'installer pour pouvoir tester notre code.

Cependant, avant cela, on doit installer quelques autres outils :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:15:02] $ sudo apt-get install python-software-properties git-core libgmp3-dev g++ libssl-dev

Maintenant, on peut donc installer NodeJs. Mais surtout, n'installez pas nodejs directement depuis les depôts d'Ubuntu ou depuis les sources du site officiel, puisque la version currente est en 0.10., et Persona n'est compatible qu'avec les 0.8. pour le moment.

La meilleure façon de faire m'a été donnée par Shane Tomlinson, et elle consiste à déléguer la gestion des versions de Node.js installées sur le système à un simple programme : nvm. Ce dernier peut installer plusieurs versions de Node, et il est ensuite possible de lui préciser quelle version utiliser.

Pour l'installer, suivez les instructions disponibles sur le site officiel. Pour faire simple, voici les commandes à taper :

╭────<quack@spiderman >───< ~/work/softs > ╰───[18:17:47] $ git clone http://github.com/creationix/nvm.git nvm ╭────<quack@spiderman >───< ~/work/softs > ╰───[18:17:58] $ echo '. /home/quack/work/softs/nvm/nvm.sh' > ~/.zshrc

N'oubliez pas de modifier la dernière commande pour coller à l'emplacement où vous avez cloné les sources et à l'emplacement du fichier de configuration de votre shell (par défaut, sur Ubuntu, c'est ~/.bashrc). Démarrez un nouveau terminal et la commande nvm devrait marcher.

Après ceci, installez la dernière version de Node.js supportée, et définissez la comme version par défaut :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:19:30] $ nvm install 0.8.12 ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:19:49] $ nvm alias default 0.8.12

Maintenant, vous pouvez installez tous les modules Node.JS nécéssaires à Persona. Déplacez vous dans le répertoire racine où vous avez cloné browserid, et lancez la commande suivante :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:15] $ npm install

Et, normallement, tous les modules sont installés et vous pouvez travailler! Si vous voulez lancer les exemples donnés dans les sources :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:20] $ npm start

L'application Web d'exemple est accessible à http://localhost:10001, et le serveur Browserid est à http://localhost:10002.

Mais le module bcrypt ne marche pas...

Si, durant le npm install, vous avez une erreur du type "Impossible d'installer le module 'bcrypt'", essayez d'importer la bonne version directement :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:20] $ npm install bcrypt@0.7.3

Refaites un npm install, et si ça ne marche toujours pas, nous allons essayer de l'installer manuellement.

Pour faire simple, les commandes suivantes vont : cloner les sources, configurer la compilation, compiler les sources, et ré-installer bcrypt avec npm.

╭────<quack@spiderman >───< /tmp > ╰───[18:20:20] $ git clone http://github.com/ncb000gt/node.bcrypt.js.git ╭────<quack@spiderman >───< /tmp > ╰───[18:21:20] $ cd node.bcrypt.js ╭────<quack@spiderman >───< /tmp > ╰───[18:22:20] $ npm install -g node-gyp ╭────<quack@spiderman >───< /tmp > ╰───[18:23:20] $ node-gyp configure ╭────<quack@spiderman >───< /tmp > ╰───[18:24:20] $ node-gyp build ╭────<quack@spiderman >───< /tmp > ╰───[18:25:20] $ cd ~/work/workspace/mozilla/browserid ╭────<quack@spiderman >───< /tmp > ╰───[18:25:22] $ rm -rf var node_modules ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:26:20] $ npm install

Normallement, après cette dernière étape, tout devrait normalement marcher avec un npm start.

Mettre à jour ses sources

Désormais, à chaque fois que vous voudrez mettre à jour vos sources, vous devrez réinstaller les modules Node pour utiliser les dernières versions demandées par Persona.

Le processus de mise à jour sera donc :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:23:20] $ git pull mozilla dev ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:31:20] $ rm -rf var node_modules ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:32:20] $ npm install

Et voilà, il est temps de travailler sur le code maintenant!

 

_ Si vous trouvez quelques fautes, ou si vous voulez plus de précisions, n'hésitez pas à m'envoyer un email, me contacter sur Twitter, ou à joindre le canal IRC de l'équipe Identity : #identity@irc.mozilla.org. Les mecs qui en font partie et qui travaille sur Persona sont tous supers cools et toujours près à vous aider!_

Un merci tout particulier à Shane Tomlinson qui a passé tout son samedi après midi sur IRC à m'aider à installer cet environnement!

Pour plus d'infos, vous avez également le README disponible sur le dépôt GitHub du projet

 

Depuis plusieurs années, j'ai envie de contribuer à un projet Open-Source. Aujourd'hui, les choses commencent à devenir réalité. J'ai trouvé le projet que je veux aider : Mozilla Persona. Mais je fais les choses dans le désordre puisque j'écrirais bientôt un article pour vous le présenter un peu mieux.

Ici, je vais détailler les étapes pour se monter un environnement de développement complet sur un système GNU/Linux, et plus précisément sur Ubuntu 13.04.

Devenir pote avec GitHub

La première chose à faire avant de contribuer est de s'inscrire sur GitHub, et forker le projet, disponible à https://github.com/mozilla/browserid.

Quand vous avez fait ça, clonez le répertoire sur votre machine :

╭────<quack@spiderman >───< ~/work/workspace/mozilla > ╰───[18:11:29] $ git clone https://github.com/quack1/browserid.git

Puis, rendez vous dans ce répertoire pour y rajouter un nouveau remote. Celui-ci sera le repository "officiel" à partir duquel on récupérera les mises à jour du code :

╭────<quack@spiderman >───< ~/work/workspace/mozilla > ╰───[18:13:49] $ cd browserid ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:13:55] $ git remote add mozilla https://github.com/mozilla/browserid.git

De cette façon, pour se mettre à jour, on fera simplement :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:14:12] $ git pull mozilla dev

Et, pour pousser nos modifications sur notre dépôt :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:14:20] $ git push origin dev

On proposera nos commits à l'équipe de développement au travers du système de Pull Request inclut dans GitHub.

Travailler avec Nodejs

Persona étant écrit en Node.js pour les parties serveur, on doit l'installer pour pouvoir tester notre code.

Cependant, avant cela, on doit installer quelques autres outils :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:15:02] $ sudo apt-get install python-software-properties git-core libgmp3-dev g++ libssl-dev

Maintenant, on peut donc installer NodeJs. Mais surtout, n'installez pas nodejs directement depuis les depôts d'Ubuntu ou depuis les sources du site officiel, puisque la version currente est en 0.10., et Persona n'est compatible qu'avec les 0.8. pour le moment.

La meilleure façon de faire m'a été donnée par Shane Tomlinson, et elle consiste à déléguer la gestion des versions de Node.js installées sur le système à un simple programme : nvm. Ce dernier peut installer plusieurs versions de Node, et il est ensuite possible de lui préciser quelle version utiliser.

Pour l'installer, suivez les instructions disponibles sur le site officiel. Pour faire simple, voici les commandes à taper :

╭────<quack@spiderman >───< ~/work/softs > ╰───[18:17:47] $ git clone http://github.com/creationix/nvm.git nvm ╭────<quack@spiderman >───< ~/work/softs > ╰───[18:17:58] $ echo '. /home/quack/work/softs/nvm/nvm.sh' > ~/.zshrc

N'oubliez pas de modifier la dernière commande pour coller à l'emplacement où vous avez cloné les sources et à l'emplacement du fichier de configuration de votre shell (par défaut, sur Ubuntu, c'est ~/.bashrc). Démarrez un nouveau terminal et la commande nvm devrait marcher.

Après ceci, installez la dernière version de Node.js supportée, et définissez la comme version par défaut :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:19:30] $ nvm install 0.8.12 ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:19:49] $ nvm alias default 0.8.12

Maintenant, vous pouvez installez tous les modules Node.JS nécéssaires à Persona. Déplacez vous dans le répertoire racine où vous avez cloné browserid, et lancez la commande suivante :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:15] $ npm install

Et, normallement, tous les modules sont installés et vous pouvez travailler! Si vous voulez lancer les exemples donnés dans les sources :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:20] $ npm start

L'application Web d'exemple est accessible à http://localhost:10001, et le serveur Browserid est à http://localhost:10002.

Mais le module bcrypt ne marche pas...

Si, durant le npm install, vous avez une erreur du type "Impossible d'installer le module 'bcrypt'", essayez d'importer la bonne version directement :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:20] $ npm install bcrypt@0.7.3

Refaites un npm install, et si ça ne marche toujours pas, nous allons essayer de l'installer manuellement.

Pour faire simple, les commandes suivantes vont : cloner les sources, configurer la compilation, compiler les sources, et ré-installer bcrypt avec npm.

╭────<quack@spiderman >───< /tmp > ╰───[18:20:20] $ git clone http://github.com/ncb000gt/node.bcrypt.js.git ╭────<quack@spiderman >───< /tmp > ╰───[18:21:20] $ cd node.bcrypt.js ╭────<quack@spiderman >───< /tmp > ╰───[18:22:20] $ npm install -g node-gyp ╭────<quack@spiderman >───< /tmp > ╰───[18:23:20] $ node-gyp configure ╭────<quack@spiderman >───< /tmp > ╰───[18:24:20] $ node-gyp build ╭────<quack@spiderman >───< /tmp > ╰───[18:25:20] $ cd ~/work/workspace/mozilla/browserid ╭────<quack@spiderman >───< /tmp > ╰───[18:25:22] $ rm -rf var node_modules ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:26:20] $ npm install

Normallement, après cette dernière étape, tout devrait normalement marcher avec un npm start.

Mettre à jour ses sources

Désormais, à chaque fois que vous voudrez mettre à jour vos sources, vous devrez réinstaller les modules Node pour utiliser les dernières versions demandées par Persona.

Le processus de mise à jour sera donc :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:23:20] $ git pull mozilla dev ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:31:20] $ rm -rf var node_modules ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:32:20] $ npm install

Et voilà, il est temps de travailler sur le code maintenant!

 

_ Si vous trouvez quelques fautes, ou si vous voulez plus de précisions, n'hésitez pas à m'envoyer un email, me contacter sur Twitter, ou à joindre le canal IRC de l'équipe Identity : #identity@irc.mozilla.org. Les mecs qui en font partie et qui travaille sur Persona sont tous supers cools et toujours près à vous aider!_

Un merci tout particulier à Shane Tomlinson qui a passé tout son samedi après midi sur IRC à m'aider à installer cet environnement!

Pour plus d'infos, vous avez également le README disponible sur le dépôt GitHub du projet

Je viens d'avoir un nouvel ordinateur professionnel. Il s'agit d'un PC portable Dell Precision M4700. Il est composé d'une carte graphique AMD FirePro M4000, de 8Go de RAM, d'un disque dur 750Go Sata et surtout d'un disque dur 250Go SSD. Bref, une petite foudre. Du coup, je me suis décidé à installer la toute dernière version d'Ubuntu (13.04) avec non pas Unity mais Gnome Shell. Depuis plus de 6 ans, j'utilisais Gnome 2. Le changement a donc été plutôt radical. Dans cet article, je vais parler de ma découverte de ce nouvel environnement et des modifications que j'y ai apporté afin qu'il me convienne.

48px-Gnome-logo.png

I. Installation et découverte de Gnome Shell

Comme Gnome Shell n'est pas installé par défaut dans Ubuntu (et que je n'aime pas Unity), j'ai déjà dû commencer par l'installer avec la commande suivante :

apt-get install gnome-shell

Une fois installé, je déconnecte ma session utilisateur et je choisis Gnome lors de ma reconnexion. Ensuite, cette préférence sera conservée automatiquement.

Ma première impression : "ah... y a que ça ?" ! J'ai été vraiment surpris du fait qu'il n'y ai rien du tout sur le bureau. Aucune icône, pas de barre des programmes en bas de l'écran, pas de menu Programmes, Raccourcis ou Système en haut de l'écran. Juste un bouton Activités qui me donne un écran presque noir en cliquant dessus. Bref, rien de chez rien. Quel changement !

vide.png

Bon, du coup, j'explore un peu tout seul. Je vois que la touche Super ouvre la même fenêtre que le menu Activités et je vois qu'en tapant le nom de mes programmes dans cette fenêtre noire, ils s'affichent. Je pense donc que c'est la nouvelle philosophie du truc : plus d'icônes, plus de raccourcis, on ouvre cette fenêtre et on tape le nom de notre application, c'est tout. Plus de barre des tâches, on gère tout avec le Alt+Tab. Bref, je n'aime pas du tout cette façon d'utiliser mon ordinateur.

En regardant un peu sur Internet, je me rends compte que pas mal d'extensions sont disponibles avec Gnome Shell. Elles permettent de personnaliser son apparence et son comportement . Ce sont ces extensions qui m'ont fait adopter ce gestionnaire de fenêtres.

II. Les extensions Gnome Shell

Il y a vraiment un truc qui m'a bluffé avec ces extensions, c'est l'interface web qui permet de les installer/configurer/supprimer. Vous pouvez tout faire directement depuis la page web en question. Voici la liste des extensions que j'ai installé et à quoi elles correspondent :

  • Activities Configurator : permet de supprimer le menu Activités en haut à gauche et de désactiver le Hot Corner. Le Hot Corner fait en sorte que quand le curseur est tout en haut à gauche de l'écran, cela éclate toutes les fenêtres du bureau en miniature (c'est super chiant je trouve) ;
  • Alternative Status Menu : modifie le menu déroulant qui permet d'éteindre l’ordinateur pour y ajouter une entrée de mise en hibernation ;
  • Applications Menu : l'équivalent du menu Applications dans Gnome 2 ;
  • Battery remaining time and percentage : affiche le pourcentage de charge de la batterie ainsi qu'une estimation du temps restant avant coupure ;
  • Dash to Dock : un dock super pratique qui se cache si une fenêtre est devant lui et qui se positionne à gauche de l'écran ;
  • Drop Down Terminal : un terminal qui descend de l'écran (comme tilda) en tapant sur la touche "carrée" (au dessus de Shift - du coup je ne peux plus taper ce caractère maintenant) :) ;
  • Hide Clock aka dateMenu : supprime la date et l'heure en haut de l'écran. Vous le verrez plus bas, je l'affiche dans la barre des tâches ;
  • NetSpeed : un indicateur des bits envoyés et reçu en temps réel ;
  • Places Status Indicator : l'équivalent du menu Raccourcis dans Gnome 2 ;
  • Remove Accessibility : supprime le menu d’accessibilité dans la barre en haut ;
  • User Themes : une extension nécessaire pour changer le thème de Gnome Shell (que j'expliquerai ensuite) ;
  • Weather : affiche une icône de la météo dans ma ville (bon ça, ça sert pas à grand chose) ;
  • Workspace Grid : permet de paramétrer l'organisation de ses espaces de travail ;
  • Workspace Indicator : affiche l'espace de travail sur lequel on se trouve dans la barre en haut.

III. La barre des tâches

Je n'arrive pas à me passer de la barre des tâches en bas de mon écran. Sans elle, je perds mes fenêtres et ça me soûle de devoir les rechercher sur mes différents espaces de travail (surtout que j'ai 4 espaces * 2 écrans, ça fait beaucoup)... J'ai vu qu'il existait une extension Gnome pour ajouter une nouvelle barre : Frippery Bottom Panel. Malheureusement, cette barre n'est presque pas paramétrable. Sa taille, sa couleur ou sa transparence ne peuvent pas être changées, du coup, elle s'intégrait mal avec mon thème Gnome. J'ai donc cherché autre chose et j'ai trouvé mon bonheur : tint2, une barre des tâches légère et très paramétrable.

Pour l'installer, c'est simple, un sudo apt-get install tint2 fera l'affaire. Ensuite pour le lancer, il suffit de taper la commande tint2 dans un terminal (ou dans Alt+F2).

Je n'ai presque fait aucune modification de configuration. Comme je l'ai dit, on peut aller très très loin dans sa configuration mais moi, sa conf de base me convenait très bien. J'ai juste modifié ces deux lignes du fichier de configuration (~/.config/tint2/tint2rc) :

  • panel_monitor = 1 au lieu de panel_monitor = all pour n'afficher la toolbar que sur un seul écran ;
  • task_centered = 0 au lieu de task_centered = 1 pour aligner les noms des programmes à gauche.

Voila c'est tout.

IV. Le thème

Par défaut, Gnome Shell est tout noir, partout. J'ai trouvé ça un peu trop sombre. Moi j'aime bien les barres transparentes. Du coup, après avoir un peu cherché dans les thèmes GTK 3.x, j'ai adopté un thème que je trouve magnifique : Zukitwo.

Une fois ce thème téléchargé, j'ai dû créer un dossier ~/.themes/ dans lequel j'ai le l'ai extrait. Ensuite, j'ai utilisé l'application Tweak Tool (installé via sudo apt-get install gnome-tweak-tool) pour sélectionner ce thème. Voici d'ailleurs mes paramètres de thème complets :

tweak.png

V. Le résultat

Je parle, je parle mais il est temps d'illustrer mes propos. Voici le résultat final de mes différentes modifications :

Capture_du_2013-05-24_10_56_17.png

C'est sobre, c'est simple, c'est bien :)

VI. Derniers détails

J'ai utilisé Tweak Tool pour faire d'autres modifications, comme par exemple afficher les icônes sur le bureau, je ne vais pas tout détailler ici.

Une chose importante, comme je vous l'ai dit, il faut lancer la commande tint2 pour que la barre des tâches se lance. Si j'utilise l'outil des programmes au démarrage de gnome et que je lance tint2 directement, la transparence ne fonctionne pas et j'ai une barre des tâches noire. Il semble qu'il faille un délai entre le démarrage de l'OS et la lancement de tint2. J'ai donc fait un tout petit script que je lance au démarrage (via l'utilitaire Applications au démarrage d'Ubuntu). Le voici :

#/bin/bash
#on change la disposition du clavier pour corriger le bug avec les claviers sans fil logitech
setxkbmap fr -variant oss
sleep 2
#on affiche la barre des taches en bas de l'écran
tint2
sleep 2
#on fait un trimming pour ne pas diminuer les perf du disque SSD
fstrim /

Ce qui est intéressant pour notre cas ici c'est le sleep 2 et le tint2 après, c'est à dire que le tint2 se lance 2 secondes après le lancement du script. Avec ce délai, la transparence est bien prise en compte.



Voila, je pense avoir fait le tour de mes modifications. Mon Gnome Shell me convient bien comme il est actuellement. Si vous avez des questions ou des remarques, comme d'hab', vous n'hésitez pas.

À bientôt !

24 Mai 2013 à 09:12

Tunneliser GPG dans un proxy SOCKS via Quack1

 

Au travail, ne me demandez pas pourquoi, le firewall bloque par défaut le port dédié à hkp (11371/tcp), utilisé notamment pour récupérer des clés GPG. (Bon, par contre, on peut accéder à Mega... :sifflote:). Bref, c'est un peu casse-bonbons pour fetcher des clés et surtout mettre à jour des listes de paquets sur mon Ubuntu, puisqu'apt a besoin des clés GPG pour authentifier les serveurs.

La solution à laquelle j'ai pensé est de faire passer les communications de gpg dans mon proxy SOCKS (monté par ssh, plus d'infos pour monter le proxy ici). Pour cela, on rajoute une simple option gpg pour définir l'URI du proxy socks :

╭────<quack@spiderman >───< ~ > ╰───[17:13:13] $ gpg --keyserver-options http-proxy=socks5-hostname://127.0.0.1:1080

Et, pour revenir au problème initial, pour ajouter une clé gpg pour apt, on rajoute la même option que pour gpg :

╭────<quack@spiderman >───< /etc/apt/sources.list.d > ╰───[17:25:35] $ sudo apt-key adv --keyserver-options http-proxy=socks5-hostname://127.0.0.1:1080 --keyserver keyserver.ubuntu.com --recv-keys C383CF524EE6B458

Source

24 Mai 2013 à 09:12

Tunneliser GPG dans un proxy SOCKS via Quack1

 

Au travail, ne me demandez pas pourquoi, le firewall bloque par défaut le port dédié à hkp (11371/tcp), utilisé notamment pour récupérer des clés GPG. (Bon, par contre, on peut accéder à Mega... :sifflote:). Bref, c'est un peu casse-bonbons pour fetcher des clés et surtout mettre à jour des listes de paquets sur mon Ubuntu, puisqu'apt a besoin des clés GPG pour authentifier les serveurs.

La solution à laquelle j'ai pensé est de faire passer les communications de gpg dans mon proxy SOCKS (monté par ssh, plus d'infos pour monter le proxy ici). Pour cela, on rajoute une simple option gpg pour définir l'URI du proxy socks :

╭────<quack@spiderman >───< ~ > ╰───[17:13:13] $ gpg --keyserver-options http-proxy=socks5-hostname://127.0.0.1:1080

Et, pour revenir au problème initial, pour ajouter une clé gpg pour apt, on rajoute la même option que pour gpg :

╭────<quack@spiderman >───< /etc/apt/sources.list.d > ╰───[17:25:35] $ sudo apt-key adv --keyserver-options http-proxy=socks5-hostname://127.0.0.1:1080 --keyserver keyserver.ubuntu.com --recv-keys C383CF524EE6B458

Source

 

Je vous présentais dans un article précédent ma configuration IRC, composée d'un irssi lancé dans un screen distant. Je me connecte à mon hôte distant via ssh et je ré-attache ma session screen.

Cette configuration est parfaite et je l'utilise quotidiennement, mais j'ai toutefois un souci majeur : quand mon pseudo est mentionné, je ne reçois aucune notification, alors que mon client IRC devrait normalement 'bipper'.

Irssi - screen - Terminal

Pour activer la notification dans irssi c'est très simple, et on retrouve cette configuration un peu partout sur le Ternaite (par exemple dans la doc officielle).

/set beep_when_window_active ON /set beep_when_away ON /set beep_msg_level MSGS NOTICES DCC DCCMSGS HILIGHT /set bell_beeps ON

Pour que screen active les notifications auditives, on fait des Ctrl-A Ctrl-G juqu'à voir s'afficher Switched to Audible Bell en bas de sa fenêtre screen.

Enfin, on vérifie que son terminal est bien configuré pour émettre des beep auditifs.

  • Dans Gnome-Terminal : Edition --> Préférences du Proil --> Cocher "Bip" du Terminal
  • Dans Terminator : Clic-Droit --> Preferences --> Profiles --> Choisir son profil à gauche, puis --> General --> Cocher Audible beep

Et normalement vous devez recevoir des notifications quand on vous mentionne sur IRC. Pour tester que la configuration de votre système local est bonne, tapez echo -e '\a' dans un shell. Vous devriez entendre le 'bip' défini.

Et si ça marche pas...

Dans mon cas, ça n'a pas marché. Après beaucoup de recherches, notamment du côté de ma config irssi/screen/ssh, je me suis rendu le canal IRC d'irssi sur Freenode (#irssi@irc.freenode.net), et après avoir parlé avec plusieurs utilisateurs (poke deadweasel, billnye, Death4Life), j'ai cherché un peu plus du côté du système, et on m'a très justement fait remarquer que depuis une ancienne version d'Ubuntu (on ne sais pas vraiment laquelle), les bips systèmes sont désactivés du noyau, et on ne peut donc pas recevoir les notifications de notre client IRC.

Pour réactiver le module qui est blacklisté du système, un simple sudo modprobe pcspkr devrait suffir (je n'ai pas tapé la commande, je ne peux donc rien vous garantir).

Cette solution semblait avoir un gros inconvénient pour moi : les bips ne passaient pas par la carte son et donc n'étaient pas redirigés dans les écouteurs si ceux-ci étaient branchés. (Encore une fois, corrigez moi si je me trompe sur ce point, je n'ai pas testé). Sauf que moi, la journée au travail, j'ai pas vraiment envie que mon PC pousse des grands bips toutes les 5 minutes parce que j'ai été mentionné sur un chan, je préfère que tout ça aille direct dans mes écouteurs.

J'ai donc fouillé un peu plus et je suis tombé sur cette solution, qui consiste en fait à redéfinir au niveau du système le comportement à avoir quand le système doit éxécuter la fonction Bell().

Pour cela, on installe le paquet suivant :

╭────<quack@spiderman >───< ~ > ╰───[18:09:57] $ sudo apt-get install vorbis-tools

Puis on crée le script suivant :

╭────<quack@spiderman >───< ~ > ╰───[18:10:32] $ cat ~/.xkb/xkbevd.cf soundDirectory="/usr/share/sounds/" soundCmd="ogg123 -q" Bell() "ubuntu/stereo/message-new-instant.ogg"

Ceci signifie que lorsqu'un 'Beep' système devra être lancé, le système éxécutera à la place la commande suivante :

ogg123 -q /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg

Si vous voulez personnaliser le son que vous recevez, il vous suffit de modifier les variables soundDirectory et la variable située après le Bell() dans le code ;-)

Enfin, on rajoute un programme à lancer lorsque je me connecte (ici j'ai fait ça simplement, en mode graphique).

Pour que les modifications soient effectives sans avoir à vous re-logguer la première fois, lancez :

xkbevd -bg

Et voilà, vous devriez recevoir des 'beeps' dès que votre Terminal envoie un signal auditif, et notamment dans irssi ! ;-D

 

Je vous présentais dans un article précédent ma configuration IRC, composée d'un irssi lancé dans un screen distant. Je me connecte à mon hôte distant via ssh et je ré-attache ma session screen.

Cette configuration est parfaite et je l'utilise quotidiennement, mais j'ai toutefois un souci majeur : quand mon pseudo est mentionné, je ne reçois aucune notification, alors que mon client IRC devrait normalement 'bipper'.

Irssi - screen - Terminal

Pour activer la notification dans irssi c'est très simple, et on retrouve cette configuration un peu partout sur le Ternaite (par exemple dans la doc officielle).

/set beep_when_window_active ON /set beep_when_away ON /set beep_msg_level MSGS NOTICES DCC DCCMSGS HILIGHT /set bell_beeps ON

Pour que screen active les notifications auditives, on fait des Ctrl-A Ctrl-G juqu'à voir s'afficher Switched to Audible Bell en bas de sa fenêtre screen.

Enfin, on vérifie que son terminal est bien configuré pour émettre des beep auditifs.

  • Dans Gnome-Terminal : Edition --> Préférences du Proil --> Cocher "Bip" du Terminal
  • Dans Terminator : Clic-Droit --> Preferences --> Profiles --> Choisir son profil à gauche, puis --> General --> Cocher Audible beep

Et normalement vous devez recevoir des notifications quand on vous mentionne sur IRC. Pour tester que la configuration de votre système local est bonne, tapez echo -e '\a' dans un shell. Vous devriez entendre le 'bip' défini.

Et si ça marche pas...

Dans mon cas, ça n'a pas marché. Après beaucoup de recherches, notamment du côté de ma config irssi/screen/ssh, je me suis rendu le canal IRC d'irssi sur Freenode (#irssi@irc.freenode.net), et après avoir parlé avec plusieurs utilisateurs (poke deadweasel, billnye, Death4Life), j'ai cherché un peu plus du côté du système, et on m'a très justement fait remarquer que depuis une ancienne version d'Ubuntu (on ne sais pas vraiment laquelle), les bips systèmes sont désactivés du noyau, et on ne peut donc pas recevoir les notifications de notre client IRC.

Pour réactiver le module qui est blacklisté du système, un simple sudo modprobe pcspkr devrait suffir (je n'ai pas tapé la commande, je ne peux donc rien vous garantir).

Cette solution semblait avoir un gros inconvénient pour moi : les bips ne passaient pas par la carte son et donc n'étaient pas redirigés dans les écouteurs si ceux-ci étaient branchés. (Encore une fois, corrigez moi si je me trompe sur ce point, je n'ai pas testé). Sauf que moi, la journée au travail, j'ai pas vraiment envie que mon PC pousse des grands bips toutes les 5 minutes parce que j'ai été mentionné sur un chan, je préfère que tout ça aille direct dans mes écouteurs.

J'ai donc fouillé un peu plus et je suis tombé sur cette solution, qui consiste en fait à redéfinir au niveau du système le comportement à avoir quand le système doit éxécuter la fonction Bell().

Pour cela, on installe le paquet suivant :

╭────<quack@spiderman >───< ~ > ╰───[18:09:57] $ sudo apt-get install vorbis-tools

Puis on crée le script suivant :

╭────<quack@spiderman >───< ~ > ╰───[18:10:32] $ cat ~/.xkb/xkbevd.cf soundDirectory="/usr/share/sounds/" soundCmd="ogg123 -q" Bell() "ubuntu/stereo/message-new-instant.ogg"

Ceci signifie que lorsqu'un 'Beep' système devra être lancé, le système éxécutera à la place la commande suivante :

ogg123 -q /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg

Si vous voulez personnaliser le son que vous recevez, il vous suffit de modifier les variables soundDirectory et la variable située après le Bell() dans le code ;-)

Enfin, on rajoute un programme à lancer lorsque je me connecte (ici j'ai fait ça simplement, en mode graphique).

Pour que les modifications soient effectives sans avoir à vous re-logguer la première fois, lancez :

xkbevd -bg

Et voilà, vous devriez recevoir des 'beeps' dès que votre Terminal envoie un signal auditif, et notamment dans irssi ! ;-D

Depuis les dernières versions d’Ubuntu (12.04, 12.10, 13.04 sans doute 11.10 aussi), il n’est plus possible, par défaut, de savoir quelles applications sont lancées automatiquement au démarrage de l’OS. En lançant l’option “Applications au démarrage” du menu système, en haut à droite, vous ouvrez une fenêtre vide !! Or, la réalité est bien différente comme vous pouvez le voir en installant le moniteur système GKrellM (disponible dans la logithèque Ubuntu) : il y a 315 processus lancés.

Applications au démarrage et GKrellM

Voici la commande (à copier / coller dans un terminal) qui permet de voir toutes les applis lancées au démarrage :

sudo sed -i &#039;s/NoDisplay=true/NoDisplay=false/g&#039; /etc/xdg/autostart/*.desktop

Voici la même fenêtre après exécution de la commande :

La fenètre Applications au démarrage

A partir de là, il est facile de désactiver les programmes dont vous n’avez pas l’utilité au quotidien. Pour ma part, j’ai décoché :

  • Discussion : il active l’indicateur de connexion de vos amis si vous utilisez le logiciel de visioconférence / chat Empathy (messagerie instantanée)
  • Moniteur de sauvegarde : active l’utilitaire de sauvegarde Déjà Dup, c’est une bonne chose dans l’absolu, mais j’utilise un autre script de sauvegarde automatique offrant plus d’options : Backup Manager (je crois qu’il n’est plus maintenu, le site web officiel est inaccessible).
  • Onboard : active un clavier virtuel
  • Orca screen reader : logiciel d’aide pour mal / non voyants (loupe, braille, synthèse vocale)
  • Partage de bureau : permet de se connecter à un autre ordinateur ou serveur
  • Partage de fichiers personnels : à configurer selon vos besoins, les possibilités sont nombreuses et dépendent de l’architecture de votre réseau domestique
  • Ubuntu One : le service de cloud d’Ubuntu. Je ne l’utilise pas car je pense qu’il faut rester maître de ces données et ne pas les envoyer aveuglément dans un nuage si vous n’avez pas une absolue confiance dans le fournisseur du service.
  • Zeitgeist Datahub : voir mon précédent article à ce propos Comment et pourquoi désactiver le démon Zeitgeist dans Ubuntu.

Bien sûr, ce sont des choix personnels que vous pouvez appliquer ou non selon vos propres besoins.

Après cette simple optimisation, je n’ai plus que 272 processus d’actifs dans le moniteur GKrellM. On économise ainsi de la mémoire vive et les ressources du processeurs qui pourront être utiles pour d’autres tâches.

flattr this!

desktop_hydv1_linux_3

Hybryde Fusion est une distribution GNU/Linux basée sur Ubuntu, qui fait beaucoup parler d’elle grâce à son originalité : permettre à ses utilisateurs de tester de nombreux environnement de bureau (Gnome, KDE, Unity, XFCE, LXDE…) sans quitter la session. Je l’avais testé il y a quelques mois et ce concept m’avait bien séduit.

La dernière version de Hybryde Fusion -basé sur Ubuntu 13.04- a vu apparaître HY-D-V1, un environnement propre à la distribution. Ce dernier a été écrit en Python, Javascript et HTML. Je n’ai pas encore eu le temps de tester cette nouvelle mouture, mais d’après les captures d’écran que j’ai pu voir, ce nouveau DE me paraît très prometteur.

Les ubunteros qui le souhaitent, peuvent installer HY-D-V1 sur leur distribution grâce au PPA mis à disposition par Olivier Larrieu, le développeur de Hybryde Fusion :

sudo add-apt-repository ppa:olivelinux36/hydv1-desktop-dev-raring
sudo apt-get update
sudo apt-get install hydv1desktop

À noter que l’installation de HY-D-V1 depuis ce PPA, ne permet pas de jongler entre les différents DE, pour ça il faut installer Hyryde Fusion.

P.S : SI vous souhaitez en savoir plus sur cette distro, je vous recommande la lecture de la présentation faite par Claude Picot sur son blog.

Cet article Instaler HY-D-V1, l’environnement de bureau de Hybryde Fusion sur Ubuntu est apparu en premier sur crowd42.

No related posts.

22 Mai 2013 à 02:54

UAK : un kit pour promouvoir Ubuntu via crowd42

logo-ubuntu_no®-orange-hex

Si vous comptez organiser ou participer à une Ubuntu party, que vous êtes à court d’arguments pour faire découvrir la distro de Canonical à vos proches et amis, vous serez peut-être alors intéresser par découvrir Ubuntu Advocacy Kit.

Comme son nom le laisse entendre, c’est un kit qui a été développé dans le but d’aider les ubunteros à promouvoir Ubuntu. Une fois UAK installé, vous pouvez choisir parmi les nombreuses ressources proposées : guides, posters, bannières, logos… de quoi vous permettre de devenir un as du marketing.. (les plus sceptiques diront que c’est Canonical essaye de contrôler son image et celle de sa distribution)

Pour l’instant, la traduction française n’est pas encore achevée, mais elle ne devrait pas tarder. Pour l’installer :

sudo add-apt-repository ppa:uak-admins/uak
sudo apt-get update
sudo apt-get install uak-en

Dans le dash, tapez advocacy et cliquez sur l’icône, le kit va se lancer dans votre navigateur.

Source

Cet article UAK : un kit pour promouvoir Ubuntu est apparu en premier sur crowd42.

No related posts.

Pages