VMware 下安装Ubuntu的吐血经历

一:起因

(1)自己学习Linux的历程

自己一直想着在Linux下面练习、学习一下Python,以及C编程;shell编程也顺带;今天突然来了兴趣,就开始安装了。

(2)血泪史

话说,自己第一次安装WMware 、Vbox不记得什么时候了,最近一次是在学习Hadoop 的Map/Reduce时候,又安装了一次,由于前面几次,安装版本的不同(Ubuntu),可能每一次遇到的问题也不同,可惜的是 —— 自己没有进行任何记录,才导致了今天吐血的经历(大概花了我半小时来解决开机就进入类似dos的命令行界面,自己就是忘了如何进入UI窗口界面)

(3)不知道,各位大虾们,是否和鄙人遇到过类似的拙计情形 —— 明明是前几天遇到的类似问题(ps:当时已经解决),这一次又的浪费同样的时间或者更多的时间处理这个问题;而且自己心情非常不爽(ps:明明自己处理过了)

二:缘由和结果

(1)大概花了我半小时来解决开机就进入类似dos的命令行界面,自己就是忘了如何进入UI窗口界面

自己首先各种百度 google 啦 —— 

1)linux 公社 :

在VMware下安装了Ubuntu 10.4的虚拟系统,使用起来,有时候感觉字符命令界面更方便,比如编程;有时候感觉Xwindow用户界面更方便,比如上网。

于是,就想如何切换界面呢?

首先说明,在VMware中,用户按CTRL + ALT,执行的是将光标焦点从虚拟系统返回PC机的命令。

在Xwindow界面下,按SHIFT + CTRL + ALT + F1/F2/.../F6,分别可以切换到各个字符命令界面。

在字符界面下,按ALT + F2/.../F7,可以切换到其它字符界面或Xwindow用户界面,其中F7是Xwindow用户界面。

兄弟我也比较愚笨,就按照人间讲的,挨个的按键,这顿狂按。。。(没反应)

2)百度知道:

LT+CTRL+SPACE(空格),ALT+CTRL不松开,再按F1,从图形界面切换回字符界面之后,没有显示用户名,只有一个光标,无法执行命令。这个该怎么办啊?

不知所云,我就蒙了

3)百度贴吧

昨天用Vmware装的,装完进去后是个DOS界面,好像有输入密码之类的,我输了可是没反应啊!应该怎么正确安装啊?

startx没反应就sudo apt-get install kde  

问题解决了,输入startx命令即可

4)后来,csdn上又找到更加详细的解答

1、按ALT+CTRL+F1切换到字符界面(Linux实体机)

     如果是VMware虚拟机安装的Linux系统,则切换到字符界面的时候需要以下操作

     按下ALT+CTRL+SPACE(空格),ALT+CTRL不松开,再按F1。这样就可以切换到字符界面了。

2、按ALT+CTRL+F7切换到图形界面(Linux实体机)

     如果是VMware虚拟机安装的Linux系统,则切换到图形界面的时候需要以下操作

     按下ALT+CTRL+SPACE(空格),ALT+CTRL不松开,再按F7。这样就可以切换到图形界面了。

    在Linux中一般有ALT+CTRL+F1----F6为字符终端(字符界面),ALT+CTRL+F7为图形界面。不同的发行版本可能有一些差别,但切换方法都是一样的。可以自己试试就可以知道哪些是字符终端,哪些是图形界面。

    如果想 Ubuntu 在每次启动到 command prompt ,可以输入以下指令:

    $echo “false” | sudo tee /etc/X11/default-display-manager

    当下次开机时,就会以命令行模式启动(text模式,字符界面登录),如果想变回图形界面启动(X windows启动),可以輸入:

    $echo “/usr/sbin/gdm” | sudo tee /etc/X11/default-display-manager

    如果在Ubuntn以命令行模式启动,在字符终端想回到图形界面的话只需以下命令:

    $startx

(3)最近在虚拟机里装了个Ubuntu,但不知道怎么设置屏幕分辨率,在Ubuntu系统设置里貌似没法设置,虚拟机是vmware9,系统是Ubuntu 12.10
 
