Как перейти к расположению самбы, которое я смонтировал в Nautilus в командной строке?

52

Пожалуйста, обратите внимание: мне две недели в Linux. Я нашел много ответов на этот вопрос в интернете, перепробовал много, но все так или иначе не удалось. Поэтому смею еще раз спросить в надежде, что кто-то здесь сможет объяснить это просто :)

Предпосылки:

В моем институте у нас есть сервер Samba. В Windows к нему можно перейти, \\xyz.220.131.233\введя логин abcи пароль def.

В Ubuntu я смог сделать то же самое, используя Nautilus, нажав Ctrl + L и введя smb://xyz.220.131.233/. Затем он запрашивает логин и пароль и подключается. Я даже могу перетащить папку отсюда в «Места» и иметь ярлык для удаленного местоположения.

Все идет нормально. Я только что установил Matlab и хочу открыть это удаленное местоположение. Попытка cdк smb://xyz.220.131.233/возвратам

Невозможно создать CD для smb: //xyz.220.131.233 (имя не существует или не является каталогом).

Пользователь Mac в моей группе сказал мне, что я сначала смонтировал местоположение, но он не знал, как это сделать.

Это правда и как мне это сделать?

texnic
источник
Аналогичные вопросы и ответы для Debian
Майк Т

Ответы:

68

В большинстве случаев:

/$XDG_RUNTIME_DIR/gvfs

14,04:

/run/user/$(id -u)/gvfs

12,10:

/run/user/<username>/gvfs

12,04:

С 12.04 папка смонтированного общего ресурса samba:

~/.cache/gvfs

11.10 и старше

Вы можете научиться монтировать - это обязательно сработает. Но я думаю, что это более простое решение для вас: Nautilus смонтировать разделы smb в ~/.gvfs(где ~ / означает / home / имя_пользователя / - пример:) /home/desgua/.gvfs.
Вам просто нужно перейти туда:

cd ~/.gvfs
desgua
источник
Красивый! Linux обладает невероятным количеством функций! Интересно, как узнать такие подробности, хотя ... Спасибо!
texnic
12
почему они меняют его каждую версию?
оспинатор
1
У меня 12.04, и он установлен на ~/.gvfs.
T0xicCode
2
14.04 так же, как 12.10. Пользователь как номер, а не имя в моей системе, например: / run / user / 1000 / gvfs / smb-share: сервер = NAS, общий ресурс = MyShareFolder
TiloBunt
1
$ XDG_RUNTIME_DIR == / run / user / $ (id -u): включено (14.04)
Том
5

Другой вариант здесь, хотя он не связан напрямую с подключением каталога в nautilus, - это монтировать расположение из командной строки.

Однако для монтирования томов samba необходима поддержка CIFS.

sudo apt-get install cifs-utils

Отсюда у вас есть возможность указать, где вы хотите смонтировать местоположение. Для этого есть ДВА «стандарта». Если вы хотите, чтобы это местоположение отображалось в меню «Места», вы должны смонтировать его /media. Если нет, вы бы смонтировали его /mnt(только для того, чтобы следовать общему пространству имен для смонтированных томов. В монтировании каталога нет ничего плохого /home/$user/mount/someshare)

Иллюстрация смонтированного места в меню «Места»

предполагая, что они /media/myshareсуществуют, вы бы достигли этого, введя следующую команду:

sudo mount -t cifs -o user=abc,password=def //xyz.220.131.233 /media/myshare

Примечание

Вы можете сделать это автоматически, добавив следующую строку в вашу /etc/fstabконфигурацию:

//xyz.220.131.233 /media/SambaMount cifs username=abc,password=def,rw,user,noauto 0 0

Обратите внимание на noautoфлаг, это предотвратит монтирование тома при загрузке, поэтому, когда вы больше не находитесь на своем рабочем месте, он не зависнет во время загрузки, пытаясь опросить и смонтировать этот общий ресурс.

