Scanner sous Linux

Parfois il est nécessaire de créer une règle UDEV (de « dev », périphérique) afin qu’un scanner soit pris en compte, après avoir installé le pilote. Je ne me souviens pas toujours de la bonne syntaxe pour les règles UDEV.
Voici un tuto en anglais récupéré depuis le site web « pigeon nest » qui semble ne plus être en ligne et qui fournit la bonne syntaxe pour le fichier de règles UDEV, concernant les scanners. (Je le traduirai un jour prochain si j’ai envie de prendre le temps).

***********************************

Ubuntu: udev rules for USB scanner

How to create a udev rule to get a USB scanner working in Ubuntu jaunty.

Assumes that: (1) user is a member of group « scanner », (2) sane is installed.

Symptoms of problem: « sane-find-scanner » detects the existence of the scanner, but « scanimage -L » does not report it when run with user permissions, only when run with root permissions. Scanning works as root, but not as a normal user.

1) Run « lsusb » to find the scanner’s manufacturer and device IDs. Example output:

$ lsusb
Bus 003 Device 014: ID 04b8:012e Seiko Epson Corp.
Bus 003 Device 012: ID 046d:c408 Logitech, Inc. Marble Mouse (4-button)
Bus 003 Device 011: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 013: ID 04b8:0005 Seiko Epson Corp. Stylus Printer
Bus 001 Device 001: ID 0000:0000
$

In the above example, the first line relates to the scanner… in this case an Epson Perfection V200… it is somewhat unhelpful that this particular scanner’s text ID string is nothing more than « Seiko Epson Corp. », but it is easy to determine that that device is indeed the scanner by running « lsusb » both with and without the scanner plugged in.

The four-digit hex number « 04b8 » is the manufacturer ID (observe that the Epson printer on the penultimate line has the same manufacturer ID), and « 012e » is the device ID.

2) Create a file /etc/udev/rules.d/40-scanner.rules containing the following (your browser may have wrapped this; it should be all on one line):

SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="012e", ENV{libsane_matched}="yes", GROUP="scanner"

Of course you will substitute the appropriate values for your scanner, obtained from « lsusb », for the idVendor and idProduct entries.

The SUBSYSTEMS and ATTRS entries have double == signs whereas the ENV and GROUP entries have single = signs. This is not a typo.

3) Restart udev:

$ sudo /etc/init.d/udev restart
* Stopping kernel event manager… [ OK ]
* Starting kernel event manager… [ OK ]
$

4) Unplug the scanner and plug it in again.

5) Check that it has obtained the correct permissions. Run « lsusb » again to determine the bus and device IDs – they will have changed due to the unplugging and replugging. Then check the appropriate device node in /dev/bus/usb:

$ lsusb
Bus 003 Device 015: ID 04b8:012e Seiko Epson Corp.
Bus 003 Device 012: ID 046d:c408 Logitech, Inc. Marble Mouse (4-button)
Bus 003 Device 011: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 013: ID 04b8:0005 Seiko Epson Corp. Stylus Printer
Bus 001 Device 001: ID 0000:0000
$ ls -l /dev/bus/usb/003/015
crw-rw-r-- 1 root scanner 189, 269 Apr 24 19:10 /dev/bus/usb/003/015
$

If the output corresponds with the above, all should be well, and running « scanimage -L » with user permissions should now pick the scanner up:

