首頁 > 軟體

Ubuntu學習筆記及相關問題解決

2020-06-16 17:55:15

這些操作在Ubuntu14.04.1或者Ubuntu12.04.5中進行

首先,安裝Ubuntu12.04(LTS)版本

安裝按照高階安裝方式,系統分配40G如下:

/dev/sda*   ext4    /            14G

/dev/sda*   ext4   /work     20G 

/dev/sda*   swap                 2G

/dev/sda*   ext4    /home    4G 

Ubuntu12.04開機黑畫面解決方法

實驗一:排除硬體故障光碟啟動,一切正常,說明不是硬體的問題,順便檢查了硬碟沒有問題。

實驗二:排除版本啟動時按 shift 鍵出現grub選單。

選擇其他核心版本啟動,仍然黑畫面。

實驗三:檢視錯誤提示 在顯示grub選單的時候,按 e ,可以調整核心啟動的引數,把 quiet splash 改成 text splash。

F10 啟動後,進入命令列模式。

startx進入圖形模式,報 Error:API mismatch: the NVIDIA kernel module ... ,找到故障原因,是nvidia 顯示卡驅動不完全安裝造成無法進入圖形模式。複製程式碼程式碼如下:sudo apt-get purge nvidia*

sudo apt-get install nvidia-current-updates-dev 重新啟動即可。 

安裝Vmware tools

點選虛擬機器,點選安裝Vmware tools出現安裝光碟,複製壓縮包,解壓壓縮包到一個位置,執行vmware-install.pl即可命令: sudo ./vmware-install.pl 

修改places

從13.04或13.10開始,Ubunt檔案管理器(Nautilus)側邊欄的頂部顯示為“位置(Place)”,大都是我一年用不著幾次的資料夾,一直看它不順眼。現在裝UbuntuKylin 14.04,竟然還是沒有改觀。只好大肆搜尋,果然不是我一個人對此覺得不爽,

原文在此:http://jamesmcminn.com/2012/12/removing ... -6-places/

簡單來說就是修改個人目錄 ~/.config 下的 user-dirs.dirs 檔案,將你不想要的都注釋掉或者刪除:# This file is written by xdg-user-dirs-update

# If you want to change or add directories, just edit the line you're

# interested in. All local changes will be retained on the next run

# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped

# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an

# absolute path. No other format is supported.

XDG_DESKTOP_DIR="$HOME/Desktop"

#XDG_DOWNLOAD_DIR="$HOME/Downloads"

#XDG_TEMPLATES_DIR="$HOME/Templates"

#XDG_PUBLICSHARE_DIR="$HOME/Public"

#XDG_DOCUMENTS_DIR="$HOME/Documents"

#XDG_MUSIC_DIR="$HOME/Music"

#XDG_PICTURES_DIR="$HOME/Pictures"

#XDG_VIDEOS_DIR="$HOME/Videos"

儲存好後在本目錄下命令列輸入

echo "enabled=false" > ~/.config/user-dirs.conf

重新啟動看看,是不是清爽了。 

安裝谷歌輸入法

>sudo apt-get install ibus-googlepinyin          log out後重新啟動新增輸入法即可。 

如何修改終端使用者名稱顏色修改為紅色

tipsbychsry:由於輸入特定符號會導致亂碼,亂碼部分用.............顯示,有些截圖顯示!!!!!!!!

整個操作程式碼流程圖片和最終顯示結果

輸入>echo $PS1

顯示:如上圖

在個人使用者資料夾輸入

輸入gedit ~/.bashrc

修改這幾行程式碼

if [ "$color_prompt" = yes ]; then

PS1=....

else

PS1==...

fi

unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir

重改為:

# if [ "$color_prompt" = yes ]; then

#PS1='$..........[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$ '

# else

# PS1='$........................u@h:w$ '

# fi

unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir

然後再檔案的末尾一行加上:

(下一行是截圖)PS1='$...................33[01;31m]u[33[00m]@h:w$ '

儲存後退出,然後source一下,也就是輸入>source ~/.bashrc

root資料夾裡面位置 /root也同樣操作一遍。

以上是我個人的修改。

以下是網上的參考:(再下面是截圖)

customer:        PS1='$........................[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$ '

root:                PS1='$........................[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$ '

Git使用操作:

先安裝git:

sudo apt-get install git git-core

在第一次使用Git時,你需要告訴你的協同開發者,你是誰以及你的郵箱,在你提交的時候,Git需要這兩個資訊。具體通過以下命令設定:

git config --global user.name “XXX”

git config --global user.email XXXXXXX@gmail.com

當你通過ssh協定與遠端伺服器進行通訊的時候,你可以通過以下命令生成ssh金鑰對:

ssh-keygen -C 'XXXXXX@gmail.com' -t rsa

(預設使用前面那行命令,這行也可以)ssh-keygen -t rsa

如果你沒有指定金鑰名稱和存放路徑的話,它預設把兩個不對稱金鑰放在你的家目錄下的.ssh目錄下,金鑰檔案預設名稱為id_rsa和id_rsa.pub,前者是私鑰,後者是公鑰。中間可能會要你設定存取金鑰密碼,這個可以設,可以不設,但為了安全考慮,還是建議你設一個存取密碼。否則,意味著任何持有你金鑰的人都可以使用該金鑰。

將Public Key 新增到GitHub

開啟你的GitHub->SSH Public Key->點選“Add another public key”,  將你的public key(id_rsa.pub)的內容拷貝到GitHub中

可以使用 ssh -v git@github.com 命令來測試連結是否暢通

這些設定完之後,你可以通過獲得任何一個公開的程式碼倉庫來檢測你的git是否工作正常。比如下面這個:

git clone https://github.com/jackyh/qt210_ics_uboot.git

其他技巧:

$ cd ~/.ssh    //檢查計算機ssh金鑰

從Github 用git下載的四種方法

以gerrit-trigger-plugin為例,下面的連結都是從相應頁面上直接拷貝的。

法一:不用github的賬號,開啟這個庫在github上的主頁,執行下面命令即可

(read only)執行命令$git clone https://github.com/jackyh/qt210_ics_kernel3.0.8

下面的三種方法都要先在github上註冊賬戶,然後生成相應的ssh key,並把public key新增到個人賬戶裡面,詳見github幫助

法二:(read+write)$git clone git@github.com:jackyh/qt210_ics_kernel3.0.8.gitit   (需要輸入密碼) (常用第二種)

法三:(read+write)$git clone https://jackyh@github.com/jackyh/qt210_ics_kernel3.0.8.git  (還沒有試過) 

會提示輸入密碼,注意此處的密碼不是你在github上賬戶的密碼,而是當前登入系統使用者的密碼。 (這個真不知道)

法四:(read only)$git clone git://github.com/jackyh/qt210_ics_kernel3.0.8.git

JRE vs OpenJDK vs Oracle JDK

在我們繼續了解如何安裝Java之前,讓我們快速地了解JRE、OpenJDK和Oracle JDK之間的不同之處。

JRE(Java Runtime Environment),它是你執行一個基於Java語言應用程式的所正常需要的環境。如果你不是一個程式設計師的話,這些足夠你的需要。

JDK代表Java開發工具包,如果你想做一些有關Java的開發(閱讀程式),這正是你所需要的。

OpenJDK是Java開發工具包的開源實現,Oracle JDK是Java開發工具包的官方Oracle版本。儘管OpenJDK已經足夠滿足大多數的案例,但是許多程式比如Android Studio建議使用Oracle JDK,以避免UI/效能問題。

檢查Java是否已經安裝在Ubuntu上

開啟終端,使用下面的命令:

java -version

如果你看到像下面的輸出,這就意味著你並沒有安裝過Java:

The program ‘java’ can be found in the following packages:

*default-jre

* gcj-4.6-jre-headless

* openjdk-6-jre-headless

* gcj-4.5-jre-headless

* openjdk-7-jre-headless

Try: sudo apt-get install

在Ubuntu和Linux Mint上安裝Java

看了各種型別‘Java’的不同之後,讓我們看如何安裝他們。

在Ubuntu和Linux Mint上安裝JRE

開啟終端,使用下面的命令安裝JRE:

sudo apt-get install default-jre

在Ubuntu和Linux Mint上安裝OpenJDK

在終端,使用下面的命令安裝OpenJDK Java開發工具包:

sudo apt-get install default-jdk

特殊地,如果你想要安裝Java 7或者Java 6等等,你可以使用openjdk-7-jdk/openjdk-6jdk,但是記住在此之前安裝openjdk-7-jre/openjdk-6-jre。

在Ubuntu和Linux Mint上安裝Oracle JDK

使用下面的命令安裝,只需一些時間,它就會下載許多的檔案,所及你要確保你的網路環境良好:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

sudo apt-get install oracle-java8-set-default

列印訊息:

java version "1.8.0_51"

Java(TM) SE Runtime Environment (build 1.8.0_51-b16)

Java HotSpot(TM) Client VM (build 25.51-b03, mixed mode)

表示已經安裝好了-chsry

如果你想安裝Java 7(i.e Java 1.7),在上面的命令中用java7代替java8。

安??Java JDK6.0:

在ubuntu12.04版本以下按照的辦法

>sudo gedit /etc/apt/source.list

末尾新增deb http://old-releases.ubuntu.com/ubuntu/ hardy multiverse(之前的地址不能用,改為這個!!!!)

將"deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse" 改為"deb http://old-releases.ubuntu.com/ubuntu/ hardy multiverse"就可以了

sudoaddaptrepository"debhttp://oldreleases.ubuntu.com/ubuntu/hardymultiverse"()  sudo apt-get update
$ sudo apt-get install sun-java6-jdk

JDK6.0在ubuntu14.04版本無法使用!!!!!

關於ubuntu的sources.list總結

以一行為例: deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse

每一行的開頭是deb或者deb-src,分別表示直接通過.deb檔案進行安裝和通過原始檔的方式進行安裝。

deb或者deb-src欄位之後,是一段URL,之後是五個用空格隔開的字串,分別對應相應的目錄結構。在瀏覽器中輸入http://archive.ubuntu.com/ubuntu/,並進入dists目錄,可以發現有5個目錄和前述sources.list檔案中的第三列欄位相對應。任選其中一個目錄進入,可以看到和sources.list後四列相對應的目錄結構。

Ubuntu Linux 環境變數PATH設定

>export PATH=/bin/:$PATH

Ubuntu Linux系統環境變數組態檔:

/etc/profile : 在登入時,作業系統客製化使用者環境時使用的第一個檔案 ,此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行。

/etc /environment : 在登入時作業系統使用的第二個檔案, 系統在讀取你自己的profile前,設定環境檔案的環境變數。

~/.profile :  在登入時用到的第三個檔案 是.profile檔案,每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。

/etc/bashrc : 為每一個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.

~/.bashrc : 該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取。

PASH環境變數的設定方法:

方法一:使用者主目錄下的.profile或.bashrc檔案(推薦)

登入到你的使用者(非root),在終端輸入:

$ sudo gedit ~/.profile(or .bashrc)

可以在此檔案末尾加入PATH的設定如下:

export PATH=”$PATH:your path1:your path2 ...”

儲存檔案,登出再登入,變數生效。

該方式新增的變數只對當前使用者有效。

方法二:系統目錄下的profile檔案(謹慎)

在系統的etc目錄下,有一個profile檔案,編輯該檔案:

$ sudo gedit /etc/profile

在最後加入PATH的設定如下:

export PATH=”$PATH:your path1:your path2 ...”

該檔案編輯儲存後,重新啟動系統,變數生效。

該方式新增的變數對所有的使用者都有效。

方法三:系統目錄下的 environment 檔案(謹慎)

在系統的etc目錄下,有一個environment檔案,編輯該檔案:

$ sudo gedit /etc/environment

找到以下的 PATH 變數:

PATH="<......>"

修改該 PATH 變數,在其中加入自己的path即可,例如:

PATH="<......>:your path1:your path2 …"

各個path之間用冒號分割。該檔案也是重新啟動生效,影響所有使用者。

注意這裡不是新增export PATH=… 。

方法四:直接在終端下輸入

sudo export PATH=/usr/local/arm/arm-2009q3/bin/:$PATH

或者sudo export PATH="$PATH:your path1:your path2 …"

這種方式變數立即生效,但使用者登出或系統重新啟動後設定變成無效,適合臨時變數的設定。

注 意:方法二和三的修改需要謹慎,尤其是通過root使用者修改,如果修改錯誤,將可能導致一些嚴重的系統錯誤。因此筆者推薦使用第一種方法。

另外嵌入式 Linux的開發最好不要在root下進行(除非你對Linux已經非常熟悉了!!)

以免因為操作不當導致系統嚴重錯誤。

問題解決1: 因為不小心在 etc/environment裡設在環境變數導致無法登入

提示:不要在 etc/environment裡設定 export PATH這樣會導致重新啟動後登入不了系統

解決方法:

在登入介面 alt +ctrl+f1進入命令模式,如果不是root使用者需要鍵入(root使用者就不許這麼羅嗦,gedit編輯會不可顯示)

/usr/bin/sudo /usr/bin/vi /etc/environment

游標移到export PATH** 行,連續按 d兩次刪除該行;

輸入:wq儲存退出;

然後鍵入/sbin/reboot重新啟動系統(可能會提示need to boot,此時直接power off)

問題解決2:

root@lenovo:~# gedit /etc/profile
Command 'gedit' is available in '/usr/bin/gedit'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.

原因分析:

是因為我在/root/.bashrc末尾一行新增了PATH=/usr/local/arm/arm-2009q3/bin/:$PATH

之後出現的,導致了PATH只有這一個路徑其他路徑都沒有了

解決辦法就是在終端輸入export PATH=/usr/bin/:$PATH

那個命令的路徑沒有,就輸入那個,然後再進入gedit  /root/.bashrc

刪除自己新增的PATH

問題解決3:

在嵌入式開發中如果確實路徑直接在終端新增,這樣子重新啟動後就消失,對系統無害

># export PATH=/usr/local/arm/arm-2009q3/bin/:$PATH

># echo $PATH

/usr/local/arm/arm-2009q3/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

QT210下載燒錄android2.3過程

將安裝所需要的 4 個檔案

arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.tar

u-boot-samsung-dev.bz2

android-kernel-samsung-dev-full.bz2

android-samsung-dev-full-rtl81xx.bz2

複製到虛擬機器本地

/home/armzone/目錄下建立新的資料夾“QT210”,把檔案拷貝到這個目錄

在終端下輸入以下內容,在/usr/local 建立 arm 目錄,必須加建立目錄命令前面必須加 sudo

cd /usr/local

sudo mkdir arm

然後轉到 QT210 目錄下,解壓工具鏈到/usr/local/arm 目錄

sudo tar jxvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.tar -C /usr/local/arm/

(注意!此命令在同一行上,不要用回車換行!圖片上的換行是文字輸入超過視窗寬度時候自動換行,以下所有操作相同。)

命令前面加 sudo,有時會要求輸入使用者密碼,輸完後回車,後續都如此操作,不再提示。

檢視工具鏈是否安裝正確,輸入

ls /usr/local/arm/arm-2009q3/bin/

編譯 U-boot

確保回到 QT210 目錄,解壓縮 u-boot 的原始碼:

命令如下:

tar jxvf u-boot-samsung-dev.bz2

進入 u-boot 程式碼目錄:

命令如下:

cd u-boot-samsung-dev/

清除原來的編譯痕跡:

命令如下:

make clean

make distclean

設定單板型別:

make smdkv210single_config

編譯:命令:

make

最後將當前目錄下生成我們要燒寫的目標檔案'u-boot.bin'

 編譯 Kernel

