Sometimes I write things, sometimes I don't.

To content | To menu | To search

Saturday 30 January 2010

Lancer un programme en anglais sans changer la langue

Il peut être intéressant, pour une raison ou une autre, de vouloir utiliser un programme en anglais sur un système configuré dans une autre langue. Dans mon cas, je voudrais pouvoir réaliser simplement quelques captures d'écran de GNOME Split en anglais.

Dans un tel cas, il serait forcément assez lourd de changer la langue de tout le système pour lancer un logiciel. C'est là qu'intervient la variable d'environnement LANG. C'est avec cette variable que nous allons jouer. Pour commencer, on peut entrer la commande suivante dans un terminal.
~$ echo $LANG

Si votre système est en français comme le mien, vous devriez probablement avoir comme résultat la chaîne de caractères suivante : fr_FR.UTF-8.

Pour lancer un logiciel en anglais, on va modifier cette variable seulement dans le "terminal" où l'on va lancer le programme. Pour cela, on crée un script qui va donner à la variable LANG la valeur C puis exécuter la ligne de commande passée en argument du script (ligne de commande identique à celle que l'on utiliserait pour lancer le logiciel normalement).

Pour faire le script, on crée puis édite un fichier nommé (comme on veut en fait) english.sh et on y met le code suivant :

#!/bin/bash
LANG=C "$@"


Ensuite, on enregistre puis on rend le script exécutable.
~$ chmod +x english.sh

Finalement, on lance le script et on passe en paramètre la ligne de commande à exécuter.
~$ ./english.sh transmission

En voilà ce que ça donne (un peu de pub ça fait pas de mal non roh).

Thursday 21 January 2010

Clavier EeePC 1000 HE et Ubuntu 9.10 Karmic Koala

Je me suis récemment rendu compte d'un problème relativement embêtant. Ce dernier est lié à la reconnaissance du clavier de mon Asus EeePC 1000 HE. En effet, il m'était impossible (du moins avec la combinaison de touches normale Alt Gr + 8) d'utiliser le \ (backslash) dans un éditeur de texte. Chose assez embêtante pour un programmeur quand il a besoin d'utiliser le fameux \n (ou encore \r ou \t) dans ses printf() par exemple.

Une solution existe, heureusement, et elle est simple. Pour cela, on va dans Système > Préférences > Clavier. On se rend ensuite dans l'onglet Agencement puis on change le modèle du clavier pour utiliser Portable Asus.


Voilà, simple et efficace.

Monday 4 January 2010

GNOME Split sort en version 0.3

Je n'avais pas signalé la sortie de la version 0.2, et bien je vais me rattraper avec celle de la version 0.3. GNOME Split, le logiciel de découpage et assemblage de fichiers, évolue petit à petit. La version 0.1 était une première version plutôt avancée, par conséquent la version 0.2 n'a vu arriver que des corrections de bugs (dont un critique pour les utilisateurs de la version 2.22.3 de glib). Alors qu'est-ce qu'il y a dans cette version ?

  • Découpage et assemblage au format GNOME Split,
  • Découpage et assemblage au format Xtremsplit,
  • Découpage et assemblage sans format spécifique (semblable à la commande "split", assemblage par "cat" possible),
  • Réorganisation de la boîte de dialogue de préférences,
  • Optimisation du code de l'interface graphique,
  • Ajout d'info bulle sur les boutons de la barre d'outils,
  • Correction de bugs divers.

Le code source peut être récupéré soit via cette archive, soit via le dépôt Bazaar. Pour les utilisateurs de Ubuntu 9.10 Karmic Koala, un dépôt PPA (dépôt non officiel donc attention hein) est à disposition. Une fois ce dernier ajouté, il ne suffira alors qu'à utiliser la commande :
~$ sudo aptitude install gnome-split

Tuesday 10 November 2009

Eclipse, ses boutons et Ubuntu 9.10

Avec l'arrivée de Ubuntu 9.10, je me suis aperçu d'un bug sur Eclipse. Ayant fait une installation manuelle (je ne suis pas passé par le paquet disponible dans les dépôts), je ne sais pas si ce problème apparaît seulement pour les personnes ayant effectué la même installation que moi ou s'il est commun à tous.

Voilà le problème, parfois les boutons (OK, Annuler, etc) ne fonctionnent pas toujours, alors que leurs raccourcis clavier, eux, fonctionnent correctement. Ce bug n'est pas vraiment bloquant, en revanche, à la longue, il est très agaçant. Pour le corriger, il suffit de lancer Eclipse par le biais d'un petit script shell.

Pour cela, on édite / crée le fichier /usr/local/bin/eclipse pour y mettre le code suivant.
#!/bin/sh
export ECLIPSE_HOME="/opt/eclipse"
export GDK_NATIVE_WINDOWS=1
$ECLIPSE_HOME/eclipse $*


