Как автоматически смонтировать файловую систему gvfs при входе в систему

18

Я настроил удаленную папку в nautilus. Я всегда нужна эта удаленная папка, поэтому я создал символическую ссылку на него в моей домашней папке: ln -s ~/.gvfs/remote_folder ~/remote_folder.

Хотя, когда я впервые загружаю компьютер, эта папка не монтируется, и я должен получить к ней доступ через nautilus, чтобы она была доступна в ~/remote_folder.

Что я должен сделать, чтобы эта папка была смонтирована при входе в систему?

Педро Роло
источник

Ответы:

17

Ракушка

Вы можете использовать mountкоманду в сценарии запуска и указать ее в настройках приложения запуска . mountотлично умеет монтировать удаленные файловые системы (если вы предоставили правильные опции и все необходимые пакеты установлены).

Альтернативой для монтирования в вашем скрипте запуска является gvfs-mount Установите gvfs-bin . С этим вы можете монтировать URI типа nautilus - так же, как это делает nautilus. Он установлен по умолчанию в большинстве систем Ubuntu.
Пример использования:

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

Добавление -uопции размонтирует аргумент, -lперечислит все смонтированные файловые системы, --helpдаст вам больше опций.

Наконец, файл /etc/fstabобычно используется для статического монтирования файловых систем. Если ваш удаленный сервер надежен, вы можете взглянуть на fstab . Это замедлит ваше время загрузки, если сервер работает медленно или в автономном режиме, но имеет преимущество в том, что делает файловую систему доступной довольно скоро (еще до того, как GNOME или X даже загрузятся, например, для использования в скриптах). Для получения дополнительной информации вы можете ввести man fstab.

GUI способ

Проверьте Жиголо Установить жиголо . Он имеет возможность автоматического монтирования закладки при наличии файловой системы с закладками.

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

Беги gigolo. В настройках есть опция, которая переводит ее в автозапуск, а другая - активировать иконку в трее. Проверьте оба. Затем добавьте свою закладку.

Жиголо используется для автомонтирования

кон-е использование
источник
Спасибо за ответ. Я с нетерпением ждал, чтобы найти это последнее более удобное и ресурсоемкое решение. Тем не менее, я советую другим людям, у которых в конечном итоге возникает этот вопрос, прочитать все ответы и хорошо обдумать, что лучше соответствует их потребностям.
Педро Роло
небольшая опечатка: / etc / fsatab должна быть / etc / fstab
djb
4

Сначала установите пакет gvfs-bin:

sudo apt-get install gvfs-bin

затем смонтировать URI, который вам нужен. Например:

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

чтобы проверить это:

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

чтобы размонтировать его, просто позвоните:

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

Обратите внимание, что нет man-страниц. для этого пакета. Чтобы узнать больше, перечислите доступные двоичные файлы через:

dpkg -L gvfs-bin

и затем используйте параметр --help, например:

gvfs-mount --help
Михал Шрайер
источник
1
Стоит отметить, что в более поздних версиях смонтированный каталог окажется в /run/user/<uid>/gvfs/test.tar/. Смотрите Как получить доступ к gvfs mounts из командной строки?
Грег
2

Если вы не хотите использовать /etc/fstab(например, плохо на многопользовательских ПК, нет root-доступа) или не хотите сохранять свой пароль пользователя в текстовом файле в вашей домашней папке (например, без зашифрованной файловой системы), используя gvfs-mount smb://$SERVERIP/$SHARE < ~/.smbcredentials_gvfs,

запустите этот скрипт оболочки при запуске (или когда захотите):

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

Это монтирует общие ресурсы, которые вы хотите, и использует механизм сохранения паролей nautilus (или Ubuntu) (хотя и не работает в SSH).

user396322
источник
Из всех ответов это единственный, который фактически касается вопроса.
Луис де Соуза
2

Я обычно делаю постоянное монтирование через fstab. Вы должны ввести что-то вроде

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

в вашем /etc/fstab. Поскольку вы ничего не сказали о том, какой тип удаленного раздела я привел в качестве примераsamba share

Видеть:

Вторым вариантом может быть использование autofs , см. Справочную вики-страницу Ubuntu .

РЕДАКТИРОВАТЬ: Спасибо @ con-f-use за напоминание мне об этом. Вы можете добавлять закладки только из nautilus. Перейдите в Файл> Подключиться к серверу ... на nautilus, и вы увидите диалоговое окно, где у вас есть возможность добавить закладку с нужным именем. Просто установите флажок добавить закладку и введите название закладки. Но я думаю, что он начинает монтировать только после того, как вы нажмете на закладку в отличие от жиголо

введите описание изображения здесь

sagarchalise
источник
1
Недостатком этого является задержка загрузки систем, когда удаленный сервер недоступен (отключен интернет, отключено обслуживание и т. Д.)
con-f-use
1
Вы можете поместить учетные данные в отдельный файл, который может прочитать только пользователь root (часто пользователи без полномочий root могут читать / etc / fstab и, таким образом, видеть сохраненные там идентификаторы пользователей / пароли). Используйте credentials = / root / remove_server.credentials, где этот файл состоит из двух строк: имя пользователя = пароль пользователя = пароль пользователя
djb