需求背景

嵌入式开发环境以编译服务器(Linux系统)为核心, 开发人员较多使用Windows系统, 通过若干工具, 可以实现开发人员使用Windows的开发工具,编写代码,然后在Linux系统上编译、执行、调试代码的过程。如下图,两个元素都是不同的主机, 通过网络连接通信:

  这种是实际工作状态的要求, 在服务器具有强大的计算能力,能够编译较大的功能。 那么问题来了, 往往在个人场合,不用考虑服务器的计算能力, 只有自己的一台笔记本,那么如何在单机上实现这种构建工具呢?

答案当然是虚拟机了, 在笔记本上安装虚拟机, 虚拟机上安装Linux服务器版本, 然后笔记本作为客户端。下面进行详细描述。

相关软件

VirtualBox

Oracle VirtualBox是由德国InnoTek软体公司出品的虚拟机器软体,现在则由甲骨文公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部份。它提 供使用者在32位元或64位元的Windows、Solaris及Linux 作业系统上虚拟其它x86的作业系统。使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、OpenBSD及FreeBSD等系统作为客户端作业系统。

官网下载地址: https://www.virtualbox.org/wiki/Downloads

选择你系统一致的版本下载。

Ubuntu Server

Ubuntu 服务器是自如扩展计算的领先平台。无论您是想部署一个 OpenStack 云、一个 Hadoop 集群还是一个 50,000 个节点的渲染农场,没有任何服务器能比 Ubuntu 服务器提供更有价值的自如扩展性能。

官网下载地址: http://www.ubuntu.org.cn/download/server

XShell

Xshell是windows下SSH远程登录Linux软件,通过SSH提供安全的Telnet访问。

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色,帮助用户在复杂的网络环境中享受他们的工作。

Xshell适合于初级用户和高级用户。它的界面友好,为高级用户提供了更强大的功能。

官网地址:http://www.netsarang.com/products/xsh_overview.html

下载地址: http://www.netsarang.com/xshell_download.html

家庭和学校使用免费。

安装过程

1、 下载VirtualBox,安装完毕后, 在其上建立Ubuntu Server虚拟机

  网络配置默认为NAT, 需要修改为 Bridge Adaptor模式, 这样虚拟机和主机一样, 可以拿到同一网段的地址, 既可以相互通信了。

2、 在Ubuntu Server上安装 SSH服务器

  参考 http://shenji.io/ubuntu-server-using-the-ssh-service-and-remote-management.html

3、 在Ubuntu Server上安装 Samba服务器

参考 http://blog.csdn.net/i_chips/article/details/19191957

$ sudo apt-get install samba

一般来说,该目录的权限为755,将其改为777之后,Owner之外的其他用户才有权限写入。

$ sudo chmod 777 /home/share

$ sudo vim /etc/samba/smb.conf

在smb.conf最后添加:

[share]

path = /home/share

browseable = yes

writable = yes

comment = smb share test

三、创建samba用户

注意,创建samba用户之前,必须先确保有一个同名的Linux用户,否则samba用户会创建失败。

$ sudo smbpasswd -a smbuser

四、重启samba服务

$ sudo service smbd restart

4、 安装Xshell

  查看服务器IP,使用服务器的账户登录SSH,然后用户可以使用系统命令了, 例如ls cat mv

5、 使用samba访问服务器文件

  查看服务器IP, 运行窗口输入 \\IP, 然后在弹出的认证窗口中输入 第三部建立的  账号, windows上可以查看linux的共享目录, 可以拖个文件上去, 然后到Xshell的登陆会话中使用ls测试下。

至此, 环境搭建完毕, 命令输入使用 Xshell,  对文件的编写修改使用samba, 即实现windows使用windows工具写代码, 然后使用LInux编译程序。

实验

笔记本电脑地址如下:

虚拟Ubuntu Server IP如下:

windows 通过samba访问 LInux的共享目录, 并使用编辑器sublime 建立 helloworld.c

通过XShell编译执行 helloworld.c

