Answers:
您可以通过将.desktop
-file 拖放到此处来创建启动器并将其添加到启动器栏中:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=nautilus
Name[en_US]=Connect to xy
Exec=shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
#OR: to mount and than open in nautilus (note the '/dir' where ':dir' used to be)
#Exec=nautilus sftp://user@192.xx.xx.xx.xx/dir/dir
Comment[en_US]=Connect to xy via ssh
Name=Connect to xy
Comment=Connect to xy via ssh
Icon=nautilus
如果您需要更少的工作(= autoconnect)和图形用户界面,则可能需要签出Gigolo 。每当有加书签的文件系统存在时,它都具有自动挂载书签的功能。您可能想检查一下。
sudo apt-get install gigolo # or use the install link above
运行gigolo
。首选项中有一个选项可以将其置于自动启动状态,而另一个选项可以激活任务栏图标。同时检查。然后添加您的书签。
这是屏幕截图:
另一种解决方案是将以下行放在crontab中(/etc/crontab
使用sudo特权进行编辑):
@reboot sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
但是,由于运行命令时不存在Ubuntu的密码管理器,因此您需要使用无密码的私钥/公钥对对所讨论的ssh服务器进行身份验证(或类似的身份验证方法)。这将在每次重新启动时将其安装。
另一个解决方案是编辑您的文件/etc/fstab
(如果您的Ubuntu版本提供了该选项)。
gnome-session-properties
并添加/usr/bin/gigolo
命令。无法选择安装点,但是可以创建指向主目录的符号链接(使用ln -s
)。通过右键单击文件管理器中的文件夹并选择,可以找到原始安装点Open in Local Terminal
。
您只需将其键入到Shell脚本中,然后即可在桌面上为其创建启动器。
例如mountssh.sh
:
#!/bin/bash
shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
确保chmod +x mountssh.sh
执行然后单击它将执行
或者,您可以通过gvfs挂载它,方法是在桌面上单击鼠标右键,然后创建带有URL参数的启动器ssh://user@192.xx.xx.xx.xx/dir/dir
。默认情况下,它安装到~/.gvfs/...
。如果要坚持使用/home/username/mount/xxx
,则可以创建从gvfs一个到此的符号链接。
我试图使用cron自动挂载ssh目录,但这会导致错误提示Network is unreachable
。这是因为cron作业执行还为时过早,无法建立ip连接。在sshfs
命令前插入sleep之后,它成功安装了ssh目录。
sleep 5 && sshfs ......
因此,我编写了此脚本来满足我的要求。
#! /bin/sh
while true
do
ping -c1 -w1 ssh_server_ip > /dev/null && break
done
sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 sshname:/mountpath /localmountpath