将默认 shell 从 bash 更改为 zsh 后,.desktop 文件停止工作

将默认 shell 从 bash 更改为 zsh 后,.desktop 文件停止工作

我一直在使用这个桌面文件pluto.desktop

[Desktop Entry]
Exec=/home/user/Software/Installed/Pluto/pluto_startup.sh
Icon=/home/user/Software/Installed/Pluto/Pluto.svg
Type=Application
Terminal=true
Name=Pluto
Categories=Development;IDE;

指向可执行文件pluto_startup.sh,其中包含启动 Pluto 的 julia 代码(浏览器中的 julia 笔记本):

#!/bin/env julia
cd("/home/user/Software/Installed/Pluto")
using Pkg
Pkg.activate(".")
using Pluto
Pluto.run()

不幸的是,在我将默认 shell 从 bash 更改为 zsh 后,它停止工作。运行desktop-file-validate没有返回任何错误并且gtk-launch pluto仍然有效(我也可以pluto_startup.sh直接运行)。但是,当我单击 GNOME 破折号中的图标时,终端会打开并立即关闭,并且 Pluto 不会启动。我尝试过使用

Exec=gnome-terminal -e "sh -c 'home/user/Software/Installed/Pluto/pluto_startup.sh'"

相反,也将 的内容放入pluto_startup.sh单独的 julia 文件中,然后由仅包含的文件调用该文件

#!/bin/zsh
julia -i /home/user/Software/Installed/Pluto/pluto_startup.jl

但两次尝试都失败了。

知道什么可能导致此问题或我如何解决它?

基本操作系统信息:

Fedora Linux 38 (Workstation Edition) x86_64
GNOME 44.1 on Wayland

答案1

我找到了这个问题的解决方案/解决方法:简单地将文件解释器的绝对路径pluto_startup.shpluto_startup.jl为了清楚起见,我也将其重命名为)类似的东西#!/<abs-path-to-julia-binary>似乎已经为我解决了问题。

相关内容