1) 百度某一答案: Edit → Preferences → Display (勾选 Autofit guest、  点Autofit guest那个就是Fullscreen那个的第一个选项 )→ OK(未成功)
  2)csdn 上:在ubuntu里设的:
ubuntu左侧一栏有工具选项System Settings,选择中间一栏Hardware中的Display,在弹出的对话框中可设置分辨率,然后点击Apply应用就可以了。(正解)
另一个问题,仍没有解决 —— 希望大牛给予答案
 1)虚拟机的任务栏被挡住了,要看到任务栏,还必须拖动滚动条

VMware的菜单栏,勾选如下菜单:View -> Autofit Guest  后,就可以自实行全屏了 你就会发现,虚拟机的桌面能随着VMware窗口大小的改变而改变,并且实现满屏(未成功)

(4)小记:不管问题,或大或小,遇到的问题一定要及时记录下来;以防今后犯同样可耻的错误。

三:其它问题小记

(1)ubuntu安装软件太慢,如何解决?

而你的网速又不慢,无论是虚拟机或者实体机安装。如果是你是图形界面的(桌面版)的用户,在用自带的软件管理中心安装软件的时候也会感觉很慢,多半原因是sources.list。路径位于:/etc/apt/sources.list

如何找到最适合自己的源列表:
首先,国内用户,一般情况下,用163的源都是没什么问题的,但是163也不是在所有地方都是最快的。网易的源地址为:百度搜索“163 mirrors”
除了163之外,TW同胞创建了一个有意思的站点:google搜索“ubuntu night”
该站点会自动检测离你最近的源、对你来说最快的源、最稳定的源。

更新源之后可能下载依然有问题,这个时候运行下面命令即可:
sudo apt-get update

注意:源的第一个词是人名(Karmic(9.10)),要是更新报错的话,记得及时更改其他的名称 http://www.oschina.net/code/snippet_105637_34442

2) 在使用apt-get的时候,提示 The package lists or status file could not be parsed or opened. 不能进行正常更新。

解决:

