So wird ein gvfs-Dateisystem bei der Anmeldung automatisch bereitgestellt

18

Ich habe einen Remote-Ordner in Nautilus konfiguriert. Ich diese Remote - Ordner immer benötigen, so dass ich einen symbolischen Link , um es in meinem Home - Ordner erstellt: ln -s ~/.gvfs/remote_folder ~/remote_folder.

Wenn ich den Computer zum ersten Mal starte, ist dieser Ordner nicht gemountet und ich muss über Nautilus darauf zugreifen, damit er in verfügbar ist ~/remote_folder.

Was kann ich tun, damit dieser Ordner beim Anmelden eingebunden wird?

Pedro Rolo
quelle

Antworten:

17

Schale

Sie können den mountBefehl in einem Startskript verwenden und in den Startanwendungseinstellungen ablegen . mountist perfekt in der Lage, entfernte Dateisysteme zu mounten (wenn Sie die richtigen Optionen und alle erforderlichen Pakete installiert haben).

Eine Alternative zum Mounten in Ihrem Startskript ist gvfs-mountInstallieren Sie gvfs-bin . Sie können damit URIs vom Typ Nautilus mounten - genau wie Nautilus. Es wird standardmäßig auf den meisten Ubuntu-Systemen installiert.
Anwendungsbeispiel:

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

Durch Hinzufügen der -uOption wird die Bereitstellung des Arguments aufgehoben, -lalle bereitgestellten Dateisysteme werden aufgelistet, und --helpSie erhalten mehr Optionen.

Schließlich wird die Datei /etc/fstabnormalerweise zum statischen Mounten von Dateisystemen verwendet. Wenn Ihr Remote-Server zuverlässig ist, sollten Sie sich fstab ansehen . Es wird Ihre Boot-Zeit drastisch verlangsamen, wenn der Server langsam oder offline ist, hat aber den Vorteil, dass das Dateisystem bald verfügbar ist (bevor Gnome oder X überhaupt geladen werden, z. B. für die Verwendung in Skripten). Weitere Informationen können Sie eingeben man fstab.

GUI Weg

Schauen Sie sich Gigolo an Installieren Sie Gigolo . Es kann ein Lesezeichen automatisch mounten, wenn das mit einem Lesezeichen versehene Dateisystem vorhanden ist.

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

Rennen gigolo. In den Voreinstellungen gibt es eine Option, mit der der Autostart gestartet wird, und eine andere, mit der das Taskleistensymbol aktiviert wird. Überprüfen Sie beide. Fügen Sie dann Ihr Lesezeichen hinzu.

Gigolo war es gewohnt, automatisch einzusteigen

verwechseln
quelle
Danke für die Antwort. Ich habe mich genau darauf gefreut, diese letzte benutzerfreundlichere und ressourcenintensivere Lösung zu finden. Trotzdem rate ich den anderen Leuten, dass sie diese Frage eventuell haben, alle Antworten zu lesen und gut darüber nachzudenken, welche ihren Bedürfnissen besser entsprechen.
Pedro Rolo
kleiner Tippfehler: / etc / fsatab sollte / etc / fstab sein
djb
4

Installieren Sie zuerst das Paket gvfs-bin:

sudo apt-get install gvfs-bin

dann mounten Sie den benötigten URI. Beispielsweise:

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

um es zu testen:

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

Zum Abhängen einfach anrufen:

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

Beachten Sie, dass es keine Manpages gibt. für dieses Paket. Um mehr zu erfahren, listen Sie die verfügbaren Binärdateien auf über:

dpkg -L gvfs-bin

Verwenden Sie dann die Option --help, zum Beispiel:

gvfs-mount --help
Michał Šrajer
quelle
1
Es ist zu beachten, dass das gemountete Verzeichnis in späteren Versionen in landen würde /run/user/<uid>/gvfs/test.tar/. Siehe Wie greife ich über die Befehlszeile auf gvfs-Mounts zu?
Greg
2

Wenn Sie nicht verwenden möchten /etc/fstab(z. B. schlecht auf Mehrbenutzer-PCs, kein Root-Zugriff) oder Ihr Benutzerkennwort nicht in einer Textdatei in Ihrem Basisordner speichern möchten (z. B. kein verschlüsseltes Dateisystem) gvfs-mount smb://$SERVERIP/$SHARE < ~/.smbcredentials_gvfs,

Führen Sie dieses Shell-Skript beim Start aus (oder wann immer Sie möchten):

#!/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

Dadurch werden die gewünschten Freigaben gemountet und der Nautilus (oder Ubuntu) -Kennwortspeichermechanismus verwendet (funktioniert jedoch nicht in SSH).

user396322
quelle
Von allen Antworten ist dies die einzige, die sich tatsächlich mit der Frage befasst.
Luís de Sousa
2

Normalerweise mache ich permanente Reittiere über fstab. Sie müssen so etwas wie eingeben

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

in deinem /etc/fstab. Da Sie noch nichts darüber gesagt haben, für welche Art von Remote-Partition ich ein Beispiel gegeben habesamba share

Sehen:

Die zweite Möglichkeit ist die Verwendung von Autofs. Weitere Informationen finden Sie auf der Ubuntu-Hilfe-Wiki-Seite .

EDIT: Danke @ con-f-use, dass du mich an diesen erinnert hast. Sie können Lesezeichen nur von Nautilus hinzufügen. Gehen Sie auf nautilus zu Datei> Mit Server verbinden ... und es wird ein Dialogfenster angezeigt, in dem Sie die Option haben, ein Lesezeichen mit dem gewünschten Namen hinzuzufügen. Aktivieren Sie einfach die Option zum Hinzufügen eines Lesezeichens und geben Sie den Lesezeichennamen ein. Aber ich denke, es beginnt die Montage erst, nachdem Sie im Gegensatz zu Gigolo auf das Lesezeichen geklickt haben.

Bildbeschreibung hier eingeben

sagarchalisieren
quelle
1
Das hat den Nachteil , dass Ihre Systeme Boot zu verzögern, wenn der Remote - Server nicht erreichbar ist (Internet herunter, Sever maintainace etc.)
con-f-Einsatz
1
Sie können die Anmeldeinformationen in einer separaten Datei ablegen, die nur Root lesen kann (häufig können Benutzer ohne Rootberechtigung / etc / fstab lesen und sehen daher die dort gespeicherten Benutzer-IDs / Kennwörter). Verwenden Sie credentials = / root / remove_server.credentials, wobei diese Datei zwei Zeilen enthält: username = userid password = userids-password
djb