为了实现在windows下编辑后在linux下编译,需要文件共享,这里有两种方式:
1. 通过虚拟机共享文件夹
在windows下创建文件夹用于共享,打开虚拟机设置选项,操作如下图,步骤2选择已创建的用于共享的文件路径。
ubuntu下,用命令 “cd /mnt/hgfs/”切换到共享文件夹,就可以开始工作了。
缺点是,windows不支持linux中的软连接,若编译链存在于共享文件中,编译会出错, 在这种情况下,我们通常选择第二种网络共享的方式。
2. samba网络共享
首先,ubuntu安装samba服务器,然后通过下面方式设置:
在/etc/samba/smb.conf文件中添加:
[share]
comment = Shared Folder require no password
path = /home/user/work
public = yes
writable = yes
valid users = user
read only = no
browseable = yes
available = yes
browseable = yes
用于设置共享路径和权限。
用ifconfig命令查看ubuntu IP,然后在windows下打开计算机,右键计算机(图中1),选择映射网络驱动器,在弹出中(图中2)选择驱动器盘符和文件夹。
此处192.168.137.222是我的ubuntu IP地址,share是smb.conf中[share],samba会主动映射到你设置的路径下。
这种方式可以避免物理共享中windows下软链接无效的问题,但也带来了跟网络相关的一些缺陷。
3. 保持网络驱动器的有效性
要保持网络驱动有效,就要使ubuntu的IP地址永远不变,所以,当宿主机用无线网且开启dhcp(尤其跟博主一样,工作环境下有很多wifi,会经常切换)这种时候就要想办法保持ubuntu的IP地址不受宿主机影响且能随时保持连接。方法如下:
- 先在vmware虚拟网络编辑器中添加“仅主机模式”的网络,然后在windows下网络适配器中找到物理无线网卡,共享给上述网络,如图
2. 设置虚拟机的网络适配器为上述网络
3. 在windows下cmd命令行输入ipconfig查询虚拟网卡的ip地址
4. 进入ubuntu设置其ip地址与该网络在同一网段,且使用静态IP,互ping能通,则设置有效,按此IP添加网络驱动器,不管连接哪个wifi都不会影响到ubuntu与windows的连接。
4. 设置虚拟机自启
博主用windows下source insight创建工程,编辑ubuntu下的代码,每次开机时,会忘了开虚拟机,直接打开SI工程,导致一堆找不到文件的错误,经过几次教训后,决定让它自启动。
方法如下:
1.找个安静的地方创建文件,命名为“vm_start.bat”, 文件内容为
"D:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -x "D:\Wewins_Development\Ubuntu_Wewins_Dev.vmx"
其中, -x之前的路径为VMware workstations的路径,后面的是虚拟机的路径, 编辑完后双击该文件,能正常打开虚拟机说明文件正确。
2. win+R 打开运行 ,输入gpedit.msc,用户配置–>Windows设置–>脚本(登录/注销),单击登录,在脚本中添加vm_start.bat文件的路径,再开机虚拟机就可以自动启动了, 再也不怕忘记打开虚拟机了。此时可以在windows下用secureCRT等终端仿真程序通过SSH在windows下登录使用ubuntu了。