Souris Scanner IrisScan sous Linux¶
Tout l'intérêt de cette souris est dans le soft qui la contrôle: il permet de recoller les bouts d'images scannées et accessoirement de reconnaître les caractères dans l'image.
Pour les enfants dis ou assimilés, ça leur permet de scanner en classe les cours pris par leurs copains, ou de scanner le document distribué pour répondre sur le doc en écrivant au clavier.
Problème: Il n'existe qu'une seule marque qui fasse ça et elle n'édite son soft que pour Windows.
Solution explorée : le soft constructeur dans windows 10 dans une vm Xen pilotée avec Virsh, qui échange les images avec l'OS debian par un samba et le tout piloté par un script bash qui gère tout ce petit monde.
Investigation¶
Install de win10 iso téléchargée chez M$
désinstallation de cortana:
* tuto : https://www.windowscentral.com/how-uninstall-cortana-windows-10-may-2020-update
* powershell as admin : Get-AppxPackage -allusers Microsoft.549981C3F5F10 | Remove-AppxPackage
et de quelques autres trucs : Skype Xbox etc...
Téléchargement de Iriscan mouse2executive.exe sur le site irislink.com
Plus assez de place pour installer le soft :/ la fresh install nettoyée fait 11,6Go
et le stockage qcow fait 12 Go
J'agrandis la qcow de 12 à 17Go : * https://fatmin.com/2016/12/20/how-to-resize-a-qcow2-image-and-filesystem-with-virt-resize/ * https://mike42.me/blog/how-to-resize-a-windows-vm-image-with-virt-resize * qemu-img resize image.qcow2 +5G * cp image.qcow image-orig.qcow * puis creation d'une nouevlle image de 17Go et expand
ça a marché.
Win 10 fonctionne mais pas la souris scanner sauf si je rajoute manuellement.
Réalisation de deux scripts :
- scan-souris-start.sh
code à pousser
- scan-souris-stop.sh
code à pousser
La vm est arrêtée et redémarré par virsh save et virsh restore,
sinon le W10 redémarre depuis 0 lorsque l'on reboote l'hôte.
Attention : il est impératif de démonter la souris scanner avec virsh avant de save la vm sinon elle ne redémarre plus.
Il reste enfin à installer un echange samba :
https://www.redhat.com/sysadmin/samba-windows-linux
Et si possible à rendre les scripts executables sans mdp.
J'ai cassé le windows dans la vm, faut en ré-installer un...
Veille de souris dans Linux¶
Tests effectués sous debian 10/11
La souris se met en veille par défaut très rapidement ce qui induit des erreurs de clics.Afin de régler ce problème, on utilise powertop en CLI.
sudo powertop
Par défaut elle est réglée sur "good" qui est le mode économie d'énergie par défaut. Il faut la passer à "bad".
Note: malgré cette modif le comportement revient. l'explication
Astuce: il suffit de débrancher rebrancher la souris et ça ne le fait plus.
Ajouter une interface réseau¶
Pour ajouter notre interface réseau virtuel nous allons nous baser sur l'interface virbr0 qui existe déjà. Pour voir les interfaces déjà existantes, il faut faire "ip a".
Une fois que l'on sait sur quel interface nous allons faire notre interface virtuel, il suffit d'éditer le fichier /etc/network/interfaces et d'ajouter à la fin :
auto virbr0:1
iface virvr0:1 inet static
address 192.168.127.122
network 255.255.255.248
gateway 192.168.127.121
---
Pour modifier sur la vm il faut faire passer l'interface réseau en mode "bridge" puis indiquer l'interface virbr0:1 et actualiser l'adresse IP.
Pour modifier côté windows il faut faire clique droit sur l’icône de réseau, puis ouvrir les paramètres réseaux, ensuite descendre dans les paramètres et cliquer sur "Centre Réseau et Partage". Sur le volet à gauche de ce dernier, cliquer sur "Modifier les paramètres de la carte", clique droit sur l'interface puis propriétés. Sélectionner "Protocole IPv4" et insérer comme informations :
Adresse Ip: 192.168.127.123
Masque de sous-réseau: 255.255.255.248
Passerelle par défaut: 192.168.127.121
Note : pour le linux, il y a possibilité que la passerelle devienne la passerelle par défaut, il ne faudra supprimer que la passerelle par défaut et non la passerelle en elle-même.
ip route del default via 192.168.127.121
#installer samba
apt install samba
#ajout utilisateur
adduser useurvm
#il est ensuite fortement conseillé de faire la modification suivante pour protégé son linux
#supression mot de passe
vim /etc/shadow
#(/!\ attention de ne pas modifier autre chose /!\) et remplacer le mdp ( useurvm:$6$azertyuiop:12345:... -> useurvm:*:12345:)
# en faisant ça il sera impossible de se connecter sous cette utilisateur là
#ajout mot de passe que pour le service samba
smbpasswd -a useurvm
#modifier le fichier de configuration et mettre ceci
vim /etc/samba/smb.conf
#ne pas mettre le même nom que le dossier sinon ça ne fonctionne pas apparemment
[souris-scan]
comment = Dossier partage souris
#chemin absolue du dossier
path = /home/useur/scan-souris
#autorisation lecture / écriture
browseable = yes
writable = yes
#force l'utilisateur et le groupe lors de la création de dossier et fichier
force user = useurvm
force group = useur
#permission dossier / fichier
directory mask = 0775
create mask = 0664
#ip vers la vm et interface réseau correspondante
interfaces = 192.168.127.122/29 virbr0:1
Il faut ensuite changer les permissions et le propriétaire du dossier scan-souris.
chmod 775 /home/useur/scan-souris
chown useurvm:useur /home/useur/scan-souris
Ajout "emplacement réseau" Windows¶
Ouvrir l'explorateur de fichier
Sur le menu à gauche dans l'explorateur faire clique droit sur "Réseau"
Ensuite cliquer sur "Ajouter un emplacement réseau"
Faire suivant
Pour l'adresse mettre "\\IP\souris-scan" (dans notre exemple \\192.168.127.122\souris-scan)
Une fois ajouté, Il est désormais visible dans le raccourcit "Ce PC" (menu à gauche)
Script général¶
à côté : rendre bloquant les matières (modif scripts matières)
- Restaurer la vm
- Attacher la souris
- lancer la fenêtre
- vérifier la présence de documents scannés
- les déplacer et renommer avec horodatage dans le répertoire linux adéquat (matière ou scan)
- Indiquer fin scan 3* enter
- détacher la souris
- enregistrer la vm
/!\ Pour faire de windows vers linux il faut dans la configuration du linux baisser le protocole minimum /!\
Pour se faire il faut modifier le fichier /etc/samba/smb.conf et ajouter dans la section "[global]" la ligne suivant : client min protocol = NT1