Ubuntu开发笔记

这些操作在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 

 

解决ssh 远程登录ubuntu 终端中文显示乱码[设置ubuntu的语言环境]

在终端直接输入,只对目前的终端实时生效,也可以在/etc/profile末尾行输入export LC_CTYPE="zh_CN.UTF-8",重启永久生效。

# export LC_CTYPE="zh_CN.UTF-8" 

# locale

科普:

在Linux中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<</span>语言>_<</span>地区>.<</span>字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置:

1.    LC_COLLATE
定义该环境的排序和比较规则

2.    LC_CTYPE
用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。

3.    LC_MONETARY
货币格式

4.    LC_NUMERIC
非货币的数字显示格式

5.    LC_TIME
时间和日期格式

6.    LC_MESSAGES
提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。

7.    LANG
LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。

8.    LC_ALL
它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。

C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。

 

 

解决gedit编辑器中文乱码问题

先决条件:gedit3.x版本需要安装dconf-editor:sudo apt-get install dconf-tools(ubuntu12.04以上都是这个版本)

先决条件:gedit2.x版本gconf-editor:sudo apt-get install gconf-editor然后按照网上的设置就可以解决这个问题。请百度。

下面一行是我最新才用的命令行,目前在英文环境也没有出现问题。

gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'UTF-8', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

当然后面两行也是OK的,但是我的ubuntu在英文环境还是会出现乱码,需要在中文环境才行。

gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"
gsettings set org.gnome.gedit.preferences.encodings shown-in-menu "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"

当然也可以输入dconf-editor在里面修改,请参考我转载的文章。

 

修改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后重启添加输入法即可。 

 

如何修改终端用户名颜色修改为红色

整个操作代码流程图片和最终显示结果

输入>echo $PS1

显示:如上图

在个人用户文件夹输入

输入gedit ~/.bashrc

修改这几行代码

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
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='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
# else
#     PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
# fi
unset color_prompt force_color_prompt

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

其实也就是终端的PS1的设置注释掉然后在末尾一行重写。在末尾一行加上:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[00m\]@\h:\w\$ '

保存后退出,然后source一下,也就是输入>source ~/.bashrc

root文件夹里面位置 /root也同样操作一遍。

根据个人喜好可以自由定制,也可以这样修改:

customer:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[00m\]@\h:\[\033[01;33m\]\w\[\033[00m\]\$ '
root: PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[00m\]@\h:\[\033[01;33m\]\w\[\033[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

$ cat ~/.ssh    //检查计算机ssh密钥

$ git config --list    //git配置环境

$ git  branch -a     //查看所有的分支名称

$ git branch <分支名>    //创建分支

$ git checkout <分支名>    //切换分支

$ git pull origin master:master  |  git pull     //更新远程分支到本地

$ git status 

 

从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

 

Git创建远程仓库

1.创建一个本地git仓库

$ mkdir gittest  
$ cd gittest/  
$ git init  

2.向仓库添加一个文件并提交到本地

$ echo "first file" >> README  
$ ls  
README  
$ cat README   
first file  
$ git add .  
$ git commit -a -m "add README"  
[master (root-commit) 85b54e5] add README  
 1 file changed, 1 insertion(+)  
 create mode 100644 README  
2.在本地仓库添加一个远程仓库,并把本地仓库master分支跟踪到远程分支
$ git remote add origin git@github.com:chsry/gittest.git  
$ git push origin master   
注:
1、出现错误ssh: connect to host 192.168.1.32 port 22: Connection refused标明openssl服务器没有安装,$ sudo apt-get install openssh-server 
2、git@github.com:chsry/gittest.git 这个地址必须是存在的,已经创建好了的仓库。
3、git add <本地目录名>和git commit 两个步骤缺一不可。只有完成这两个步骤才能将修改push上去远程仓库。
 

Minicom的安装和使用

下载安装minicom:   sudo apt-get install minicom

USB转串口,所以是ttyUSB0,不过还是可以通过命令查看一下:dmesg | grep usb

插入U转串,查看设备驱动加载情况: lsmod  或者输入   lsmod | grep usbserial

配置: sudo minicom -s

  选择“Serial port setup”,出现串口配置菜单:

    按A,修改串口设备,如使用U转串就改为/dev/ttyUSB0,按回车确定

    按F,将硬件流控制设置为NO,按回车确定
  选择第一个选项Fienames and paths-Enter
    (1)A - download 下载文件的存放位置(开发板 ---> PC)
    (2)B - upload 从此处读取上传的文件(PC ---> 开发板)
进入串口窗口:sudo minicom
   组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。
  (1)S键:发送文件到目标系统中;
  (2)W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用。
  (3)C键:清除屏幕的显示内容;
  (4)B键:浏览minicom的历史显示;
  (5)X键:退出mInicom,会提示确认退出。

 

adb的安装和使用

安装: apt-get install android-tools-adb

 

 

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"就可以了

$ sudo add-apt-repository "deb http://old-releases.ubuntu.com/ubuntu/ hardy multiverse" (如果按照上面的设置此行代码就不用了)

$ 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

>之前这样修改错误的,应该在/root/.bashrc末尾一行添加export PATH=$PATH:/usr/local/arm/arm-2009q3/bin

问题解决3:

在嵌入式开发中如果确实路径直接在终端添加,这样子重启后就消失,对系统无害

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

或者export PATH=/usr/local/arm/arm-2009q3/bin/:$PATH (应该是一样的,别忘了加export就行)

># echo $PATH

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

 

用SSH2客户端登陆UBUNTU  

前提工作:两台机器能够ping 通IP地址。原来ubuntu默认的ssh服务是没有安装的.SSH分客户端openssh-client和openssh-server
如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server
sudo apt-get install openssh-server
然后确认sshserver是否启动了:
ps -e |grep ssh
如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动:sudo /etc/init.d/ssh start
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。
然后重启SSH服务:
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start
然后使用以下方式登陆SSH:
ssh username@192.168.0.100 username为192.168.0.100机器上的用户,需要输入密码。断开连接:exit
或者 ssh -l username 192.168.100.88
开启ssh服务:sudo service ssh start
关闭ssh服务:sudo service ssh stop
注:可以使用SecureCRT来登陆SSH 选择ssh2,hostname:IP地址,Username:chsry.(tipsbychsry:验证可用)

 

Windows 使用ftp服务给ubuntu传输文件设置

默认没有安装,需要>sudo apt-get install vsftpd

安装VSFTPd后,其默认为匿名FTP服务器,只允许匿名用户登录。

>sudo gedit /etc/vsftpd.conf

把listen=YES | anonymous_enable=YES | local_enable=YES | write_enable=YES | local_umask=022 前面的#去掉,保存退出,然后重启>service vpftpd restart

使用CuteFTP等工具即可连接ubuntu。(tipsbychsry:验证可用)

 

Ubuntu下共享文件夹给windows

$ sudo apt-get install samba

然后在需要共享的文件夹右键设置共享,使用ifconfig获取ubuntu的ip地址,在windows访问此ip地址即可。

 

 

 

  

作者:chsry
出处:www.cnblogs.com/chsry
日期:2016-02-16-11:49:26
本博客文章,大多系个人整理开发,转载请注明出处

 

posted @ 2015-08-14 12:45  chsry  阅读(905)  评论(0编辑  收藏  举报