VirtualBox上搭建Ubuntu开发环境
软件版本:
VirtualBox虚拟机:5.1.8 for Windows hosts x86/amd64
Ubuntu系统:Ubuntu 14.04.5 LTS Desktop (32-bit)
注意:选择Ubuntu版本时,通过访问Ubuntu官方wiki来查看当前版本能否使用软件源(包括:Ubuntu的软件仓库(repository)及其镜像网站)
否则,在使用sudo apt-get install安装软件时会因为无法连接到源而失败!

若要安装64bit的Ubuntu 14.04.5 LTS系统,需要cpu支持hardware virtualization(Intel: VT-x; AMD: AMD-V),并且在BIOS中开启该选项。
我的机器的cpu为:Intel(R) Core(TM) i7-4790 官方网页上指明该cpu支持VT-x
在BIOS中开启(惠普电脑按F10进入),具体开启位置如下图所示:

开启成功后,“设置”--“常规”中就会有ubuntu(64-bit)的下拉选项

并且“硬件加速”标签也不再灰化

一些优化设置:
1. 增大内存

2. 增大显存,并启用3D加速

VirtualBox小技巧:
注:Host默认为Right Ctrl键
Host + F // 全屏模式/退出全屏
Ubuntu小技巧:
Ctrl + Alt + T // 打开一个终端命令行窗口
Ubuntu系统说明:
(1)Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码,enter,
终端会提示我们输入新的密码并确认,此时的密码就是root新密码。修改成功后,输入命令 su root,再输入新的密码就ok了
解决一些小问题:
(1) 解决Ubuntu在VirtualBox中显示区域小的问题: 参考
选择VirutalBox的菜单:设备 -- 安装增强功能;完成后,重启Ubuntu系统
(2) 解决Ubuntu中弹出 “System program problem detected” 对话框问题:
sudo rm /var/crash/* // 执行完后,重启Ubuntu系统
设置共享文件夹:
a.指定host机所要共享的文件夹:

b.将ubuntu用户dev添加到vboxsf用户组中
sudo adduser dev vboxsf // 执行完后,在/etc/group文件中的最后一行变成了:vboxsf:x:999:dev
// 也可以执行groups dev,打印出dev所有的用户组信息
c.重启ubuntu系统后,会看到一个名为sf_Share盘已自动挂载到/media/sf_Share目录中
至此,windows host机和Ubuntu虚拟机进行文件共享了


扩展说明:
手动挂载:sudo mount -t vboxsf Share /media/sf_Share
手动卸载:sudo umount -f /media/sf_Share
Ubuntu使用双网卡
网卡1:用于访问Internet,使用“网络地址转换(NAT)”连接方式 eth0

网卡2:用于宿主机与Ubuntu等其他虚拟机通讯,使用“仅主机(Host-Only)网络”连接方式 eth1

对Ubuntu的网卡2使用静态IP,防止IP变化导致开发不便。

注:宿主机的IP为:192.168.56.1
设置上网代理:
浏览器:系统设置 -- 网络 -- 网络代理

apt-get命令
sudo gedit /etc/apt/apt.conf.d/01proxy (如果该文件不存在, 就新建一个), 写入如下内容:
Acquire::http { Proxy "http://xxx-proxy.yy.com:8080"; };
软件源:
若你觉得安装软件速度很慢,可以参考下列方法来指定Ubuntu软件源到国内镜像服务器上
(1) sudo gedit /etc/apt/sources.list
编辑你的源列表,将原来的内容全部删除(记得备份),添加下面链接的列表中最适合你的源(注意不要全部添加),选择一个最合适你的即可,复制到你的列表中,然后保存列表。
(2) sudo apt-get update 更新源列表信息
可以在运行“sudo apt-get update”时查看一下错误信息,把不能连接的源删除再重新运行“sudo apt-get update ”。
软件安装:
安装synaptic(新立得包管理器)软件安装卸载器
sudo apt-get install synaptic
安装g++编译器(c++编辑器):
sudo apt-get install g++
安装CMake:
sudo apt-get install cmake
安装CMake GUI:
sudo apt-get install cmake-qt-gui // 输入cmake-gui,即可启动带界面的CMake
安装CodeBlocks
sudo apt-get install codeblocks // 输入codeblocks,即可启动CodeBlocks的IDE
安装CodeBlocks插件包
sudo apt-get install codeblocks-contrib
注1:安装完插件包,大量的插件会被启用,会导致CodeBlocks经常卡死
因此,我只启用了Class wizard、Compiler、Debugger、Keyboard shortcuts、Scripted wizard、Code Completion插件
注2:codeblocks的配置文件在~/.codeblocks目录中(当前用户目录的.codeblocks文件夹中,.codeblocks是隐藏的)
用户对codeblocks做的配置信息存储在~/.codeblocks/default.conf文件中
安装Google protobuf
sudo apt-get install libprotobuf-dev protobuf-compiler
创建桌面快捷方式:
(1) 安装gnome-panel
sudo apt-get install gnome-panel
(2) 在当前用户目录的Test文件夹中,生成一个快捷方式文件
gnome-desktop-item-edit --create-new ~/Test // 当前用户目录的Test文件夹必须提前创建好

(3) 最后,将快捷方式文件拷贝到桌面上
软件卸载 -- 以CodeBlocks为例
sudo apt-get remove codeblocks // 卸载codeblocks
sudo apt-get purge codeblocks // 卸载codeblocks,并删除配置文件
sudo apt-get autoremove // 卸载codeblocks及dependencies
VirtualBox上搭建Ubuntu开发环境的更多相关文章
- 在WP8上搭建cocos2d-x开发环境
在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...
- 如何在Windows上搭建Android开发环境
Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...
- 如何在 macOS 上搭建 PHP 开发环境
如何在 macOS 上搭建 PHP 开发环境 Linux, Nginx, MySQL, PHP $ php --version $ php -v # PHP 7.3.11 (cli) (built: ...
- Windows系统上搭建Clickhouse开发环境
Windows系统上搭建Clickhouse开发环境 总体思路 微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级.近年来VS Code越来越受欢 ...
- 在 macOS 上搭建 Flutter 开发环境
下载 Flutter SDK flutter官网下载:https://flutter.io/sdk-archive/#macos 若上述链接无法访问,可通过GitHub下载 https://githu ...
- Windows上搭建android开发环境
在搭建android开发环境时需要四部分内容,框架如下 其中Java SDK和Eclipse在java4android中有过介绍,重点介绍ADT和Android SDK的安装. 安装Android S ...
- 在MAC上安装虚拟机搭建Ubuntu开发环境
由于工作需要,需要在LINUX环境搭建服务器,但是工作中使用的是MAC系统,只好用虚拟机来搭建LINUX服务器环境.下面记录介绍一下搭建步骤以供需要的人参考使用. 下载准备 虚拟机使用VMWare ...
- ubuntu14.04上搭建android开发环境
这几天心血来潮,想在ubuntu上写写android软件.所以就上网找些资料在ubuntu上搭建android环境.结果要么时不完整的,要么就是过时的. 所以我把我搭建android环境的过程写下了, ...
- 入门: 在Windows上搭建Flutter开发环境
使用镜像 由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中: export PUB_HOSTED_URL=htt ...
随机推荐
- Java学习笔记-Math类
并非所有的类都需要main方法.Math类和JOptionPane类都没有main方法.这些类中所包含的方法主要是为了供其他类使用. package welcome; public class Tes ...
- centos 7.0 编译安装php 7.0.3
php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...
- linux查看端口及端口详解
今天现场查看了TCP端口的占用情况,如下图 红色部分是IP,现场那边问我是不是我的程序占用了tcp的链接,,我远程登陆现场查看了一下,这种类型的tcp链接占用了400多个,,后边查了一下资料,说E ...
- 关于break语句如何结束多重循环的嵌套
在Java中的break语句功能大体上同c语言, 用于循环语句中,表示结束当前循环. 但是有时候在循环嵌套语句中,仅仅靠一 个break语句想实现是不够的. 例: 如果想使sum在501时就直接输出, ...
- [Linux] Linux常用文本操作命令整理
简单的总结一下常用的一些实用的Linux文本操作命令,包括wc(统计).cut(切分).sort(排序).uniq(去重).grep(查找).sed(替换.插入.删除).awk(文本分析). 1.统计 ...
- 推荐一些国内的Jquery CDN免费服务
Jquery是个非常流行的JS前端框架,在很多网站都能看到它的身影.很多网站都喜欢采用一些Jquery CDN加速服务,这样网站加载jquery会更快.之前火端网络的一些网站都是使用Google的jq ...
- HDU 1690 Bus System
题目大意:给出若干巴士不同价格的票的乘坐距离范围,现在有N个站点,有M次询问,查询任意两个站点的最小花费 解析:由于是多次查询不同站点的最小花费,所以用弗洛伊德求解 时间复杂度(O^3) 比较基础的弗 ...
- JS 初级 二(接上)
传送门--http://www.cnblogs.com/Sabo-dudu/p/5786683.html (一) 六. JS 数组类型 数组是一种保存数据的有序列表,数组的每一项可以保存人意类型的数据 ...
- 常用vim插件的安装、使用和管理
1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和 ...
- 将Vuforia程序发布到Windows10系统的基本流程
最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents ------------------------------------------ ...