回到/home/armzone/QT210 目錄

cd /home/armzone/QT210

壓核心原始碼包

tar jxvf android-kernel-samsung-dev-full.bz2

cd android-kernel-samsung-dev-full

uboot 目錄下的 mkimage 檔案拷貝到/usr/bin

sudo cp /home/armzone/QT210/u-boot-samsung-dev/tools/mkimage /usr/bin/

然後執行如下命令:

cp config_QT210_android .config

開始編譯核心

編譯核心命令如下:

make uImage

編完成後將生成檔案'uImage',編譯生成的 uImage 位於 arch/arm/boot 目錄下!

編譯 android

(1)解壓縮 android2.3.1 原始碼檔案,命令如下:

回到 home/armzone/QT210 目錄

(2)安裝所必須的很多庫檔案,這一步很重要,同時需要很耐心:

在安裝庫之前,需要先新增一個下載源,在終端執行以下命令:

sudo gedit /etc/apt/sources.list

gedit 開啟 sources.list 檔案,在最後新加一行,輸入:

deb http://cz.archive.Ubuntu.com/ubuntu hardy-updates main multiverse

deb http://cz.archive.Ubuntu.com/ubuntu trusty-updates main multiverse

點選 Save,儲存後關閉 gedit

編譯過程分兩步:第一步安裝必要的庫,第二部執行編譯指令碼。

新增完源之後,進行源更新,在終端輸入:

sudo apt-get update

(a)庫的第一部分,在終端介面裡面執行如下命令 :

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev g++

(注意!此命令在同一行上,不要插入回車換行!建議把光碟中的 cmd.txt 檔案拷貝到虛擬機器,然後複製命令,以下操作要求相同,不再重複)

中間會出現下載提示,輸入 y,回車即可繼續。(後續安裝過程,需要下載都會有此提示,按此操作,不再重複)

【發現錯誤:無法找到libwxgtk2.6-dev,修改如下:】

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev g++

【網上參考的庫】

sudo apt-get install build-essential

sudo apt-get install make

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install libc6-dev

sudo apt-get install patch

sudo apt-get install texinfo

sudo apt-get install libncurses-dev

sudo apt-get install git-core gnupg

sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl

sudo apt-get install ncurses-dev

sudo apt-get install zlib1g-dev

sudo apt-get install valgrind

sudo apt-get install python2.5

(b)庫的第二部分,在終端介面裡面執行如下命令

sudo apt-get install gcc-multilib g++-multilib libc6 libc6-dev

繼續安裝庫,在終端輸入

sudo apt-get install libncursesw5 libncursesw5-dev libncurses5-dev libncurses5

繼續安裝庫,在終端輸入

(c)安裝 java 庫,包括 sun-java5 和 sun-java6:

首先是安裝 sun-java6    

在ubuntu12.04版本以下按照的辦法(JDK6.0在ubuntu14.04版本無法使用!!!!)

>sudo gedit /etc/apt/sources.list

末尾新增deb http://old-releases.ubuntu.com/ubuntu/ hardy multiverse

sudoaddaptrepository"debhttp://oldreleases.ubuntu.com/ubuntu/hardymultiverse"()  sudo apt-get update 
$ sudo apt-get install sun-java6-jdk 

在安裝過程需要接受 Java 的協定,會自動跳出協定的介面,按“Tab”鍵選中“OK”選中時為紅色背景。

按回車或者空格確認。

->java -version

java version "1.6.0_06"

Java(TM) SE Runtime Environment (build 1.6.0_06-b02)

Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

然後安裝 sun-java5

在終端介面裡面執行如下命令:

sudo apt-get install sun-java5-jdk

(3)執行編譯命令

轉到 andriod 目錄

android 程式碼目錄下,執行如下命令:

對於 32 位系統,

./build_android_32.sh

對於 64 位系統,

./build_android_64.sh

更多Ubuntu相關資訊見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-08/121752.htm


IT145.com E-mail:sddin#qq.com