Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » [Tutoriel] Monter une Graph 90 en utilisateur sous Linux
LephenixnoirEn ligneAdministrateurPoints: 17180 Défis: 142 Message

[Tutoriel] Monter une Graph 90 en utilisateur sous Linux

Posté le 24/08/2018 18:29

Ce tutoriel est destiné à des utilisateurs Linux intermédiaires. Il s'agit d'autoriser un utilisateur ou un script à monter une Graph 90 en USB sans droits root. Je fais ça avec udev ; ceux qui ont des configs sans systemd n'ont probablement pas besoin de ce tuto.

Le truc qui tape sur le système quand on utilise une Graph 90, c'est que si elle n'est pas montée rapidement (10~15 secondes), elle se déconnecte toute seule !


Monter manuellement la calculatrice

Pour monter la machine, la première chose à faire est de connaître son nom de périphérique dans /dev. Une fois la calculatrice en mode réception, localisez avec fdisk -l (en root) le système de fichiers FAT de 16M ; cette fois-là, chez moi, c'était /dev/sdb.

Disk /dev/sdb: 16.1 MiB, 16852480 bytes, 32915 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start   End Sectors  Size Id Type
/dev/sdb1          29 32914   32886 16.1M  e W95 FAT16 (LBA)

Ensuite vous pouvez la monter comme n'importe quelle système de fichiers avec mount, par exemple :

# mount /dev/sdb1 /run/media/prizm

Pareil pour la démonter avec unmount. Elle ne se déconnecte toutefois pas automatiquement ; un coup de eject est nécessaire. eject peut renvoyer une erreur mais déconnecter quand même.

# unmount /dev/sdb1
% eject /dev/sdb


Autoriser un utilisateur à monter la Graph 90

L'idée est d'ajouter une entrée au fstab qui donne à un utilisateur le droit de monter sans root. Pour cela, il faut spécifier un identifiant unique et des options de montage. Typiquement, l'identifiant unique est un UUID, mais la Prizm n'en a pas (essayez blkid lorsqu'elle est montée).

À la place, on peut utiliser le nom de périphérique /dev/sdb1, mais il change tout le temps. Je propose donc d'en fixer un bien unique comme /dev/Prizm1 en utilisant une règle udev. Commencez par localiser le nom de modèle de la machine en l'ayant monté manuellement. Faites attention aux espaces ; copiez tout de ATTRS au guillemet fermant.

% udevadm info -a /dev/sdb1 | grep model
    ATTRS{model}=="ColorGraph      "

Dans /etc/udev/rules.d, créez un fichier sous le nom 60-prizm.rules (le 60 définit la priorité de la règle) avec les contenus suivants :

ATTRS{model}=="ColorGraph      ", SYMLINK+="Prizm%n", OWNER="lephe"

La première partie avec ATTRS{model} permet de sélectionner la Graph 90 ; ensuite SYMLINK définit des liens symboliques type /dev/Prizm1 -> /dev/sdb1 et OWNER (avec votre nom d'utilisateur évidemment, pas le mien) indique le propriétaire du périphérique. C'est ça qui va nous permettre de passer à fstab.

Rechargez les règles de udev :

# udevadm control --reload

Vous devez maintenant voir apparaître des liens symboliques /dev/Prizm* quand vous branchez la machine.

Ajoutez ensuite une entrée à la fstab, pour fixer le point de montage par défaut et autoriser le propriétaire à monter le système de fichiers. Dans mon cas le point de montage sera /run/media/prizm, cela me donne donc :

/dev/Prizm1    /run/media/prizm    vfat    defaults,noauto,owner    0    0

L'option noauto permet de ne pas monter la machine au démarrage, et owner autoriser le OWNER défini dans la règle udev à monter la calculatrice sans droits root.

Vous pouvez désormais brancher la machine et taper mount /dev/Prizm1 pour la monter automatiquement. Ça marche aussi depuis un script/Makefile/whatever et évite les droits root.

Voilà, c'est à peu près tout ! Je cherche encore à trouver comment la monter automatiquement avec autofs, ce qui ne se passe pas encore très bien, donc la méthode va sûrement évoluer !



Breizh_craftEn ligneModérateurPoints: 1020 Défis: 7 Message

Citer : Posté le 24/08/2018 18:59 | #


Il me semble que la Graph90 est vue comme une simple clef USB / carte SD / etc., une fois branchée à un PC.

Du coup je pense qu'il suffit de traiter le problème de la même façon qu'une clef USB. Sur la plupart des distributions, ça juste marche©ra, et sur les autres, faut voir du côté de gvfs et udisks. J'ai pas ce qu'il faut pour tester, donc je peux pas valider cette idée.

Évidemment, avec le délai de timeout, il est mieux d'avoir configuré le montage automatique, la plupart des environnements de bureau le propose. Sinon faudra être rapide.
Un adminsys qui aime les galettes.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 53 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd