我想问一下通过普通终端窗口执行脚本/命令与单击终端应用程序的桌面快捷方式之间有什么区别(请参阅最后的桌面快捷方式)。
肯定有一些区别,因为当我在标准终端窗口中启动命令并尝试在测试命令“sleep 100”期间关闭时,会出现警告提示(“关闭此终端?还有一个进程......”)。但是当通过桌面图标执行时,窗口会在没有任何警告的情况下关闭。
我问是因为我正在为 rclone 准备挂载脚本,该脚本将在单击桌面图标后按需执行,我想保持该窗口打开并“安全”以免意外单击关闭按钮。
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=SOME_NAME
Terminal=true
Type=Application
Exec=sleep 100
Icon=drive-removable-media
区别在于将命令作为终端进程的直接子进程
Exec=sleep 100
运行:sleep
而当您在标准终端窗口中键入时,中间
sleep 100
有一个交互式 shell 。通过将命令包装在交互式 shell 中,您可以在桌面应用程序中获得相同的行为(它不需要像 bash 那样复杂的 shell):这样进程树就变成了