lazyPower
источник
Извините, что не отвечаю раньше, меня отвлекла какая-то срочная работа, и мне пришлось на некоторое время вернуться к Windows. Это предложение почему-то не работает: я получаю сообщение «Повторная попытка с общим именем в верхнем регистре». ошибка монтирования (6): ошибка такого устройства или адреса отсутствует. Нечто подобное описано на bugzilla.redhat.com/show_bug.cgi?id=195264
texnic
Я понял, что это, вероятно, моя ошибка. Я должен был смонтировать //xyz.220.131.233/foldername, а не весь сервер. Исправив это, я больше не получаю сообщение об ошибке и вижу, что папка / myshare появилась в Places in Nautilus. Тем не менее, при попытке просмотреть его, я получаю «Не удалось отобразить содержимое папки. У вас нет прав, необходимых для просмотра содержимого "myshare" '. В чем дело?
texnic
1
Убедитесь, что у вас есть разрешения на доступ к ресурсу как для пользователя в удаленной системе, который вы используете для его монтирования (в строке монтирования), так и для учетной записи пользователя, используемой для создания монтирования на локальном компьютере.
lazyPower
Ага, медленно прогрессирует :) Если я запустил Nautilus с помощью sudo, я смогу просмотреть местоположение / myshare. Теперь, как мне установить его так, чтобы я мог получить к нему доступ как обычный пользователь (texnic)? Насколько я понимаю, я могу получить доступ к удаленному расположению как обычный пользователь, поскольку могу просматривать smb: //xyz.220.131.233/foldername в Nautilus, запущенном без sudo. И, с другой стороны, почему я получаю «Отказано в доступе», если я пытаюсь выполнить «cd / media / myshare» и в то же время получаю «команда не найдена» для «sudo cd / media / myshare»?
texnic
Вам нужно будет добавить пользовательский флаг в опции монтирования, либо через fstab, либо во время введенной команды монтирования. Например: -o пользователь
lazyPower
4

в Ubuntu 16.04 и vlc 2.2.2;

Выберите media > Open Directoryи перейдите к /run/user/1000/gvfs/ << ID номер (1000) может варьироваться в вашей системе.

Здесь вы можете увидеть имя общей папки и выбрать папку, которую хотите добавить в список воспроизведения (см. Рисунок ниже).

vlc добавить каталог

diEcho
источник
2

На 12.10 вы можете найти место в

/run/user/USERNAME/gvfs/
ben_nuttall
источник
2

На Ubuntu 12.04 я работаю:

~/.gvfs/[SHARENAME]

~/.cache/ содержит только папку gvfs-burn

88weighed
источник
1

в некоторых из последних (например, 13.XX, 14.XX) Ubuntu вам нужно перейти на

/run/user/(USERID)/gvfs/

найти смонтированное место. здесь (UID) - это UID учетной записи, который можно найти командой

id 
Ченмин Чжан
источник
1
ln -s "/run/user/1000/gvfs/smb-share:server=192.168.1.1,share=Name_server/Path_Directory_source_in/Path_file.pdf" /Path_directory_source_out/Path_file.pdf

Это мой пример того, как сделать ссылку на файл из терминала в Ubuntu.

Используйте двойные кавычки "" для экранирования специальных символов, таких как пробелы

ugreg
источник
0

Так что, не уверен, что это реальный ответ (пожалуйста, прокомментируйте, если сомневаетесь или проверили его сами), но после некоторой борьбы с другим коллегой по Linux я понял, что на самом деле я не был в группе пользователей в моей системе ( nano /etc/group). Добавив себя в эту группу ( sudo nano /etc/groupдобавив свое имя в usersстроку), я теперь могу получить доступ к удаленным каталогам. Мой файл / etc / fstab имеет следующие строки:

//xxx.220.131.233/user  /mnt/rua_user  cifs  username=abc,password=def 0 1
//xxx.220.131.233/all   /mnt/rua_all   cifs  username=abc,password=def 0 1

Права на папки выглядят так ( ls -lh /mnt):

drwxrwx---  8 1016 users 0 2011-03-08 11:14 rua_all
drwxrwx--- 25 1016 users 0 2011-05-25 18:21 rua_user
texnic
источник