sudo rm -vf /var/lib/apt/lists/*

sudo apt-get update

3) Ubuntu中执行sudo apt-get install出错:E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?

解决方案请见 点击原文    总之:一句话 —— 假如你是在VMWare 安装的Ubuntu,你的源也按照163的更新过了,2)也执行了,那就是网络连接不正常,重启Ubuntu 网络连接正常即可。

(2)vim 操作技巧

如何使用:这个入门应当也很简单的,在终端输入vimtutor即可弹出简单易懂的操作说明,一共有7讲,非常适合初接触者训练。
    Vim有三种模式:命令行模式,插入模式,底行模式

1)命令行模式是进行一些基本命令的操作,进入Vim就是这种模式,如可以用h,j,k,l来控制光标的移动等

2)在命令行模式下按下i就进入插入模式,此时可以插入需要的文本,

3)(按esc键即可到命令好模式,也可以用ctrl+【代替esc)底行模式一般先输入:,此时就切换到该模式了,可以执行文件的保存,Vim的退出等操作(:wq -- 保存并退出,需要sudo vim;:q! -- 不保存退出)

(3)输入法: 下面的只是一部分,详细请见 http://www.cnblogs.com/zhj5chengfeng/archive/2013/06/23/3150620.html 或者联系我本人安装IBUS

1)默认只有英语一中,可以安装其他输入法;
IBus拼音:sudo apt-get install ibus-pinyin
IBUS五笔:sudo apt-get install ibus-table-wubi
谷歌拼音输入法:sudo apt-get install ibus-googlepinyin
Sun拼音输入法:sudo apt-get install ibus-sunpinyin

当然若是root用户,不用加sudo;

2)输入法的切换
输入法切换:Ctrl+空格

(4)补充一个hello word程序

1)准备工作
打开控制台:使用快捷键 Ctrl + Alt + T;
安装vim:输入 sudo apt-get install vim;
安装gcc:输入 sudo apt-get install g++。(注意gcc -c / -o 是编译c程序的;g++ -c / -o 才是编译c++程序的)

或者 在系统里安装G++ GCC,它们就是Linux下的C++/C的编译器。代码如下 sudo apt-get install build-essential
2)编写hello.c源代码 或者直接用系统自带的文本编译器打开

新建文件名为hello.c的源文件:输入vim hello.c;
键入i 进入insert模式(即编辑输入模式),写入如下经典代码:

//the first program hello.c
#include
int main(void)
{
printf("Hello, world!\n");
return 0;
}
 输入完成后,Esc 回到normal模式,键入:wq 保存退出vim。
3)编译hello.c
在终端执行  g++ hello.c -o hello 编译。
4)运行程序hello
./hello 就看到结果:
Hello,world!

(5) Ubuntu下挂载U盘

第一步:查看U盘信息 
首先使用  sudo fdisk -l 命令查看一下U盘在那里, 
这个信息查看后,可能会类似看到下面信息:
……
   Device Boot      Start         End      Blocks   Id  System 
/dev/sdb1   *           1         487     3903795    b  W95 FAT16 
Partition 1 has different physical/logical endings: 
     phys=(633, 254, 63) logical=(486, 0, 63)

第二步:挂载U盘到指定节点 
我们把 U 盘挂载在 /media/u 目录下 (上面我们可以看到是一个FAT16的格式的U盘)    
# mount  -t vfat /dev/sdb1 Desktop/zyp 
如果是 ntfs 格式的U盘,则类似如下: 
# sudo mount -t ntfs-3g /dev/sdb1 Desktop/zyp 
/media/u 为你要挂载到的节点,这个你可以随便指定
之后你就可以通过 cd Desktop/zyp  访问U盘了。

第三步:卸载u盘 
输入命令:# sudo umount  /media/u U盘卸载了(注意:此时不能够在Desktop/zyp目录下输入前面的卸载命令,否则系统会认为你的“设备忙”而拒绝U盘的卸载)。
参考资料 
ubuntu mount u盘 
http://www.gagahappy.com/ubuntu-mount-u-driv/ 
ubuntu挂载/卸载U盘的方法 
http://hi.baidu.com/fhdone/blog/item/d80aef198dddc54d43a9ade6.html

(6)中文乱码,打开文件

ubuntu 12.04 vim gedit中文乱码解决
添加中文字符编码:
$sudo vim /var/lib/locales/supported.d/local
#添加下面的中文字符集
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030
使其生效:
$sudo dpkg-reconfigure locales
vim:
打开vim的配置文件,位置在/etc/vim/vimrc
在其中加入
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set encoding=prc
保存退出
source /etc/vim/vimrc
此时vim就能正确显示中文了。
--------------------------------------------------------------'
gedit:
Gedit 3.x 版本设置 (适用于Ubuntu 11.10及以后) 
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','CURRENT','GB18030','ISO-8859-15','UTF-16']"
--------------------------------------------------------------'
pdf:
$sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional #安装pdf的中文字体
$sudo apt-get install poppler-data #安装解决pdf中文显示乱码的软件
$cd /etc/fonts/conf.d 
$sudo cp 49-sansserif.conf 49-sansserif.conf_backup #先备份下
$sudo rm 49-sansserif.conf #删除
在打开pdf文件,就能呢个正常显示中文了
(7) Python 编译器的安装
1)更改版本设置 --- 问题描述: Ubuntu 12中默认就自带了python的2.7版本,我自己安装了一个python3.2的版本,可是如果你不设置环境变量,那么在终端中运行的python都是系统默认的版本,这样就会导致3.2的程序在终端下无法运行,没有办法必须要将默认的python版本换到3.2.
问题分析:其实在linux系统中多个python版本是可以共存的,只不过在终端中运行的时候,输入 python2.7 或者 python3.2 就能进入不同的版本了, 而且在你的*.py文件中可以用 #!/usr/bin/python  来指定程序的解释器版本,不过这样使用起来有些不方便,所以就把/usr/bin/python这个快捷方式的指向修改下好了。
2)解决方法:
sudo cp /usr/bin/python /usr/bin/python_bak,先备份
sudo rm /usr/bin/python,删除
sudo ln -s /usr/bin/python3.2 /usr/bin/python,默认设置成python3.2
这样在终端中输入python默认就是 3.2版本了
3)安装:
1. Run below command to add PPA to your repository
sudo add-apt-repository ppa:fkrull/deadsnakes
2..Then you can update your repository and install Python 2.6
sudo apt-get update
sudo apt-get install python2.6 python2.6-dev
4).py文件的执行:
首先确保  该脚本有执行权限
打开终端
chmod a+x /路径/xx.py
执行
python  xxx.py
(8)版本的管理和查看
 1)查看系统信息:
    方法一:cat /etc/issue
    方法二:cat /proc/version (操作系统的版本)
    方法三:uname -a   (操作系统的位数)

    方法四:lsb_release -a
    方法五:cat /etc/lsb-release
  2)二、查看软件信息:
    Ubuntu中查看已安装软件包的方法: sudo dpkg -l
    在终端下也可以很方便查看已安装的软件包版本号,也能单独查看所需要的软件包是否已安装和版本号,还能查看可升级的软件包。在终端下要     实现这个目标就要用到一个软件工具叫做apt-
    安装好之后就可以在终端下使用命令:
    $apt-show-versions

   来查看所有已安装的软件包和版本号,不过结果太多会一扫而过,加上终端的自有脚本more来打印每一屏的结果:
   $apt-show-versions |more 这样子打印满一屏就暂停,按下回车键打印下一行,按下空格键打印下一屏,按下Q键退出打印结果。
    如果想查看单个软件包的版本,则使用命令:
   $apt-show-versions –p //是软件包名,不含符号

   如果想查看可升级的软件包,则使用命令:
   $apt-show-versions –u
如果没有任何可以升级的软件包,上面那条命令是不会返回任何结果的。更多的参数查看man,这两个方法哪个好用仁者见仁了。
(9)Linux分区的建立
  1)挂载点的意义 (mount point):
每个 filesystem 都有独立的 inode / block / superblock 等信息,这个文件系统要能够链接到目录树才能被我们使用。 将文件系统与目录树结合的动作我们称为『挂载』重点是:挂载点一定是目录,该目录为进入该文件系统的入口。 因此并不是你有任何文件系统都能使用,必须要『挂载』到目录树的某个目录后,才能够使用该文件系统的。举例来说,应该会有三个挂载点才是, 分别是 /, /boot, /home 三个 (系统上对应的装置文件名为 /dev/hdc2, /dev/hdc1, /dev/hdc3)。 那如果观察这三个目录的 inode 号码时,我们可以发现如下的情况:
[root@www ~]# ls -lid / /boot /home
2 drwxr-xr-x 23 root root 4096 Sep 22 12:09 /
2 drwxr-xr-x  4 root root 1024 Sep  4 18:06 /boot
2 drwxr-xr-x  6 root root 4096 Sep 29 02:21 /home
 2)文件系统特性
磁盘分区完毕后还需要进行格式化(format),之后操作系统才能够使用这个分割槽。 为什么需要进行『格式化』呢?这是因为每种操作系统所配置的文件属性/权限并不相同, 为了存放这些文件所需的数据,因此就需要将分割槽进行格式化,以成为操作系统能够利用的『文件系统格式(filesystem)』。由此我们也能够知道,每种操作系统能够使用的文件系统并不相同。 举例来说,windows 98 以前的微软操作系统主要利用的文件系统是 FAT (或 FAT16),windows 2000 以后的版本有所谓的 NTFS 文件系统,至于 Linux 的正统文件系统则为 Ext2 (Linux second extended file system, ext2fs)这一个。 此外,在默认的情况下,windows 操作系统是不会认识 Linux 的 Ext2 的
文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块中。 另外,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。

(16)linux 命令大全查询     Linux shell 编程入门   Ubuntu快捷键大全 廖雪峰的官方网站  个人GitHub

你可能感兴趣的:(Python,&,Shell,of,Linux)