这两个启动选项之间有什么区别?我该如何解决?

这两个启动选项之间有什么区别?我该如何解决?

我必须eclipse使用第一个设置启动我LC_MESSAGES=C(长话短说,我需要这个变量,否则我将失去一些功能)。

因此,如果我从终端运行 eclipse:

$ LC_MESSAGES=C /usr/bin/eclipse

一切都运行正常。

但是,我希望从启动器运行它,因此我创建了一个启动器脚本/usr/share/applications/eclipse.desktop

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Eclipse
Exec=env LC_MESSAGES=C /usr/bin/eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false

尽管定义LC_消息在这个启动器中,似乎它实际上并没有设置它(依赖于这个变量的功能不起作用)。

这两次启动有什么区别?我怎样才能使第二次启动与第一次启动完全相同?

操作系统是Ubuntu22.04LTS。

答案1

您的 Exec 行看起来不错,所以我不知道为什么它不起作用,但有一个简单的方法可以让它工作:创建一个包装器

$ sudo cat /opt/eclipse/eclipse2

并添加

#!/bin/bash
export LC_MESSAGES=C 
exec /usr/bin/eclipse "$@"

保存并使用它

Exec=/opt/eclipse/eclipse2

(我使用 eclipse2 因为我希望那里已经有一个 eclipse 文件;将其更改为您想要的文件)。

相关内容