3 votes

Comment faire en sorte que gvfs monte automatiquement les périphériques amovibles lorsque l'on n'utilise pas Unity ou Gnome Shell.

En 13.04, j'ai abandonné Unity au profit d'une session Gnome avec i3. Ma configuration est basée sur celui-ci .

$ cat /usr/share/xsessions/gnome-i3.desktop
[Desktop Entry]
Name=GNOME with i3
Comment=A GNOME fallback mode session using i3 as the window manager.
Exec=gnome-session --session=i3
TryExec=gnome-session
Icon=
Type=Application

$ cat /usr/share/gnome-session/sessions/i3.session
[GNOME Session]
Name=gnome-i3
RequiredComponents=gnome-settings-daemon;i3;

Dans la version 13.04, et aussi dans la version 13.10, le montage automatique fonctionnait comme dans Unity. Si je branchais un disque amovible (ex : une clé USB), il se montait à /media/$USER/$VOLUME_LABEL .

Sous 14.04, cela fonctionne toujours si j'utilise Unity, mais plus dans ma session préférée Gnome+i3.

Si je démarre Nautilus (dans une session Gnome+i3) après avoir branché un disque, je peux voir le disque non monté dans le panneau de gauche, mais il n'y a pas de bouton d'éjection. Il n'apparaît pas non plus dans la sortie de df . Si je clique ensuite sur le lecteur, un bouton d'éjection apparaît, et il apparaît également dans la sortie de df . Il semble donc que Nautilus monte les volumes "à la demande".

J'ai également découvert que je pouvais exécuter gvfs-mount -oi pour voir les événements gvfs au fur et à mesure qu'ils se produisent, et lorsqu'un disque est attaché, il génère une paire d'événements comme celui-ci :

Drive connected:    'Lexar USB Flash Drive'
  Drive(0): Lexar USB Flash Drive
    Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
    ids:
     unix-device: '/dev/sdg'
...

Volume added:       'ALLMYDATAZ'
  Volume(0): ALLMYDATAZ
    Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
    ids:
     class: 'device'
     unix-device: '/dev/sdg1'
     uuid: 'BE64-1766'
     label: 'ALLMYDATAZ'
    themed icons:  ...
    symbolic themed icons:  ...
    can_mount=1
    can_eject=1
    should_automount=1
    sort_key=gvfs.time_detected_usec.1404417627659873

(Noter les should_automount=1 mais il n'y a toujours pas de montage automatique).

Je peux ensuite monter manuellement le disque avec gvfs-mount -d /dev/sdg1 .

Existe-t-il un outil préexistant qui permette de relier ces éléments entre eux, de monter le unix-device de tous les événements "ajoutés en volume" qui ont should_automount=1 ? C'est-à-dire le montage des volumes amovibles au fur et à mesure qu'ils sont ajoutés au système ?

Notez que je suis no Je cherche un moyen de faire monter les choses à l'ouverture de la session ou au démarrage du système. Je veux qu'ils se montent lorsqu'ils sont branchés.

3voto

zvrba Points 14028

Comme cette question n'a pas reçu de réponse, j'ai continué et j'ai écrit gvfs-automount .

Lorsqu'il est en cours d'exécution, il écoute les événements "volume-added" et, si le volume ajouté a la valeur "should_automount", le monte. Il génère également une notification sur le bureau lorsqu'un volume est monté.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X