Comment monter automatiquement un système de fichiers gvfs à la connexion

18

J'ai configuré un dossier distant dans nautilus. J'ai toujours besoin de ce dossier distant, donc je créé un lien symbolique dans mon dossier: ln -s ~/.gvfs/remote_folder ~/remote_folder.

Cependant, lorsque je démarre l'ordinateur pour la première fois, ce dossier n'est pas monté, et je dois y accéder via nautilus pour qu'il soit disponible dans ~/remote_folder.

Que dois-je faire pour que ce dossier soit monté lors de la connexion?

Pedro Rolo
la source

Réponses:

17

coquille

Vous pouvez utiliser la mountcommande dans un script de démarrage et la placer dans les préférences de l'application de démarrage . mountest parfaitement capable de monter des systèmes de fichiers distants (si vous lui avez fourni les bonnes options et tous les packages nécessaires installés).

Une alternative à monter dans votre script de démarrage est gvfs-mount Installer gvfs-bin . Vous pouvez monter des URI de type nautilus avec cela - tout comme le fait nautilus. Il est installé par défaut sur la plupart des systèmes Ubuntu.
Exemple d'utilisation:

gvfs-mount 'ftp://[email protected]/folder'

L'ajout de l' -uoption démonte l'argument, -lrépertorie tous les systèmes de fichiers montés, --helpvous offre plus d'options.

Enfin, le fichier /etc/fstabest généralement utilisé pour monter des systèmes de fichiers statiquement. Si votre serveur distant est fiable, vous voudrez peut-être jeter un œil à fstab . Il ralentira considérablement votre temps de démarrage si le serveur est lent ou hors ligne, mais il a l'avantage de rendre le système de fichiers disponible assez rapidement (avant même que gnome ou X ne soient chargés, par exemple pour une utilisation dans des scripts). Pour plus d'informations, vous pouvez taper man fstab.

Façon GUI

Découvrez Gigolo Installer gigolo . Il a la capacité de monter automatiquement un signet, chaque fois que le système de fichiers marqué est présent.

sudo apt-get install gigolo   # or use the install link above

Courez gigolo. Il y a une option dans les préférences qui la met en démarrage automatique et une autre pour activer l'icône de la barre d'état. Vérifiez les deux. Ajoutez ensuite votre signet.

Gigolo utilisé pour monter automatiquement

embrouiller
la source
Merci d'avoir répondu. J'étais vraiment impatient de trouver cette dernière solution plus conviviale et consommatrice de ressources. Cependant, je conseille aux autres personnes qui ont éventuellement cette question de lire toutes les réponses et de bien réfléchir à celle qui convient le mieux à leurs besoins.
Pedro Rolo
petite faute de frappe: / etc / fsatab devrait être / etc / fstab
djb
4

Installez d'abord le paquet gvfs-bin:

sudo apt-get install gvfs-bin

puis montez l'URI dont vous avez besoin. Par exemple:

gvfs-mount 'archive://file%253A%252F%252F%252Ftmp%252Ftest.tar/'

pour le tester:

ls -la ~/.gvfs/test.tar/

pour le démonter, il suffit d'appeler:

gvfs-mount -u 'archive://file%253A%252F%252F%252Ftmp%252Ftest.tar/'

Notez qu'il n'y a pas de pages de manuel. pour ce package. Pour en savoir plus, répertoriez les binaires disponibles via:

dpkg -L gvfs-bin

puis utilisez l'option --help, par exemple:

gvfs-mount --help
Michał Šrajer
la source
1
Il convient de noter que dans les versions ultérieures, le répertoire monté se retrouverait /run/user/<uid>/gvfs/test.tar/. Voir Comment accéder aux montages gvfs à partir de la ligne de commande?
Greg
2

Si vous ne souhaitez pas utiliser /etc/fstab(par exemple, mauvais sur les PC multi-utilisateurs, pas d'accès root) ou ne voulez pas enregistrer votre mot de passe utilisateur dans un fichier texte dans votre dossier de départ (par exemple pas de système de fichiers crypté) en utilisant gvfs-mount smb://$SERVERIP/$SHARE < ~/.smbcredentials_gvfs,

exécutez ce script shell au démarrage (ou quand vous le souhaitez):

#!/bin/bash
USERID=`id -u $USER`; # Needed in 14.04
SHARE=exampleshare # Example
SERVERIP=192.168.2.101 # Example
nautilus smb://$SERVERIP/$SHARE & # Mount the share using nautilus. You need to have your password saved permanently
rm ~/network_$SHARE # prepare symbolic link (Example)
ln -sf /run/user/$USERID/gvfs/smb-share\:server\=$SERVERIP\,share\=$SHARE ~/network_$SHARE # Directory in Ubuntu 14.04
sleep 2 # Nautilus needs some time to mount. Killing nautilus without waiting time does not mount the share
pkill nautilus

Cela monte les partages que vous souhaitez et utilise le mécanisme de sauvegarde du mot de passe nautilus (ou Ubuntu) (ne fonctionne pas en SSH cependant).

user396322
la source
De toutes les réponses, c'est la seule qui aborde réellement la question.
Luís de Sousa
2

Je fais habituellement des montages permanents via fstab. Vous devez entrer quelque chose comme

//servername/folder HOME/remote_server cifs username=XXXX,password=YYYY 0 0

dans votre /etc/fstab. Puisque vous n'avez rien dit sur le type de partition à distance, j'ai donné un exemple desamba share

Voir:

La deuxième option peut utiliser des autofs , consultez la page wiki d'aide d'Ubuntu pour obtenir de l'aide.

EDIT: Merci @ con-f-use de me le rappeler. Vous pouvez uniquement ajouter des signets depuis nautilus. Allez dans Fichier> Se connecter au serveur ... sur nautilus et vous verrez une fenêtre de dialogue où vous avez la possibilité d'ajouter un signet du nom souhaité. Cochez simplement l'option Ajouter un signet et entrez le nom du signet. Mais je pense que cela commence le montage seulement après avoir cliqué sur le signet contrairement à gigolo.

entrez la description de l'image ici

sagarchalise
la source
1
Cela a l'inconvénient de retarder le démarrage de vos systèmes, lorsque le serveur distant n'est pas accessible (arrêt d'Internet, maintenance de serveur, etc.)
con-f-use
1
Vous pouvez mettre les informations d'identification dans un fichier séparé que seul root peut lire (souvent les utilisateurs non root peuvent lire / etc / fstab et voir ainsi les ID utilisateur / mots de passe stockés là). Utilisez credentials = / root / remove_server.credentials lorsque ce fichier contient deux lignes, username = userid password = userids-password
djb