C'est la troisième ligne de ce script qui va résoudre le bug. D'ailleurs ce dernier va être résolu avec la version 3.6. Il est dû au fait qu'à partir de GTK 2.18, le comportement des fenêtres GDK et GTK a été revu. N'oubliez pas de modifier la variable ECLIPSE_HOME pour qu'elle pointe sur votre installation de Eclipse.

Saturday 24 October 2009

Interdire l'utilisation d'un shell via SSH

À côté ses utilisations les plus communes (shell, transfert de fichiers, etc), SSH est un bon outil qui permet de contrôler l'accès aux branches créées avec Bazaar. C'est couplé avec le Bazaar smart server que je l'utilise afin de savoir qui à le droit ou non de modifier les branches. Pour cela, chaque personne ayant le droit d'écriture doit disposer d'un compte sur la machine serveur. Cependant, il est prudent de limiter l'accès de ses personnes.

En effet, donner un compte utilisateur sur une machine possédant SSH revient généralement à donner l'accès au shell via SSH à cet utilisateur. Dans mon cas, je ne souhaite pas que l'utilisateur puisse avoir accès au shell mais seulement à ce qu'il puisse pusher ses branches via bzr+ssh://. L'idée est de laisser l'utilisateur se connecter puis de le déconnecter tout de suite après. Pour réaliser ceci, on édite alors le fichier /etc/passwd avec les droits d'administrateur. Ne le faites surtout pas si vous ne savez pas sur quoi vous allez tomber, cette manipulation s'avérer dangereuse pour votre système !

Une fois le fichier ouvert, on recherche l'utilisateur qui ne doit pas avoir accès au shell. La ligne doit ressembler à ça :
utilisateur:x:1004:1004:,,,:/home/utilisateur:/bin/bash

Ici on voit que le terminal de l'utilisateur est de type bash. On change alors la valeur /bin/bash (ou autre si elle est différente) par /bin/true. On obtient alors ceci :
utilisateur:x:1004:1004:,,,:/home/utilisateur:/bin/true

Lors de sa tentative de connexion, l'utilisateur aura droit à une déconnexion automatique.
utilisateur@localhost:~$ ssh utilisateur@domaine.tld
Last login: Sat Oct 24 14:05:26 2009 from ....
Connection to domaine.tld closed.


Bien entendu, les commandes utilisant bzr+ssh:// continueront à fonctionner.

Monday 28 September 2009

Profitez du NFS sur le MyBookWorld

Lors de l'article précédent, on a pu voir comment utiliser FTP, SSH et SFTP sur un disque dur réseau My Book World Edition. Ces méthodes ont l'avantage d'être plutôt simples et familières pour ceux qui ont l'habitude des clients FTP et SSH, malheureusement ces méthodes d'accès ont la fâcheuse tendance à faire perdre des performances au niveau de la vitesse des transferts. Dans le but d'optimiser tout ça on peut activer le support du protocole NFS.

Pour activer le protocole NFS, il faut se connecter à l'interface d'administration du disque puis activer le mode avancé. On se rend alors dans l'onglet Réseau et on clique sur Services. Dans la partie NFS, on coche la case pour activer le protocole. Il y a également un champ IP permises. Ce champ permet de définir les adresses IP ou les plages d'adresses IP autorisées à accéder au partage NFS. Le joker * permet justement d'autoriser une plage d'adresses IP (je ne vous refais pas un cours sur les classes et les adresses). Dans mon cas, l'adresse réseau est 192.168.1.0 et le masque est 255.255.255.0. Je peux donc avoir des machines adressées de 192.168.1.1 à 192.168.1.254 (192.168.1.255 est l'adresse de broadcast). Dans mon cas, je veux que toutes les machines du réseau puissent accéder au partage, j'ai donc entré 192.168.1.*. Utiliser simplement le caractère * permet d'autoriser toutes les adresses IP à accéder au partage (configuration par défaut).

Par défaut l'accès NFS ne se fait qu'en lecture seule. C'est-à-dire qu'il n'est pas possible d'uploader ou de supprimer des fichiers ou des dossiers sur le disque dur.  Il est quand même possible d'activer l'accès en écriture. Toujours dans le mode avancé, on se rend dans l'onglet Utilisateurs. On clique sur Permissions de partage des dossiers puis sur l'icône (tout à droite) pour modifier l'accès à un dossier. Enfin, sur la ligne Accès NFS, on choisit Accès complet. On fait de même pour tous les autres dossiers si besoin.

Maintenant que le partage NFS est activé, il faut y accéder avec notre machine. Pour cela, on crée un dossier qui va nous permettre de monter un dossier NFS du disque dur réseau. Puisque l'on va avoir besoin d'un terminal autant tout faire avec. On va donc créer un dossier MyBookWorld dans le répertoire personnel puis on va y monter le dossier Public du NAS.
~$ mkdir MyBookWorld
~$ sudo mount -t nfs -o rw,soft,timeo=10 192.168.1.253:/nfs/Public/ ./MyBookWorld/


