Posts filed under 'Linux'

Mise à jour d’Apache dans Sid…

Certains scripts PHP (par exemple Symfony) dépendent lourdement du fait que si on demande la page http://truc/machin.php/bidule/chose, et que http://truc/machin.php est un fichier PHP, alors c’est ce fichier qui est appellé. Le souci, c’est que dans lors de la dernière mise à jour d’Apache dans Sid, ça ne marche plus…

En fait ce comportement est lié à une directive de configuration AcceptPathInfo, qu’il faut placer à On.

Add comment February 27th, 2010

TeamSpeak Proxy

Si vous êtes un administrateur système, et que vous avez la gentillesse de bien vouloir laisser TeamSpeak passer sur votre firewall pour les pauvres étudiants de la résidence dont vous êtes l’administrateur qui ne pourraient sinon pas passer leur temps à jouer à WoW au lieu de travailler, alors vous avez probablement comme moi remarqué une chose : TeamSpeak n’a pas de port standard. Et c’est la merde ! Mon firewall se transforme peu à peu en gruyère…

Pour repousser la menace, j’ai donc décidé de coder un proxy pour TeamSpeak. Le principe est de l’installer sur une machine qui peut sortir sur tous les ports en UDP. Les clients utilisent un petit logiciel spécial pour ouvrir un canal temporaire le temps de l’utilisation de TS, et le proxy fait du port forwarding.

Pour l’instant

  • Le projet est hébergé sur Github, c’est aussi là que vous trouverez les tarballs, installeurs, …
  • Il y a un installeur pour le client sous Windows, pour les autres OS vous devez compiler le client à la main (c’est du C++).
  • Le serveur est codé en Python, et utilise Twisted. Il n’y pas de paquet Debian ou de truc du genre…
  • Pour le support de TeamSpeak 2, je suis à peu près sûr de moi, par contre ce qui est de TeamSpeak 3 c’est encore en version β, histoire de faire un peu moderne.

N’hésitez pas à me contacter si vous n’avez pas la moindre idée de comment ça fonctionne (ça se comprend, c’est moi qui ai codé…) mais que ça vous intéresse quand même :)

Add comment January 21st, 2010

Compiler Aegisub sous Debian (et Ubuntu ?)

Voulant faire du sous titre en ASS, le meilleur logiciel que j'ai pu trouver dans ce but est "Aegisub". Il a pas mal de fonctions, par contre pour le compiler c'est un peu la misère totale.

Sous Debian Sid, j'ai réussi avec la méthode que je vais détailler plus loin, mais c'est pas garanti que ça fonctionne avec toutes les cartes graphiques... Sous Ubuntu, ça devrait être à peu près pareil aussi.

Trève de bavardage, une fois les sources téléchargées (je vous laisse vous amuser à les trouver...), il faut se rendre dans le dossier, puis taper les commandes :

CODE:
  1. sudo aptitude install build-essential libglu1-mesa-dev libfreetype6-dev libfontconfig1-dev libwxgtk2.8-dev libwxbase2.8-dev intltool libhunspell-dev libopenal-dev libasound2-dev libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libpostproc-dev liblua5.1-0-dev libxext-dev
  2. LUA_CFLAGS=-I/usr/include/lua5.1 LUA_LDFLAGS=-llua5.1 ./configure
  3. make -j3
  4. sudo make install

Je garanti pas du tout que ça fonctionne, mais au moins y'a de bonnes pistes (par exemple, pour savoir comment avoir le support de Lua...)

Note : les dernières versions de Aegisub semblent demander WX Widget 2.9, et ce n'est toujours pas packagé dans Debian. Personellement je n'ai pas encore la force mentale pour arriver à compiler cette horreur, donc j'vais rester sur ma vieille revision tant pis...

Add comment September 23rd, 2009

Dual screen et xrandr

J'oublie toujours la commande, alors la voici.

xrandr --output VGA --auto --left-of LVDS

À noter que LVDS c'est l'écran de mon PC portable, et VGA c'est l'écran que j'ai à gauche du PC portable. Si vous voulez faire un truc plus compliqué ou différent, RTFM :P

Add comment September 17th, 2009

WoW… Grrrrr

Étant administrateur d'un réseau étudiant, j'ai souvent à faire avec des joueurs de WoW mécontent de la qualité de la connexion, voire même de l'impossiblité de se connecter... Quand la connexion est saturée, on peut comprendre que ça foire, mais là je me suis retrouvé face à quelqu'un qui n'arrivait plus du tout à se connecter. Après un peu de bidouille, entre les différents paquets de pollutions par les partages de fichier windows, j'ai fini par trouver le petit minuscule insignifiant paquet qui n'arrivait jamais à destination. En fait, il semblerait que le port de WoW ait changé (car ils utilisent un nouveau protocole si j'ai tout compris). Ce qui est cool, c'est que ça a l'air d'être un "standard", mais ce qui est pas cool, c'est que le port était pas ouvert...

