如何为 Octave 的 Flatpak 版本创建包装器脚本,以避免长命令 flatpak run org.octave.Octave?

Arc*_*ahi 3 command-line octave flatpak

aptoctave的版本中,我可以使用命令octave script.m来执行文件script.m。同样flatpak run org.octave.Octave script.m也有效。

但是,为了避免长命令flatpak run org.octave.Octave,我创建了一个~.local/bin/octave包含内容的文件flatpak run org.octave.Octave,并将其标记为可执行文件(我已经删除了aptOctave 的版本)。虽然它运行八度很好,但octave script.m不再工作,它只打开八度的命令行版本。

我知道我可以打开 Octave 并从内部运行脚本,但我有兴趣知道该脚本是否可以使用 Flatpak 版本的 Octave 直接从终端运行。

van*_*ium 6

显然,诀窍是取消设置环境变量SESSION_MANAGER[source]

为了不干扰您的常规环境,最好使用以下命令仅为当前命令取消环境设置env

env -u SESSION_MANAGER flatpak run org.octave.Octave script.m
Run Code Online (Sandbox Code Playgroud)

当然,您可以让您的生活变得更轻松,例如定义别名:

alias octave='env -u SESSION_MANAGER flatpak run org.octave.Octave'
Run Code Online (Sandbox Code Playgroud)

从现在开始,您可以像以前一样运行八度脚本:

octave script.m
Run Code Online (Sandbox Code Playgroud)

在配置文件中包含别名定义,~/.bashrc以便它始终在交互式终端中可用。