On constate qu'il faut les droits d'administrateur pour monter le dossier. L'option -o rw permet bien de monter le dossier en lecture/écriture (read/write) alors que le -t nfs permet de monter le dossier en utilisant le protocole NFS. Le timeout sera de 10 secondes c'est-à-dire que si après 10 secondes aucune connexion n'est faite, le montage est abandonné. Finalement, on termine par l'adresse IP du disque, suivie du dossier à monter (il faut bien préfixer le nom du dossier par /nfs/), et enfin par l'emplacement où monter le dossier. Il est maintenant possible d'utiliser le dossier comme s'il était en local sur la machine. Alors que la vitesse en FTP ou SSH avait du mal à dépasser 1 Mio/s, là, on se rend vite compte que l'on atteint assez vite 7 voire 8 Mio/s ce qui est nettement plus appréciable.

Une fois que le disque réseau n'est plus utilisé, il est conseillé de le démonter (du système pas physiquement hein) avec la commande suivante.
~$ sudo umount ./MyBookWorld/

Il existe des solutions pour monter un partage NFS automatiquement, notamment autofs. Je ne l'ai pas utilisé personnellement, mais il se peut que j'en aie besoin. Un montage simple, comme Nautilus le fait avec SSH ou FTP, serait assez sympathique à utiliser je crois (peut-être pour une prochaine version de Nautilus ?).

Sunday 13 September 2009

WD My Book World Edition et Ubuntu

J'ai eu la chance, il y a deux jours, d'installer sur mon bureau un tout nouveau disque dur en réseau Western Digital My Book World Edition de 1 To (téraoctet). Ce disque dur externe peut même être considéré comme un NAS à cause de la connexion au réseau Ethernet et du joli système d'exploitation (très léger) de type GNU/Linux qui fait marcher le tout. Tout marche très bien mais une ombre vient ternir le tableau, par défaut seul l'accès via les protocoles CIFS et AFP est autorisé. Utilisant principalement Ubuntu, je préfère utiliser des protocoles tels que FTP ou mieux encore : SSH. C'est à cet instant précis que l'on remercie Western Digital d'utiliser du GNU/Linux avec leur matériel.

Continue reading...

Sunday 23 August 2009

YAP2.6.1A : Yet Another Pidgin 2.6.1 Announcement

La nouvelle a circulé très vite et presque partout : Pidgin 2.6.1, offrant des fontionnalités voix et vidéo, est sortie le mardi 18 août 2009. Pas besoin de refaire un résumé de ce qui change, tout est .

Jusqu'à maintenant, il y avait plusieurs moyens de profiter de la dernière version de Pidgin sous Ubuntu 9.04. On pouvait soit utiliser le paquet de getdeb dans lequel les fonctionnalités voix et vidéo sont désactivées. Sinon, il y avait aussi Stemp qui nous avait cuisiné son paquet avec voix et vidéo. Mais on peut, dès maintenant, profiter de toute la version 2.6.1 via le PPA des développeurs de Pidgin. En effet, les paquets disponibles ont été mis à jour.


Attention, les manipulations qui suivent doivent être effectuées avec les droits d'administrateur ce qui peut poser un risque !

Pour profiter du PPA de Pidgin, il faut commencer par éditer, avec notre éditeur de texte favori (VIM, GEdit, JEdit, Nano, Emacs, etc... personellement je préfère VIM donc la suite se fera avec) et en tant qu'administrateur, le fichier /etc/apt/sources.list.
~$ sudo vim /etc/apt/sources.list

À la fin du fichier (on tape G sous VIM pour s'y rendre, puis i pour rentrer en mode insertion), on ajoute les deux lignes suivantes :
deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu jaunty main


Puis enfin, on enregistre et ferme le fichier (Echap suivi de :wq sous VIM).

Notez qu'il est également possible d'ajouter le PPA via Synaptic (Système > Administration > Gestionnaire de paquets Synaptic). Pour cela, il faut ouvrir la fenêtre de gestion des dépôts via Configuration > Dépôts, aller dans l'onglet Logiciels de tierces parties, cliquer sur le bouton Ajouter et entrer la première ligne (celle ne contenant pas deb-src) dans la fenêtre qui s'est ouverte. Enfin, pour valider l'entrée, il suffit de cliquer sur le bouton Ajouter une source de mise à jour.


Depuis quelques temps maintenant, Launchpad utilise une clé OpenPGP par PPA afin de signer les paquets. Donc pour éviter d'avoir une erreur lors des mises à jour, on ajoute la clé du dépôt de Pidgin :
~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1F196A8


Enfin, on peut mettre a jour notre version de Pidgin soit via le gestionnaire de mises à jour, soit avec Synaptic, ou encore en ligne de commande :
~$ sudo aptitude update
~$ sudo aptitude full-upgrade


Et il ne nous reste plus qu'à profiter de la voix et de la vidéo (que je n'ai pas eu le loisir d'essayer, si quelqu'un est intéressé faites moi signe) avec les protocoles XMPP (GTalk / Jabber) mais on peut, bien entendu, aussi profiter des autres changements.

- page 2 of 12 -