如何在登录时自动挂载gvfs文件系统


18

我在鹦鹉螺中配置了一个远程文件夹。我一直需要这个远程文件夹,因此我在主文件夹中创建了指向它的符号链接ln -s ~/.gvfs/remote_folder ~/remote_folder

但是,当我第一次启动计算机时,此文件夹尚未安装,并且我必须通过nautilus访问它才能在中使用它~/remote_folder

我应该怎么做才能在登录时挂载此文件夹?

Answers:


17

贝壳

您可以mount在启动脚本中使用该命令,并将其放在“ 启动应用程序首选项”中mount非常适合挂载远程文件系统(如果您提供了正确的选件并安装了所有必需的软件包)。

在启动脚本中挂载的替代方法是gvfs-mount 安装gvfs-bin。您可以使用nautilus类型的URI挂载-就像nautilus一样。默认情况下,它已安装在大多数Ubuntu系统上。
用法示例:

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

添加-u选项将卸载参数,-l列出所有已挂载的文件系统,--help并为您提供更多选项。

最后,该文件/etc/fstab通常用于静态挂载文件系统。如果您的远程服务器是可靠的,则可能需要看一下fstab。如果服务器速度慢或脱机,它将大大降低启动时间,但是它具有使文件系统很快可用的优点(甚至在加载gnome或X之前,例如在脚本中使用)。有关更多信息,您可以键入man fstab

GUI方式

看看Gigolo 安装gigolo。每当存在加标签的文件系统时,它都具有自动挂载书签的功能。

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

运行gigolo。首选项中有一个选项可将其置于自动启动状态,而另一个选项可激活任务栏图标。同时检查。然后添加您的书签。

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/'

请注意,没有手册页。对于这个包。要了解更多信息,请通过以下方式列出可用的二进制文件:

dpkg -L gvfs-bin

然后使用--help选项,例如:

gvfs-mount --help

1
值得一提的是,在更高版本中,已挂载目录将以结尾/run/user/<uid>/gvfs/test.tar/。请参阅如何从命令行访问gvfs挂载?
格雷格

2

如果你不希望使用/etc/fstab使用(例如,在多用户的电脑坏了,没有根访问)或不希望您的用户密码保存到个人文件夹的文本文件(例如,没有加密的文件系统)gvfs-mount smb://$SERVERIP/$SHARE < ~/.smbcredentials_gvfs

在启动时(或任何时候)运行此shell脚本:

#!/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中不起作用)。


在所有答案中,这是唯一实际解决该问题的答案。
路易斯·索萨

2

我通常通过fstab进行永久挂载。您必须输入类似

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

在你的/etc/fstab。既然您什么类型的远程分区都没说什么,我举了一个例子samba share

看到:

第二个选项可能是使用autofs,请参阅Ubuntu帮助Wiki页面以获取帮助。

编辑:谢谢@ con-f-use提醒我这个。您只能从nautilus添加书签。转到Nautilus上的“ 文件”>“连接到服务器... ”,您将看到一个对话框,在其中可以选择添加所需名称的书签。只需选中添加书签选项,然后输入书签名称即可。但是我认为,只有在您单击书签后,它才会开始安装,这与gigolo不同。

在此处输入图片说明


1
具有延缓你的系统启动时,当远程服务器不可用(互联网下来,服务器维持性等)的缺点
CON-F使用的

1
您可以将凭据放在只有root可以读取的单独文件中(通常非root用户可以读取/ etc / fstab并因此查看存储在此的用户ID /密码)。使用凭据= / root / remove_server.credentials,该文件中包含两行,用户名=用户ID密码=用户ID-密码
djb 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.