Bref, tout ça pour dire que le nouveau port de WoW c'est 1116 en TCP.

J'en sais pas grand chose sur ce nouveau protocole, mais si il pouvait devenir un standard pour les jeux ça éviterai de transformer mon firewall en passoire, donc ça serait franchement cool que les éditeurs de jeux se mettent d'accord...

Par contre, je déteste encore plus WoW maintenant...

Add comment September 4th, 2009

Debian Sid, Hal et Synaptics

Pris d'une folle envie de réinstaller mon PC, je me suis retrouvé avec un Debian Sid tout à fait fonctionnel, au détail près que le touchpad ne fonctionnait pas... Argh !

Premier réflexe : installer synaptics
sudo aptitude install xserver-xorg-input-synaptics

Déjà à partir de là c'est mieux, tripoter le touchpad fait bouger le curseur de la souris. Mais il manque encore le clic quand on tapote, et le scroll. Il faut pour cela configurer HAL, afin qu'il fournisse au driver la configuration appropriée.
On trouve un exemple de configuration dans le fichier /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi. À la fin, la configuration doit être placée dans le fichier /etc/hal/fdi/policy/11-x11-synaptics.fdi

Pour ma part, le fichier contient la configuration suivante

XML:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <deviceinfo version="0.2">
  3.  <device>
  4.    <match key="info.capabilities" contains="input.touchpad">
  5.        <merge key="input.x11_driver" type="string">synaptics</merge>
  6.        <merge key="input.x11_options.SHMConfig" type="string">On</merge>
  7.        <merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">90</merge>
  8.        <merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
  9.        <merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
  10.        <merge key="input.x11_options.TapButton1" type="string">1</merge>
  11.        <merge key="input.x11_options.TapButton3" type="string">2</merge>  <!-- clic du milieu quand on tapote à 2 doigts -->
  12.    </match>
  13.  </device>

Cette configuration est "multi-touch", ce qui veut en gros dire que pour scroller (aussi bien horizontalement que verticalement ou en rotation), il faut poser 2 doigts sur le touchpad et effectuer le mouvement de scroll désiré.

Il y a aussi une simulation du clic du milieu en tapotant avec 2 doits.

Un dernier truc sympa, c'est le démon syndaemon qui sert à désactiver le touchpad quand on tape au clavier, par exemple avec la commande suivante
syndaemon -d -t -i 0.3

Add comment July 31st, 2009

Test antispam/antivirus

Si vous devez tester le fonctionnement d'un antispam ou d'un antivirus, il existe des chaînes considérées comme tel par les logiciels de protection.

Déjà pour le SPAM, voici le GTUBE (Generic Test for Unsolicited Bulk Email) : doit être placé dans un mail sans aucun espace ou retour à la ligne exactement la chaîne suivante :

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Ensuite pour les virus s'applique fichier de test EICAR, à savoir un fichier dont le seul contenu est :

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Add comment June 2nd, 2009

Debian experimental, Kmail et GPG

Depuis peu, je me suis mis à signer frénétiquement tous mes mails à l'aide de ma clef GPG. Au début ça marchait plutôt bien dans Kmail, jusqu'à ce que je réinstalle Debian en version instable avec un KDE 4.2 tiré de expérimental. En dehors d'une grande bataille avec evdev, je me suis retrouvé avec un Kmail qui refusait de signer mes mails... La solution ? Installer les paquets gnupg-agent et pinentry-qt4 :

sudo aptitude -t experimental install gnupg-agent pinentry-qt4

Attention, ça ne marchera pas directement après l'installation des paquets, il faut d'abord redémarrer le serveur X (qui va s'occuper de lancer le gnupg-agent), ou alors lancer gnupg-agent à la main, mais j'vous laissez vous amuser à le faire tout seul :)

Add comment March 2nd, 2009

Empreintes digitales

J'ai en ma possession un Lenovo avec un joli lecteur d'empreintes digitales qui ne me sert à rien, et que jusque là j'avais eu une flemme monstre de configurer. Mais là il se trouve que j'ai quelques minutes à attendre, alors pourquoi pas s'y mettre (malgré la tonne trucs que je dois faire).
Donc manifestement c'est un peu le bazar ces histoires d'empreintes digitales, mais le logiciel qui semble émerger comme "standard" est fprint (ceci dit la dernière release date de fin 2007, et c'est pas mieux chez la concurence... décidément tout le monde s'en fout des empreintes digitales). Petite note : je fais la manip sous Ubunt Hardy Heron, mais ça doit pas être mortellement différent sous une autre distro.

