![如何将用户环境感知应用程序启动器添加到统一面板?](https://linux22.com/image/1107556/%E5%A6%82%E4%BD%95%E5%B0%86%E7%94%A8%E6%88%B7%E7%8E%AF%E5%A2%83%E6%84%9F%E7%9F%A5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%90%AF%E5%8A%A8%E5%99%A8%E6%B7%BB%E5%8A%A0%E5%88%B0%E7%BB%9F%E4%B8%80%E9%9D%A2%E6%9D%BF%EF%BC%9F.png)
这是我的问题:当我从 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(以及注销/登录)