如何在通过桌面快捷方式启动器执行的脚本执行完成后使其创建的进程保持活动状态?

如何在通过桌面快捷方式启动器执行的脚本执行完成后使其创建的进程保持活动状态?

我希望有一个可执行的桌面快捷方式,用于启动 VPN 客户端,提示我输入密码,并保持已建立的连接有效,直到我运行第二个可执行文件断开连接。我可以这样做,但是,脚本结束后(终端关闭),我的 VPN 连接也会随之消失。这是我的桌面启动器文件:

[Desktop Entry]

Version=1.0
Name[en_US]=F5 Start
GenericName[en_US]=F5 Start
Comment[en_US]=Start the VPN

#Exec=gnome-terminal -x bash -c "f5fpc -s -t https://remote.some_website.com -u user.name; sleep 30; f5fpc --info; sleep 5"
#Exec=gnome-terminal --window -x bash -c "f5fpc -s -t https://remote.some_website.com -u user.name"
Exec=gnome-terminal -- bash /home/user/Desktop/start.sh
Path=/home/user/Desktop/
Icon=f5-vpn-client

Terminal=false
Type=Application
Categories=Application

脚本如下:

#!/bin/sh
f5fpc -s -t https://remote.some_website.com -u user.name
sleep 10
f5fpc --info
sleep 5
exit 0

当我手动执行此操作时,一切都正常。我可以退出终端,VPN 连接仍然保持建立。你知道为什么会发生这种情况吗?我该如何改变我的方法,让它按照我希望的方式工作?

编辑:我正在使用 Ubuntu 20.04

谢谢!

答案1

我做了一些这样的事情来打开临时 NFS 连接或某种类型的 Vault。我发现最简单的方法是在启动器调用的同一个 bash 脚本中编写打开和关闭脚本,然后通过从控制台读取来将它们分开:

#!/bin/bash
# Perform "Open VPN" functions
read -p "Press return to close VPN..." REPLY
# Perform "Close VPN" functions

您可以在启动器中设置 gnome-terminal 的位置和几何形状,以便它不会妨碍您,直到您需要关闭为止。

相关内容