如何将用户环境感知应用程序启动器添加到统一面板?


9

这是我的问题:当我从Unity的Dash Home中搜索NetBeans并将其拖放到unity启动器时,我发现netbeans无法访问我的.bashrc文件中定义的环境变量,如下所示

... 
export SCALA_HOME=/usr/local/typesafe-stack
...

当我从gnome终端运行NetBeans时,我没有发现有关环境变量的问题。

我也做了一个桌面文件。这是我定义netbeans.desktop文件的方式:

[Desktop Entry]
Type=Application
Name=NetBeans IDE 7.0.1
Icon=/usr/local/netbeans-7.0.1/nb/netbeans.png
Exec=netbeans
Terminal=false
Categories=Development;IDE;
StartupNotify=false

如何修改此文件,以便它可以知道用户的环境变量?

提前致谢,

此致。

昆坎

Answers:


6

添加:

SCALA_HOME=/usr/local/typesafe-stack

对此:

/etc/environment

.bashrc所有人都猜测为什么Unity启动器不会像IMO那样从中获取用户环境。


它不是特定于单位的,而是大多数gui用户现在正在使用的免费桌面规格。
Gringo Suave

3

尝试将Terminal设置为“ true”:

[Desktop Entry]
Type=Application
Name=NetBeans IDE 7.0.1
Icon=/usr/local/netbeans-7.0.1/nb/netbeans.png
Exec=netbeans
Terminal=false
Categories=Development;IDE;
StartupNotify=false

我认为发生这种情况是因为可执行文件netbeans本身不是bash脚本:

file `which netbeans` #shows the type of the file
head -n1 `which netbeans` #shows the first line of the file/script

(我的赌注是“ POSIX Shell脚本文本可执行文件”,用#!/ bin / sh代替#!/ bin / bash)

更新:另外,请尝试编辑.profile文件而不是.bashrc(并注销/登录)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.