$ scanimage -L
device `epkowa:libusb:003:015' is a Epson Perfection V200 flatbed scanner
$

Note that the V200 requires a driver. Two packages, iscan and iscan-plugin-gt-f670 (apparently the V200 is also called that sometimes) must be installed, before carrying out the procedure described above. The latest versions (iscan is up to 2.30 at the time of writing) are available on Epson’s website (used to be on Avasys’s). I tried these, for experiment. They didn’t work. I cannot now remember how or why they didn’t work. The reason I can’t remember is because I also don’t care. The reason I don’t care is because I have older versions installed and they work just fine. Here are tarballs of the versions I am using, containing both the i386 and amd64 versions of the packages:

iscan_2.19.0-4doctormo2_orig_and_debs.tar.gz
iscan-plugin-gt-f670_2.1.2-1_rpms_and_debs.tar.gz

You don’t, of course, need this driver if your scanner is not a V200; you need only the udev rules. A few other scanners also require their own specific drivers, but the majority of scanners do not. Use the SANE project database to check the compatibility and requirements of your particular scanner.

 

 

 

Comment traduire une application

Source de l’article, intégralement copié:

http://pclinuxos-fr.org/2011/01/15/howto-translate-ou-comment-traduire-une-application

Ce tutoriel est une traduction de celui rédigé par Pinoc, sur le forum de PCLinuxOS. Il s’applique aux paquets RPM, et peut aussi être transposé à d’autres formats de paquet, selon votre distribution.

Pinoc commence ainsi:
Peut-être pouvons-nous utiliser ce post (Howto translate) pour recueillir, mettre à jour, ou modifier toutes informations utiles nécessaires aux traductions.

Plus d’informations sur les commandes ci-dessous peuvent être trouvées à l’aide de la konsole (ou un autre terminal) ‘man <commande>’ (<où > commande peut être tr / min, msgfmt, etc) et bien sûr il y a aussi Google…

Supposons que nous nous penchions sur l’application Synaptic (ceci est aussi vrai pour n’importe quelle autre application) et que nous nous intéressions à la locale « fr » (où « fr » correspond au français tout comme « de » correspond à l’allemand et « it » à l’italien, etc… disons génériquement « <yy> »). Les informations relatives à la langue, à l’intérieur d’un paquetage rpm, sont contenues dans les fichiers « mo » qui sont habituellement stockés sous /usr/share/locale/<yy>/LC_MESSAGES/.

Les fichiers « mo » sont les versions compilées des fichiers éditables « po », aussi les fichiers « po » sont ceux où la traduction est en fait réalisée. Quand vous avez fini de traduire le fichier « po » et que vous l’avez converti en un fichier « mo », ce fichier « mo » devra être proposé aux packagers de PCLinuxOS pour être inclus dans un paquet rpm lors de sa prochaine mise à jour.

Comment traduire / éditer les fichiers po

Tout d’abord installez, via Synaptic, l’application « poedit » qui est un excellent outil de traduction.

Lancez Poedit:

  • Sous « Catalogue », vous trouvez une entrée qui permet de « traduire automatiquement » mais je n’ai jamais essayé.
  • Assurez-vous de vérifier dans: Catalogue -> Configuration -> Onglet Informations que vous avez spécifié un nom de projet valide et la version, sinon vous ne pouvez pas enregistrer votre travail de traduction.
  • Veuillez également compléter les autres champs, en particulier « Jeu de carectères: iso-8859-15 » et « Jeu de caractères du code Source: utf-8 ».
Comment convertir un fichier « mo » <–> en fichier « po »

Pour convertir un fichier « mo » en un fichier éditable « po », il suffit d’utiliser la commande suivante:

msgunfmt synaptic.mo -o synaptic.po

Et inversement, pour convertir le fichier éditable « po » en un fichier « mo », la commande sera:

msgfmt synaptic.po -o synaptic.mo
liste Howto / extraire les fichiers mo

a) à partir d’un paquetage rpm/deb

Pour voir quels fichiers de langue sont déjà disponibles à l’intérieur d’un paquetage rpm, faites la commande suivante :

rpm -qlp <chemin complet vers>/synaptic-0.57.2-20pclos2007.i586.rpm | grep synaptic.mo

Ou utilisez la même commande sans « | grep synaptic.mo », simplement pour lister le contenu de l’archive rpm.

D’autres infos utiles peuvent être obtenus avec la commande :

rpm -qip <chemin complet vers>/synaptic-0.57.2-20pclos2007.i586.rpm

Pour extraire les fichiers d’une archive, copiez l’archive dans un nouveau dossier vide, puis dans ce nouveau dossier, utilisez la commande:

rpm2cpio synaptic-0.57.2-20pclos2007.i586.rpm | cpio -idmv

Si vous trouvez quelque chose d’intéressant à l’intérieur d’une archive deb, utilisez la commande:

xv <quelquechose>.deb

b) à partir de scripts bash

Par exemple à partir du script « update-notifier  » (remplacer update-notifier par le nom du script que vous voulez traduire), allez dans votre répertoire home (commande: cd ~) et entrez:

bash --dump-po-strings /usr/bin/update-notifier | xgettext -L PO -o ~/update-notifier.pot -

Ensuite, entrez la commande:

msginit -l fr -i ~/update-notifier.pot -o ~/fr.po

Cet exemple est pour l’extraction des informations en langue française (fr), (changez « fr » par le code iso de la locale sur laquelle vous voulez travailler). Informations complémentaires: Localizing Bash scripts

Note: vous devez insérer le signe dollar ($) devant chaque entrée de texte dans votre script bash pour que la commande ‘bash –dump-po-strings’, tel ci dessus, reconnaisse la chaine de traduction par exemple :

zenity --error --text=$"Please run this script as root.\n\nExiting..."
Modifier un fichier PO (par exemple pour GetOpenOffice)

Ouvrez le fichier « po » avec poedit, aller au menu « Catalogue > Paramètres », onglet « Info Projet » : dans le champ « Nom du projet et version » insérez: « GetOpenOffice 0.6 », insérez votre langue et le pays et dans la rubrique « charset code source »: utf-8. Vous devez compléter ces champs sinon vous ne pourrez pas enregistrer le fichier modifié !

Localisation d’infos sur le web

Traduction : mypclinuxos , Ubuntu-Launchpad, firefox-addon, le ‘KlipOQuery ‘-panelapplet peut être installé via Synaptic et transférera le contenu du presse-papier au service de traduction sélectionné. KDE / Gnome: kde-l10n, gnome-i18n, kde-i18n, KDE-Localization

Locales: Locales, ISO_639

Si vous connaissez d’autres outils utiles, des applications, liens, tours de magie, ou que ce soit d’autre, alors s’il vous plait faites le nous savoir afin que nous puissions l’ajouter ici.

En espérant que cela vous aide, bonne chance,

Pinoc

swapfile sur btrfs et Ubuntu 20.04

L’activation du fichier swapfile échouait avec ce message :

sudo swapon /swapfile : echec de swapon : argument invalide

Après avoir galéré cherché sur le web pendant 5 à 10 minutes pour trouver la « formule magique » qui allait me permettre d’activer un fichier de swap sur un SSD, j’ai trouvé l’information dans les commentaires de cette page de rapport de bug : +bug/1788321.

J’ai fait de même, hormis pour le nom du fichier, je l’ai nommé “swapfile”. Et déjà positionnée à la racine du système j’ai utilisé le chemin relatif dans mes lignes de commande au lieu du chemin absolu. (donc ‘swapfile’ au lieu de ‘/swapfile’).

$ sudo touch swapfile
$ sudo chattr +C swapfile
$ sudo fallocate -l 1G swapfile
$ sudo chmod 600 swapfile
$ sudo mkswap swapfile 
Configure l'espace d'échange (swap) en version 1, taille = 1024 MiB (1073737728 octets)
pas d'étiquette, UUID=5a58f21f-7b7e-48f4-afb3-e3becbb279f0
$ sudo swapon swapfile
$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/zram0 partition 867,3M 1,3M 5
/swapfile file 1024M 0B -2
$ sudo mcedit /etc/initramfs-tools/conf.d/resume

Et dans le fichier resume créé un peu plus tôt, j’ai ajouté:

RESUME=UUID=5a58f21f-7b7e-48f4-afb3-e3becbb279f0

Le fichier /etc/fstab contenait déjà la ligne pour swapfile:

/swapfile none swap sw 0 0

Après un redémarrage, tout était bien pris en compte.

Sécurité par le .htaccess

Vous avez un site web, et vous voudriez qu’il soit aussi à l’abri que possible des attaques ? Assurez-vous que les fichiers du moteur qui propulse votre site ne puissent pas être visibles depuis le web ou même listés par des programmes ratissant le web à la recherche de sites internet vulnérables.

Que faudrait-il ajouter à la racine du site, dans le fichier .htaccess ?

Options All -Indexes
<FilesMatch ^wp-config.php$>
deny from all
</FilesMatch>

La première ligne interdit l’accès aux listes des fichiers du site wesb (comme les fichiers d’une installation WordPress).

Les lignes suivantes concernent spécifiquement les sites WordPress et protègent le fichier de configuration qui contient les informations clé de l’installation.

Créer une ancre sans plugin avec WordPress

Source et cible

Vous écrivez un article. Et vous voulez placer un renvoi depuis une partie du texte vers une autre partie de votre texte. ⌨️ Vous allez créer une ancre en plaçant un petit code aux endroits voulus.

Pour la créer cette ancre vous pouvez utiliser un code depuis le texte qui source du renvoi et une ancre ⚓ dans la section cible du contenu de votre joli blog ! 😊

D’abord, le code qui permettra de faire le renvoi. Disons que vous écrivez un tutoriel. Par exemple,

<a href="#grub">Installation du chargeur de démarrage</a>

puis l’ancre: ⚓

<a name="grub"></a>
<h4>Installation du chargeur de démarrage</h4>

Ensuite  rendez-vous à la section →

<a href="#grub">Installation du chargeur de démarrage</a>

quelques lignes plus bas. 🤔

L’exemple présenté est tiré de cette page : http://pclinuxos-fr.org/2010/10/23/installer-pclinuxos-2010

Si chemin faisant vous voulez mettre du texte en gras, mettez-le autour du texte visible, à l’intérieur des balises “<a href” …

Je vous propose de découvrir plus de méthodes pour créer des ancres et des exemples + des avantages et inconvénients autour de l’utilisation des ancres dans vos textes avec un article chez Kinsta.com.

Votre WordPress en multisite

Installer WordPress pour en faire un multisite

Quand on veut un blog, on installe WordPress. Quand on veut un site, on installe WordPress. Un simple réglage permet de choisir entre l’un ou l’autre. Et quand on veut un site avec 5 ou 6 pages, un blog, une e-boutique, et des versions en différentes langues, on veut un multisite.

Par exemple, Citrotux.org est mon premier multisite. Il m’a servi à faire des tests surtout au début, et par la suite j’y ai ajouté des sous-sites précédemment installés ailleurs.

Multisites Citrotux

 

Pour parcourir un chemin de mille lieues commençons par faire un site !

Continuer la lecture

Installation Windows 10 + Linux avec USB et Grub2

En préambule, cet article s’adresse à des utilisateurs curieux ou moyennement avancés.

Préparer une installation Windows depuis GNU/Linux

Que faire quand on n’a pas de DVD assez gros pour des images disque de plus de 5 Go ? Et si en plus on n’a pas de système Windows sous la main et qu’on ne peut pas utiliser les méthodes les plus souvent trouvées sur Internet ? 😮 Réponse : on démarre l’installation avec Grub2. 😀

Boitier USB pour HDD ou SSD

Boitier USB pour HDD ou SSD

En prime on pourra aussi préparer notre périphérique pour démarrer des distributions Linux ! 😎 ❤️

Continuer la lecture

Mettre à jour WordPress : action !

Le dernier billet titrait Mettre à jour WordPress : les sauvegardes, maintenant nous allons faire les mises à jour. Nous aurons à mettre à jour des extensions, des thèmes, et le moteur WordPress lui-même.

Mises à jour thèmes et extensions

Continuer la lecture