我在 Linux Mint 上运行 Eclipse。安装使用 Flatpak 作为执行的信封。确切的命令是:/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=eclipse --file-forwarding org.eclipse.Java
我想将工作区路径传递给 Eclipse,经过谷歌搜索后,发现 Eclipse 可以接受指定工作区的参数。具体来说,它是 -data 参数,它接受工作区的路径。因此,我尝试了:/usr/bin/flatpak run --branch=stable --arch=x86_64 --command="eclipse -data <absolute path to workspace>" --file-forwarding org.eclipse.Java
我引用了整个命令,因为当省略引号时,Flatpak 会抱怨它无法识别 -data 标志。但是,现在我收到以下错误:
bwrap:execvp eclipse -data /home/dan/eclipse-workspace-minion:没有此文件或目录
我猜测引用 eclipse 会干扰 flatpak 对 eclipse 可执行文件的搜索。(顺便说一句:我检查过,目录 /home/dan/eclipse-workspace-minion 是存在的。)有人能告诉我如何在通过 flatpak 执行 eclipse 时将 -data 参数传递给它吗?
在发布这个问题之前,我在网上搜索了很多答案。发布后,我继续寻找答案,实际上在这里找到了一个:
https://www.reddit.com/r/flatpak/comments/lgfy5p/how_can_i_pass_arguments_to_a_flatpak_can_flatpak/
在此讨论中, v_fv的回复指出“...大多数 Flatpak 应用程序都会导出一个快捷方式,以便在 /var/lib/flatpak/exports/bin/ 中运行它们”
事实证明 eclipse 安装会执行此操作,因此您可以执行:
/var/lib/flatpak/exports/bin/org.eclipse.Java -data <absolute path to workspace>
或者,您可以添加
export PATH="/var/lib/flatpak/exports/bin:$PATH"
到.bashrc然后执行:
事实证明,以这种方式执行 eclipse 会在终端会话中产生一堆喋喋不休的声音,但这不会干扰启动,启动过程非常完美。
我应该提到这是在 Linux Mint 21.3(Ubuntu 22.04)上。这并不能保证它可以在其他 Linux 发行版上运行。