[technique] Puberté d'un scanner, network-manager détesté

[ Thread Index | Date Index | More alpinux.org/technique Archives ]


Bonjour,

Une grande frustration, à la hauteur de mes espoirs initiaux, me donne
envie de partager ce qui suit.

Depuis longtemps, la configuration d'un scanner me résistait sur une
machine Ubuntu 12.04. La bête n'était détectée par SANE ni en USB ni en
réseau, ce qui est tout de même relativement rare pour des scanners
grand public.

Le constructeur a bien écrit son propre pilote propriétaire pour Linux,
mais c'est une plaie à installer (le pilote a vieilli, les distrib' ont
évolué, il faut patcher un peu), et l'interface n'utilise pas SANE, ce
qui n'est ni pratique ni agréable.

J'ai fini par trouver la solution : il suffisait de mettre à jour SANE,
qui est trop vieux dans precise. La version dans quantal convient : en
attendant la prochaine LTS pour mettre à jour précise, je mets à jour
juste la libsane sur la machine à grands coups d'apt-pinning. Me voici
avec un libsane tout neuf, qui reconnait désormais mon scanner.

En général, c'est le moment où j'apprends aux étudiants que si ça
marche, il ne faut plus réparer. Mais comme je ne fais pas ce que je
dis, l'histoire continue un peu.

Au cours de mes voyages sur le web pour faire marcher ce scanner, je
suis tombé par hasard sur cette page
<https://wiki.archlinux.org/index.php/Scanner_Button_Daemon>

En résumé : de nombreux scanners actuels disposent de boutons en façade
(scan, envoyer par e-mail, sauvegarder, etc.) dont le seul but est de
servir de raccourcis pour lancer les applications correspondantes sur le PC.

Le programme scanbd est démon qui va lire l'état de ces boutons, pour
pouvoir faire réagir votre Linux favori : par exemple, pour ouvrir un
message vierge dans Thunderbird, avec un PDF en pièce-jointe quand vous
pressez le bouton "Envoyer par e-mail" du scanner.

Chic, une nouvelle fonctionnalité à faire marcher.

Je compile, j'installe le bazar, je le configure. Ça commence à bien
marcher, il voit deux boutons et parvient à me dire que je n'appuie pas
dessus, ce qui est le cas.

Le démon envoie des notifications aux autres applications via DBus :
pour cela, il faut lui donner le droit de se connecter à DBus avec un
fichier à mettre dans /etc/dbus-1/.

Je dois dire à DBus de lire mon nouveau fichier. Pensant bien faire, je
tape :
# sudo service dbus restart

Et là, c'est le drame. Car toute mon histoire se passait sur un PC
distant, sur lequel j'étais connecté en SSH, et sur lequel je n'avais
pas (encore) viré network-manager. Or, quand on arrête DBus,
network-manager ne trouve rien de plus intelligent à faire que de couper
la connexion réseau. Et, pour une fois, ça, il le fait bien : exit ma
session SSH avant que dbus n'ait une chance de redémarrer.

J'étais très content d'avoir fait marché le scanner, d'avoir découvert
scanbd pour utiliser les boutons, et j'espérais tester. Il n'en sera
rien : je dois attendre que quelqu'un se déplace devant la machine pour
la redémarrer à cause d'un network-manager qui n'est jamais parvenu à
faire correctement son boulot (configurer le réseau), mais réussit à
merveille sa tâche secondaire, pourrir tout le reste.

Vous me copierez 1024 fois : « je ne dois pas restarter dbus, je dois le
reloader ».

-- 
Florian Hatat




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/