在Ubuntu下面的C/C++ IDE真的沒發現滿意的,codeblocks體積挺小,但是總是用不習慣。所以想裝個Eclipse試一下。要用Eclipse的話,必須先裝jre或者jdk。為了以往萬一那一天想在Ubuntu下面寫java程式,就選擇了安裝jdk。結果jdk的安裝問題不是很大,但是配置環境變數的時候出了一些問題。照著網上的教程設定環境變數:修改了/etc/profile和/etc/environment兩個檔案,添加了JAVA_HOME JRE_HOME CLASSPATH PATH等環境變數,之後又export。重啟Ubuntu令我大跌眼鏡:輸入使用者名稱密碼後進不了GNOME,提示:會話持續不到10秒鐘,如果您沒有登出,說明安裝出現了問題。或者……。
解決方案是:在Ubuntu的登入介面,按Ctrl+Alt+F1進入控制台,然後用vi編輯器把修改過的profile檔案和environment檔案再修改過來。然後Logout,再Ctrl+Alt+F7返回登入介面,成功登陸。如果不會用vi編輯器,請參考http://www.cnblogs.com/younes/archive/2009/12/09/1620581.html。這次,從心底裡面體會到了學習vi編輯器的用處。當你進入不了GNOME的時候,只有vi可以用。不然,你用飛機編輯文字檔?O(∩_∩)O~
問題解決進入Gnome後,雖然profile檔案和environment檔案都被恢複到以前的狀態(沒有關於java環境變數的配置),但是在控制台輸入java、javac也都是正常的顯示資訊。到現在我也很詫異,可能怪自己對Linux理解的太膚淺,或者根本就不理解吧。
Eclipse的安裝,我在Ubuntu安裝Eclipse主要是想寫C/C++程式,所以直接下了一個Eclipse for C/C++安裝。安裝過程中涉及到將Eclipse添加到Gnome開始菜單和案頭。記錄如下:
1. Eclipse的安裝與配置
1.1 從eclise.org下載Eclipse開發平台
如類似以下的檔案:eclipse-java-europa-fall2-linux-gtk.tar.gz.
1.2 解壓檔案
sudo mkdir /usr/local/dev
sudo mkdir /usr/src/dev
sudo cp eclipse-java-europa-fall2-linux-gtk.tar.gz /usr/src/dev/
cd /usr/src/dev
tar zxvf eclipse-java-europa-fall2-linux-gtk.tar.gz -C /usr/local/dev
1.3 建立一個Eclipse可執行檔
sudo touch /usr/bin/eclipse //變更檔Eclipse的訪問時間,如果檔案不存在,則建立立一個。
sudo chmod 755 /usr/bin/eclipse
sudoedit /usr/bin/eclipse
內容如下:
#!/bin/sh
export ECLIPSE_HOME="/usr/local/dev/eclipse"
$ECLIPSE_HOME/eclipse $*
現在開啟Terminal,執行"eclipse"應該能開啟Eclipse了。
1.4 添加Eclipse到Gnome菜單中
sudoedit /usr/share/applications/eclipse.desktop
內容如下:
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/usr/local/dev/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true
Eclipse CDT安裝好了以後,卻發現根本沒有想象的好。代碼補全功能不能用。還遇到一個問題:建立empty C++ project啟動並執行時候提示binary not found。 建立hello world C++ project可以正常的運行。
其實當你遇到問題的時候,也是一個通過解決問題學習到知識的機會。此次遇到的問題,還涉及到了以下的知識:
linux設定環境變數的三種方法:
1.Linux的變數種類
按變數的生存周期來劃分,Linux變數可分為兩類:
1. 永久的:需要修改設定檔,變數永久生效。
2. 臨時的:使用export命令聲明即可,變數在關閉shell時失效。
2.設定變數的三種方法
1. 在/etc/profile檔案中添加變數【對所有使用者生效(永久的)】
用VI在檔案/etc/profile檔案中增加變數,該變數將會對Linux下所有使用者有效,並且是“永久的”。
例如:編輯/etc/profile檔案,添加CLASSPATH變數
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改檔案後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此使用者時生效。
2. 在使用者目錄下的.bash_profile檔案中增加變數【對單一使用者生效(永久的)】
用VI在使用者目錄下的.bash_profile檔案中增加變數,改變數僅會對目前使用者有效,並且是“永久的”。
例如:編輯guok使用者目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改檔案後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此使用者時生效。
3. 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令列下直接使用[export 變數名=變數值] 定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效,shell關閉了,變數也就失效了,再開啟新shell時就沒有這個變數,需要使用的話還需要重新定義。
參考:http://eagle516.javaeye.com/blog/355074 http://www.javaeye.com/topic/158133 http://hi.baidu.com/hkdao/blog/item/8f15831aeb9464bd4bedbc63.html