Jak automatycznie zamontować system plików gvfs podczas logowania


18

Skonfigurowałem folder zdalny w nautilus. Zawsze trzeba ten folder zdalny, więc stworzył symboliczny link do niego w moim katalogu domowym: ln -s ~/.gvfs/remote_folder ~/remote_folder.

Chociaż po pierwszym uruchomieniu komputera ten folder nie jest zamontowany i muszę uzyskać do niego dostęp za pośrednictwem nautilus, aby był dostępny ~/remote_folder.

Co powinienem zrobić, aby ten folder był podłączony podczas logowania?

Odpowiedzi:


17

Muszla

Możesz użyć mountpolecenia w skrypcie startowym i umieścić je w Preferencjach uruchamiania aplikacji . mountdoskonale nadaje się do montowania zdalnych systemów plików (jeśli dostarczyłeś odpowiednie opcje i zainstalowano wszystkie niezbędne pakiety).

Alternatywą do montowania w skrypcie startowym jest gvfs-mount Zainstaluj gvfs-bin . Dzięki temu można montować identyfikatory URI typu nautilus - podobnie jak nautilus. Jest instalowany domyślnie na większości systemów Ubuntu.
Przykładowe użycie:

gvfs-mount 'ftp://user@www.your-server.com/folder'

Dodanie -uopcji odmontowuje argument, -lwyświetla listę wszystkich zamontowanych systemów plików, --helpdaje więcej opcji.

Wreszcie plik /etc/fstabjest zwykle używany do statycznego montowania systemów plików. Jeśli twój zdalny serwer jest niezawodny, możesz rzucić okiem na fstab . Spowalnia drastycznie czas uruchamiania, jeśli serwer działa wolno lub offline, ale ma tę zaletę, że system plików jest dostępny wkrótce (zanim gnome lub X zostaną nawet załadowane, np. Do użycia w skryptach). Aby uzyskać więcej informacji, możesz wpisać man fstab.

Sposób GUI

Sprawdź Gigolo Zainstaluj gigolo . Ma możliwość automatycznego montowania zakładki, ilekroć występuje system plików z zakładkami.

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

Uruchom gigolo. W preferencjach dostępna jest opcja, która uruchamia ją automatycznie, a druga aktywuje ikonę zasobnika. Sprawdź oba. Następnie dodaj swoją zakładkę.

Gigolo służyło do automatycznego montowania


Dziękuję za odpowiedź. Z niecierpliwością czekałem na to ostatnie, bardziej przyjazne dla użytkownika i pochłaniające zasoby rozwiązanie. Jednak radzę innym ludziom, że ostatecznie mają to pytanie, aby przeczytać wszystkie odpowiedzi i dobrze się zastanowić, które z nich najlepiej odpowiadają ich potrzebom.
Pedro Rolo,

mała literówka: / etc / fsatab powinien być / etc / fstab
djb

4

Najpierw zainstaluj pakiet gvfs-bin:

sudo apt-get install gvfs-bin

następnie podłącz potrzebny identyfikator URI. Na przykład:

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

aby to przetestować:

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

aby odmontować, wystarczy zadzwonić:

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

Zauważ, że nie ma stron podręcznika. dla tego pakietu. Aby dowiedzieć się więcej, wyświetl listę dostępnych plików binarnych za pośrednictwem:

dpkg -L gvfs-bin

a następnie użyj opcji --help, na przykład:

gvfs-mount --help

1
Warto zauważyć, że w późniejszych wersjach zamontowany katalog skończyłby w /run/user/<uid>/gvfs/test.tar/. Zobacz Jak uzyskać dostęp do montowań gvfs z wiersza poleceń?
Greg

2

Jeśli nie chcesz używać /etc/fstab(np. Źle na komputerach z wieloma użytkownikami, brak dostępu do konta root) lub nie chcesz zapisywać hasła użytkownika do pliku tekstowego w folderze domowym (np. Brak szyfrowanego systemu plików) przy użyciu gvfs-mount smb://$SERVERIP/$SHARE < ~/.smbcredentials_gvfs,

uruchom ten skrypt powłoki podczas uruchamiania (lub kiedy chcesz):

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

Instaluje to, co chcesz, i używa mechanizmu zapisywania haseł nautilus (lub Ubuntu) (choć nie działa w SSH).


Ze wszystkich odpowiedzi jest to jedyna odpowiedź na pytanie.
Luís de Sousa

2

Zwykle wykonuję stałe montowania za pomocą fstab. Musisz wprowadzić coś takiego

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

w twoim /etc/fstab. Ponieważ nic nie powiedziałeś na temat jakiej zdalnej partycji podałem przykładsamba share

Widzieć:

Drugą opcją może być używanie autofs , patrz strona wiki pomocy Ubuntu w celu uzyskania pomocy.

EDYCJA: Dziękuję @ con-f-use za przypomnienie mi tego. Możesz dodawać zakładki tylko z nautilus. Przejdź do Plik> Połącz z serwerem ... na nautilus, a pojawi się okno dialogowe, w którym możesz dodać zakładkę o żądanej nazwie. Wystarczy zaznaczyć opcję dodania zakładki i wprowadzić nazwę zakładki. Ale myślę, że zaczyna się montowanie dopiero po kliknięciu zakładki, w przeciwieństwie do gigolo.

wprowadź opis zdjęcia tutaj


1
Ma to tę wadę, że opóźnia rozruch systemu, gdy zdalny serwer jest nieosiągalny (brak połączenia z Internetem, konserwacja serwerów itp.)
con-f-use

1
Możesz umieścić dane uwierzytelniające w osobnym pliku, który może odczytać tylko użytkownik root (często użytkownicy nie będący użytkownikami root mogą odczytać plik / etc / fstab, a tym samym zobaczyć identyfikator użytkownika / hasła tam przechowywane). Użyj poświadczeń = / root / remove_server.credentials jeżeli plik ma dwie linie w nim, nazwa_użytkownika = hasło userid = ID użytkownika-hasło
DJB
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.