Donc ben commençons. Visiblement madman2k avait fait des paquets, mais il a l'air de les avoir virés de son dépôt, donc on va faire à partir du code source.
Il y a 3 éléments à télécharger sur sourceforge : fprint_demo qui est un GUI qui montre ce que fprint peut faire, libfprint qui est le cœur du logiciel, et enfin pam_fprint qui sert à faire sauter le PC si l'authentification échoue ajouter la gestion de fprint dans PAM. Pour ma part j'ai tout téléchargé et décompressé dans /usr/src.

Une fois que c'est fait, il faut installer les dépendances de compilation, ce qui revient sous ubuntu à faire

aptitude install build-essential libusb-dev libssl-dev libglib2.0-dev libmagick9-dev libpam-dev libgtk2.0-dev

La compilation est tout ce qu'il y a de plus classique. On va commencer par libfprint :

cd /usr/src/libfprint-0.0.6
./configure --prefix=/usr
make -j3
sudo make install

(note : le -j3 du make n'est pas du tout nécessaire, c'est juste pour dire d'utiliser 3 threads; d'après la doc de gentoo le mieux est d'utiliser [nombre de cœurs] + 1 threads, et vu que j'ai un dual core, ben ça fait 3 threads)

Allez maintenant on fait le module PAM (oui c'est pareil que l'autre)

cd /usr/src/pam_fprint-0.2
./configure --prefix=/usr
make -j3
sudo make install

Et on fini avec l'outil de demo

cd /usr/src/fprint_demo-0.4
./configure --prefix=/usr
make -j3
sudo make install

Vous pouvez maintenant tester fprint_demo pour voir si ça marche bien. Bon chez moi ça a scanné mon doigt une fois et puis après ça s'est figé même après l'avoir relancé plusieurs fois et avoir supprimé le dossier de préférences....

On passe donc maintenant à la configuration de PAM, qui en fait est ce qui compte vraiment dans ce tuto.
Il faut donc aller modifier l'horriblement mal documenté PAM, et son fichier /etc/pam.d/common-auth
Donc théoriquement vous avez une ligne qui ressemble à

auth    required        pam_unix.so nullok_secure

Avant, ajoutez y la ligne

auth    sufficient      pam_fprint.so

Le nombre de fois que cette ligne apparaît correspond au nombre d'essais que vous avez (ça me semble foireux ça... si quelqu'un a une idée mieux je suis prenneur). Dans /etc/pam.d il y a plusieurs fichiers de configuration, genre "gdm" ou "sudo", dans lesquels vous pouvez ajouter cette ligne pour ajouter l'authentification par emprunte digitale à ce service uniquement.

Il ne vous reste maintenant plus qu'à « enrôler » vos doigts, c'est à dire à taper la commande pam_fprint_enroll. Voici l'aide

Usage: pam_fprint_enroll options
        -h      --help                  Display this usage information.
        -f      --enroll-finger index   Enroll finger with index.

        Valid indexes are:
        1 - Left Thumb
        2 - Left Index Finger
        3 - Left Middle Finger
        4 - Left Ring Finger
        5 - Left Little Finger
        6 - Right Thumb
        7 - Right Index Finger
        8 - Right Middle Finger
        9 - Right Ring Finger
        10 - Right Little Finger

Et voici un exemple d'usage (pour enregister l'index droit) :

pam_fprint_enroll --enroll-finger 7

Et voilà normalement là PAM vous demande de scanner votre doigt (sauf pour gksudo visiblement) quand il faut vous identifier. Le seul truc c'est que pour l'instant il a jamais voulu reconnaitre mon doigt... Ça viendra peut être un jour ?

Edit : c'est venu \o/ En fait il faut bien poser son doigt à plat sur le lecteur, sinon ça marche pas...

Add comment September 23rd, 2008

Comprendre les librairies sous linux

En cherchant à faire ce que j'ai marqué dans le titre de ce billet, je suis tombé sur ce howto qui me semble assez complet :

--> http://www.dwheeler.com/program-library

Add comment November 29th, 2007

Previous Posts


Calendar

March 2010
M T W T F S S
« Feb    
1234567
891011121314
15161718192021
22232425262728
293031  

Posts by Month

Posts by Category

Wikipedia Affiliate Button