我希望在使用文件浏览器 (PCmanfm) 时,FTP/SFTP 会话保持活动状态。有一些 bash 脚本可以实现此目标。
#!/bin/bash
# Ubuntu closes FTP connections after a few idle minutes
# This script keeps all mounted FTP connections alive
while true
do
ls ~/.gvfs/FTP* &> /dev/null
sleep 60
done
所以我让这个脚本可执行
sudo chmod +x /home/username/.config/gvfs-keep-alive
然后我将其添加到 rc.local 文件中。
#!/bin/sh -e
#
# rc.local
#
/home/username/.config/gvfs-keep-alive
exit 0
但是它在重启期间阻止了我的计算机,我必须进入恢复模式从 rc.local 中删除该行并再次重启。
- 这个脚本正确吗?
- 如果是,我应该把它放在哪里才能使保持活动过程正常运行?
谢谢
答案1
该脚本在某种程度上是正确的。但是,它包含一个无限循环,并且永远不会退出。
当 ubuntu 启动时,它会从 rc.local 调用该脚本,并且由于它从未退出,rc.local 永远不会完成,计算机也永远不会完成启动。
假设您希望每分钟执行一次该命令,那么您只需在 /etc/crontab 中创建一个条目,如下所示:
* * * * * username ls /home/username/.gvfs/FTP* >/dev/null
根据个人喜好,您还可以创建一个 systemd 服务来执行此操作。