我经常使用 sshfs 挂载远程驱动器。我希望可以自动挂载。但是,如果我在 .bashrc 或启动脚本中挂载它,挂载通常会失败,因为我的无线互联网连接尚未建立。
是否有人知道每次建立连接时执行 bash 脚本或自动挂载 sshfs 驱动器的简单方法?
答案1
将您的脚本添加到/etc/network/if-up.d/
。为您的脚本命名,不要使用“.sh”扩展名。
添加脚本后运行即可chmod +x /etc/network/if-up.d/yourscriptname
获得必要的权限。
确保文件中提到了打开时应触发脚本的网络接口(例如 wlan0 或 eth0)/etc/network/interfaces
。
答案2
编者注:Cuttlefish 自 2012 年以来一直没有更新,并且不在任何当前的 Ubuntu 存储库中
Ubuntu 12.04
- 安装乌贼:一个简单的工具,当特定事件触发时,通过执行操作来实现计算机上的反射。
打开 Cuttlefish 并点击New。
- 给它起个名字并改变刺激激活选项为 ON。
- 点击刺激,选择类别网络并输入连接到 WLAN. 单击确定。
- 您还可以选择无线网络的 SSID,并且可以选择是否在启动时检查它。
- 现在你必须指定一个反应。转到反应选项卡,然后单击“添加”。选择应用来自类别和启动应用程序(高级模式)从类型。
- 现在在可执行选项中指定您想要运行的脚本。您甚至可以将参数传递给脚本。
- 就这样!另外,请确保在启动应用程序中添加了 Cuttlefish。转到编辑 > 首选项并启用自动启动选项。
答案3
我将回答 OP 问题的这一部分:“我希望自动拥有这个坐骑”
我最喜欢的自动挂载网络共享工具是 autofs: https://help.ubuntu.com/community/Autofs
AutoFS 是我选择用来安装 NAS 的工具 - 适用于我的所有笔记本电脑和工作站。
“autofs 是一个根据需要自动挂载目录的程序。自动挂载仅在访问时挂载,并在一段时间不活动后卸载。因此,与通过 fstab 进行静态挂载相比,自动挂载 NFS/Samba 共享可节省带宽并提供更好的整体性能。“
答案4
systemd
似乎现在已经接管了网络。
$ networkctl
WARNING: systemd-networkd is not running, output will be incomplete.
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback n/a unmanaged
2 enp0s25 ether n/a unmanaged
3 wlo1 wlan n/a unmanaged
3 links listed.
它还具有与接口相对应的单元
$ systemctl list-units |grep wlo1
sys-devices-pci0000:00-0000:00:1c.3-0000:24:00.0-net-wlo1.device loaded active plugged Centrino Ultimate-N 6300 (3x3 AGN)
sys-subsystem-net-devices-wlo1.device loaded active plugged Centrino Ultimate-N 6300 (3x3 AGN)
显然,您可以在服务单元文件中使用这些。因此,只需创建一个服务单元来运行您的脚本,并在其中使用类似的东西使其在网络上有条件地运行:
BindsTo=sys-subsystem-net-devices-wlo1.device
After=sys-subsystem-net-devices-wlo1.device
祝你好运!我还没有测试过,所以“你的里程可能会有所不同”。
资料来源: