这是我的问题:当我从 Unity 的 Dash Home 搜索 NetBeans 并将其拖放到 Unity 启动器时,我发现 NetBeans 无法访问我的.bashrc
文件中定义的环境变量,如下所示
...
export SCALA_HOME=/usr/local/typesafe-stack
...
当我从 gnome-terminal 运行 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
我如何修改此文件以便它能够知道用户的环境变量?
提前致谢,
此致。
丘恩坎
答案1
添加此内容:
SCALA_HOME=/usr/local/typesafe-stack
更改为:
/etc/environment
至于为什么 Unity 启动器不从中获取用户环境.bashrc
(在我看来它应该如此),任何人都无法猜测。
答案2
尝试将终端设置为“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(以及注销/登录)