Comment puis-je déclencher un montage automatique à partir de la ligne de commande? Par «montage automatique», je ne veux pas dire un montage entièrement automatique, mais obtenir une liste des périphériques disponibles, puis en sélectionner un et le faire finir comme /media/{user}/{diskid}
. Cette fonctionnalité est fournie par Nautilus ou Thunar par exemple, mais je n'arrive pas à trouver un outil en ligne de commande pour déclencher ce type de montage semi-automatique.
pmount
est le plus proche que j'ai trouvé, mais semble fonctionner avec des mécanismes complètement différents en dessous et fait apparaître les appareils comme /media/sdf
ou quelque chose le long des lignes.
la source
/media/{disk}
, différent de ce que donnerait Thunar ou Nautilus. Laudisksctl
commande fournie parudisks2
semble cependant faire ce que je veux.udisksctl status
donnera une liste appropriée des appareils et fonctionnera en tant qu'utilisateur.fdisk -l
non seulement nécessite root, mais il échouera également avec les lecteurs GPT.cat /proc/partitions
serait un meilleur moyen de bas niveau pour se faire une idée des partitions disponibles.udiskctl
est extrêmement utile pour monter des fichiers de disque d'image dans des périphériques de boucle sans privilèges root, aussi!udisk
était disponible jusqu'au 14.04.gio mount
gvfs est maintenant répertorié comme obsolète (2018) et il est conseillé d'utiliser `` gio '' qui est Gnome In Out et fait partie de Glib. Voir Wikipedia .
Par exemple, pour monter automatiquement une deuxième partition de lecteur; créer un script bash avec la permission exécutable à exécuter au démarrage avec la commande suivante:
Si vous êtes propriétaire de la partition (voir
chown
), vous n'aurez pas besoin de sudo.Pour monter un fichier ISO situé par exemple sur
~/ISOs
:Vous pouvez coder l' URL du chemin avec Python 3 et
realpath
(pour concaténerarchive://
:Cela va continuer
/run/user/$(id -u)/gvfs/
.Comme alternative, vous
gnome-disk-image-mounter
pourrez monter/media/$USER/
.Pour démonter l'utilisation
gio mount -u /run/user/$(id -u)/gvfs/archive*
(ou/media/$USER/
, selon la façon dont vous l'avez monté).udisksctl
Liste des appareils disponibles:
Le montage se fait via:
ou
Le démontage se fait via:
ou
Le
object-path
peut être découvert en faisant:L'objet de type
org.freedesktop.UDisks2.Block
semble être valide carobject-patch
, le/org/freedesktop/UDisks2/
préfixe doit être coupé du chemin pour que udisksctl les accepte.gvfs-mount
La liste des appareils disponibles peut être effectuée avec:
Leur montage peut se faire avec:
Le démontage est possible via:
Un problème restant est que je n'ai aucune idée de comment utiliser la
gvfs-mount --list
sortie dans une commande de montage, car--list
ne montrera pas les noms de périphériques de bloc et essayer d'utiliser les noms de périphériques qu'il imprime dans un montage entraînera:Conclusion
Bien que les deux
gvfs-mount
etudisksctl
travaillera pour les tâches, leur interface est peu pratique car ils ne fournissent pas le statut lisible des disques disponibles, juste un trop bavard décharge d'information.la source
gio mount
? Le 18.04 avec legio mount -l
retour d'Archive MounterType: GDaemonMount
mais je n'ai pas pu le monter via CLI (peut-être un problème ?).Une solution simple qui fonctionne selon les besoins (se monte sur / media / {user} / {diskid}) sauf qu'elle ne peut pas lister les périphériques mais doit recevoir l'étiquette de volume exacte, sensible à la casse, comme argument $ 1
Pour monter :
Pour démonter :
la source
udisksctl mount -b $(findfs LABEL=<label>)
Je suis moi-même tombé sur le problème et j'ai trouvé la solution suivante:
Il vous demandera le mot de passe de l'utilisateur, même si c'est vous et que vous êtes déjà connecté.
la source
J'ai écrit ce script Bash pour contourner ce problème, mais sachez que je suis un novice en matière de script. Toutes les suggestions sont les bienvenues! L'utilisation et la description suivent ci-dessous le script.
Usage:
Le script accepte comme argument l'étiquette de la partition que vous souhaitez monter et recherche dans le vidage udisksctl les entrées correspondantes.
Si une partition est trouvée et qu'elle n'est pas montée, le nom et le chemin de l'appareil sont affichés et vous êtes proposé de monter la partition. Le script recherche également les étiquettes partielles, et il ne se souciera pas des majuscules ou des minuscules (utile lorsque vous ne vous souvenez pas de l'étiquette exacte).
Si une partition est trouvée et qu'elle est déjà montée, vous êtes invité à la démonter:
Si votre argument correspond à plus d'un résultat, le script vous montre les étiquettes de partition correspondantes et vous demande d'affiner la recherche:
la source
Script pour monter le lecteur -
mount-menu.sh
Le
mount-menu.sh
script vous permet de sélectionner des disques / partitions non montés pour le montage. Pour appeler l'utilisation du script:sudo mount-menu.sh
. Cet écran apparaît adapté à votre environnement de machine unique:Le menu efface et laisse ces informations dans votre terminal:
Vous pouvez maintenant utiliser:
cd /mnt/mount-menu.FPRAW
pour accéder à la partition de votre lecteur externe.Ensuite, vous pouvez
cd home/YOUR_NAME
être attentif à ne pas mettre un/
devanthome
. Si vous l'utilisez,cd /home
cela vous amènera à votre lecteur de démarrage et hors du lecteur externe.mount-menu.sh
contenu du scriptPour créer le script, ouvrez le terminal et tapez:
Copiez ensuite le code ci-dessous et collez-le dans
gedit
. Enregistrez le fichier et quittezgedit
.Marquez maintenant le fichier comme exécutable en utilisant:
Voici le script à copier:
umount-menu.sh
pour démonter des lecteurs / partitionsRépétez le processus de création / exécution de marquage de bits pour le script
umount-menu.sh
. Ce script démonte uniquement les lecteurs / partitions qui ont été montés parmount-menu.sh
. Il a le même menu de sélection et se termine par le message:Pour appeler le script, utilisez:
sudo umount-menu.sh
umount-menu.sh
script bash:la source