如何直接从Ubuntu文件管理器挂载的远程服务器上传文件至外部网站?
如何直接从Ubuntu文件管理器挂载的远程服务器上传文件至外部网站?
这个问题我之前也碰到过,每次要传远程服务器上的文件都得先拷到本地,来回折腾真的烦。给你几个简单的一次性解决方案,搞定后就不用再重复复制操作了:
方法1:给GVFS挂载的远程目录创建符号链接
Ubuntu文件管理器通过「其他位置」挂载的SFTP服务器,实际是挂载在/run/user/你的用户ID/gvfs/sftp:host=服务器IP,user=你的用户名/这个路径下。浏览器的文件选择器默认不会直接显示这个路径,但我们可以给它创建一个符号链接到主目录,方便直接访问:
- 先查自己的用户ID,打开终端输入:
输出的数字就是你的UID(比如大部分普通用户是1000)。id -u - 找到远程服务器的GVFS挂载路径,比如你的服务器IP是
192.168.1.100,用户名是alice,那路径就是/run/user/1000/gvfs/sftp:host=192.168.1.100,user=alice/。 - 在终端创建符号链接到主目录:
之后你的主目录里就会多出一个ln -s /run/user/1000/gvfs/sftp:host=192.168.1.100,user=alice ~/remote-serverremote-server文件夹,浏览器上传文件时直接点开它,就能选远程服务器上的文件,完全不用复制到本地。
方法2:用SSHFS手动挂载(更稳定可控)
如果GVFS的挂载偶尔出现权限或者识别问题,推荐用SSHFS手动挂载远程服务器到本地目录,这样浏览器能直接把它当成本地文件夹访问:
- 先安装SSHFS工具:
sudo apt update && sudo apt install sshfs - 在主目录下创建一个挂载目录,比如
server-mount:mkdir ~/server-mount - 挂载远程服务器(这里挂载服务器根目录,你也可以改成特定路径比如
/home/alice/docs/):sshfs alice@192.168.1.100:/ ~/server-mount - (可选)设置开机自动挂载:
编辑/etc/fstab文件(需要sudo权限),添加一行:
保存后,下次开机系统会自动挂载这个目录,不用每次手动操作。alice@192.168.1.100:/ /home/alice/server-mount fuse.sshfs defaults,user,_netdev 0 0
为啥之前的方式不行?
你用GUI挂载的SFTP是通过GNOME的GVFS(虚拟文件系统)实现的,它的挂载路径在/run/user下,属于临时挂载点,浏览器的文件选择器默认不会主动展示这个路径。但通过符号链接或者SSHFS挂载到主目录后,系统就会把它识别成普通本地文件夹,自然就能被浏览器访问到了。
备注:内容来源于stack exchange,提问作者hanugm
相关产品推荐
相关产品推荐

