![带有 .bashrc 环境的 .desktop 文件](https://linux22.com/image/864382/%E5%B8%A6%E6%9C%89%20.bashrc%20%E7%8E%AF%E5%A2%83%E7%9A%84%20.desktop%20%E6%96%87%E4%BB%B6.png)
我正在使用 IntelliJ IDEA,它使用了 .bashrc 脚本中定义的一些环境变量。
如果我从终端运行它的 shell 脚本,一切都会正常工作,但如果我创建一个 .desktop 文件以从启动器运行它,那么它将在没有 .bashrc 环境的情况下加载。
我也尝试使用“使用终端运行”选项,但没有帮助。有办法做到这些吗?
桌面文件的内容:
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA
Icon=/home/gmarom/bin/idea-IU-135.1230/bin/idea.png
Exec="/home/gmarom/bin/idea-IU-135.1230/bin/idea.sh" %f
Comment=Develop with pleasure!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
答案1
从启动器运行时,idea.sh 脚本使用非迭代 shell 启动。请.bashrc
确保在之前导出环境变量
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
或者将环境变量导出到~/.bash_profile
答案2
对我来说,将环境变量移动到.profile
不起作用。相反,我从我的代码中删除了 @oliman 建议的代码.bashrc
,然后将我的 IntelliJ IDEA 启动器从以下内容更改为:
"/opt/idea-IU-163.12024.16/bin/idea.sh" %f
更改为:
bash -c "source ~/.bashrc && /opt/idea-IU-163.12024.16/bin/idea.sh %f"
答案3
对我来说,解决方法是将环境变量从 .bashrc 移至 .profile 并重新登录。Komodo Edit 现在从 PATH 中获取 perlbrewed Perl。
https://help.ubuntu.com/community/EnvironmentVariables非常有帮助。