Я монтирую свои акции Samba через Nautilus. Я знаю, что за кулисами общий ресурс монтируется на предохранители, и Nautilus каким-то образом выполняет перевод между smb://
URL-адресами и фактическим местоположением в файловой системе.
Возможно ли получить «истинный» путь в файловой системе для смонтированного GVFS-ресурса, для каталога или файла? Как?
РЕДАКТИРОВАТЬ : Если что-то не получится, можно изобрести инструмент, применимый к любому файлу и просто скопировать параметр командной строки в буфер обмена. Тогда нужно будет просто попросить Наутилуса предложить этот инструмент для всех файлов и каталогов.
Это связано, но не отвечает на мой вопрос: Как я могу скопировать текущий путь из Наутилуса?
Мне удалось решить проблему с помощью «Действия Nautilus»:
Общая идея заключается в следующем:
Установить nautilus-actions
.
sudo apt-get install nautilus-actions
Создайте следующий скрипт в любом каталоге в вашем PATH
:
#!/bin/sh
TEXT=$1
shift
echo -n "$TEXT" | xclip $@
В nautilus-actions
создайте пользовательское действие, которое вызывает этот скрипт с параметром "%f"
. Возможно, вам придется перезапустить Nautilus.
Я не могу найти простой способ заставить nautilus
сказать вам это. Однако есть и другие способы выяснить это.
В Ubuntu 12.10 «фактический путь» находится под /run/user/USERNAME/gvfs
. В 12.04 я думаю, что это было под /home/USERNAME/.gvfs
(невидимым, если вы не проверите View->Show Hidden Files
в nautilus
). Имена папок внутри этих каталогов выглядят примерно как smb-share:server=servername.local,share=volume_1
.