Virtualbox+UbuntuServer+Xshell搭建Linux开发环境的更多相关文章

  1. Win7 搭建Linux开发环境

    Vargant Vagrant 是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境.它使用 Oracle 的开源 VirtualBox 虚拟化系统,使用 Chef 创建自动化虚拟环境. 功能特 ...

  2. Win10搭建Linux开发环境之网络连接设定

    一直想在家自己搭建一个LINUX服务器,好在上面安装个ORACLE数据库玩玩. 上次用了Ubuntu,结果ORACLE没装成功,现在换个思路,采用CentOS 7作为Linux服务器, 之后再进行构建 ...

  3. 使用VirtualBox+Vagrant快速搭建Linux虚拟机环境

    1. 软件准备 下载.安装Virtual Box https://www.virtualbox.org/wiki/Downloads 下载.安装Vagrant https://www.vagrantu ...

  4. 用Windows+VirtualBox搭建嵌入式Linux开发环境

    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

  5. 一步步学习Linux开发环境搭建与使用

    00.Linux开发环境搭建与使用1--Linux简史 01.Linux开发环境搭建与使用2--Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3--通过虚拟机安装系统(ub ...

  6. Linux开发环境的搭建和使用——Linux本必备软件SSH

    SSH 至 Secure Shell 缩写.由 IETF 网络工作组(Network Working Group)开发:SSH 以建立应用层和传输层安全协议中的基础上. SSH 是眼下较可靠,专为远程 ...

  7. Linux开发环境搭建与使用系列教程

    00.Linux开发环境搭建与使用1——Linux简史 01.Linux开发环境搭建与使用2——Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3——通过虚拟机安装系统(ub ...

  8. 使用window10系统搭建完善的Linux开发环境

    https://juejin.im/post/5d22e46ee51d45775746b9b1 导读 在使用window系统开发时由于系统环境和线上环境不一致可能导致各种问题,以及部分扩展库只支持li ...

  9. 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!

    今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息. 1 安装 你必须安装开发者预览版本,才能使 ...

随机推荐

  1. PHP 错误与异常 笔记与总结(14 )记录和发送异常信息

    当发生异常时,把异常信息记录到日志文件中: <?php header('content-type:text/html; charset=utf-8'); class LogException e ...

  2. python实现查找指定文件

    若不包含子目录的遍历: import glob for filename in glob.glob("/data/testdata/*.jpg"): print filename ...

  3. visual studio 2005 编fortran程序,运行后dos窗口显示问题

    比如程序: program main implicit none write(*,*) "AAAAAAAAAAAAAAAAAAAAAAAA" stop end 虽然可以看见DOS窗 ...

  4. 一个高度压缩的bit位图字典的实现

    微软实现的字典功能简单方便,出于全局性考虑,其内部实现比较复杂,在对海量数据处理时,仅仅存放一个对象地址就将占据32个bit(64位机器中占据64个bit),而且其内部通过int[]来处理hash桶, ...

  5. ubuntu下交叉编译windows c程序

    简介 采用mingw32可以在linux下直接编译c程序输出为windows下的exe程序或dll链接库. 个人编译的纯c程序(不含winapi),主要是c99程序,通常采用gcc/cc编译调试后,再 ...

  6. 在VC6.0中编译头文件时产生moc文件

    1.在FileView视图中 右键点击需要产生moc文件的头文件(就是类中包含Q_OBJECT宏,如果没有这个宏就不需要产生moc文件) 2.在右键菜单中选择Setting... 3.选择Custom ...

  7. 位与(&)常用编程技巧

    补充知识:1)正整数的补码与原码相同:                2)求负整数的补码:原码 符号位不变,数值位各位取反,最后整个数加1得到补码:                3)按位与& ...

  8. 系统默认Select框 知多少

    <div class="user_base_info_list"><div class="user_base_info_lab">学制: ...

  9. jquery.autocomplete.js 插件的自定义搜索规则

    这二天开始用jquery.autocomplete这个自动完成插件.功能基本比较强大,但自己在实际需求中发现还是有一处不足!问题是这样:当我定义了一个本地数据JS文件时,格式为JSON式的数组.如下: ...

  10. Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?

    问题:我有个 Linux 进程运行在多核处理器系统上.怎样才能找出哪个 CPU 内核正在运行该进程? 当你在 多核 NUMA 处理器上运 行需要较高性能的 HPC(高性能计算)程序或非常消耗网络资源的 ...