2013-08-07 23 views
5

我无法正确构建我的一些项目,因为我在.bashrc中配置的PATH变量未得到使用。当我从快捷方式运行eclipse时,Eclipse不会使用.bashrc中设置的路径.bashrc

当我从终端运行eclipse时,我可以完美地构建我的所有项目,因为它正在运行正确的shell。

问题是我想使用PATH变量从我的.bashrc没有永久打开终端。我之前尝试过,但每天我都会意外关闭运行eclipse的终端,并丢失所有未保存的代码。

任何人都可以帮助我吗?

回答

2

我能想到的两个选项针对此问题:

  • 写一个小剧本,导出这些增值经销商或采购你的.bashrc你开始之前,日食。
  • 在/ etc/environment中定义这些变量。那么他们不再是用户范围。

我更喜欢第一个选项。

+1

我添加了路径变量到我的.gnomerc文件(基本上与第二个选项相同) – JREN

+1

也类似于第二个选项,我能够(在我的Mint linux上)通过添加我的附加PATH操纵到登录时运行的〜/ .profile文件。 – jgreen

+0

选项3)从bash中启动Eclipse。至少在Qt Creator中,它没有任何问题。 – rbaleksandar

3
  1. 创建简单的脚本
#!/bin/bash 
source /home/user/.environment_variables 
/home/user/eclipse_cpp/eclipse -Duser.name="My Name" 

2. 下一步把你所有的系统变量文件/home/user/.environment_variables(你想要的任何文件)

我的长相如下:

export COCOS_ROOT=/home/user/Projects/edukoala 
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ 

3. 现在你可以删除的.bashrc的变量,并把线

source /home/user/.environment_variables 

一切正常:)

1

嗯,这已经回答了,答案已被接受。但是这也适用于使用Eclipse运行代码。您可以编辑运行配置并在其中设置环境变量。然后,Eclipse将在构建时从该设置中提取变量。

5
  1. 编辑/usr/share/applications/eclipse.desktop具有写权限,即sudo gedit /usr/share/applications/eclipse.desktop

  2. 更改设置Exec=/usr/bin/eclipseExec=bash -ic "/usr/bin/eclipse"和保存

根本的问题是。 bashrc未加载到非交互式shell中。当你通常点击它的符号启动Eclipse时,.bashrc会提前退出。此解决方案适用于由.desktop文件定义的所有程序。 相反,bash -i打开交互式shell,-c ""在该shell中运行命令。

+0

我认为这应该是被接受的答案 – CDieck

+0

+1是的,这确实是最好的和非侵入性的方式来做到这一点。另外它可以应用于许多其他应用程序。我以完全相同的方式启动我的Qt Creator。 – rbaleksandar

2

您的工具可以利用嵌入式eclipse终端。此终端不会开始提供您的登录/用户shell。所以,你需要设置你的喜好日食月食终端开始为--login壳:

转到:

Preferences -> Terminal -> Local Terminal 

,并设置

"Arguments" to "--login" 

重新启动Eclipse和您的用户$ PATH应该从现在开始使用。

+1

传奇!这是最好和最简单的答案 –