VMware Player现在版本已经更新到15了,说说目前的使用体验。

VMware Player不知道从什么版本开始改名成VMware Workstation Player了(也许是战略调整?),对于个人非商业用途依旧是免费使用,所以可放心下载,在安装完成的界面和workstation pro一样有一个输入许可证的按钮,可以无视之。打开程序之后选择个人非商业用途,即可无需许可证序列号,程序标题栏中也会有“仅用于非商业用途”的字样。

VMware Player中相比workstation pro,少了很多很多功能,以下为我探索到被阉割的功能:

  • 快照。这个功能很鸡肋,从产品的定位角度来看,被阉割了也正常
  • 虚拟网络编辑器。该功能用于创建/修改/删除vmware的网络适配器,一般来说也不太会用到这个功能。多网卡等高级玩法可能会用到它
  • 虚拟化物理机,连接服务器,映射虚拟磁盘等。这些个功能在workstation pro中位于“ 文件 ”菜单下,除了个“ 映射虚拟磁盘 ”还有点用处之外,其余的基本也不会去碰的
  • 虚拟机的选项中的客户机隔离,访问控制,自动保护,还有高级选项(更改固件类型,UEFI还是BIOS,调试信息,进程优先级等)等。其中固件类型这个挺有用的功能被阉割了还是挺可惜的。之前做了一个UEFI引导的Ubuntu,结果发现没有地方设置虚拟机为UEFI导致开不了机,只得作罢
  • 可能还有很多,就不一一列举了

有些功能看似被阉割掉了,但其实还是存在的,比如说:

  • 使用物理磁盘。在创建虚拟的时候,没有使用物理磁盘的选项,但是可以在创建完虚拟机之后再编辑它,移除之前创建的虚拟磁盘,再添加磁盘,这个时候就可以选择使用物理磁盘了

如果只是用它来玩玩虚拟机,不涉及高级功能的话,VMware Player已经可以满足需求了。但如果像我这样玩转物理磁盘的,Ubuntu to go的,还是得上workstation pro

在Windows下,jvm默认是使用GBK的,这会导致使用utf-8的jar文件调用输入输出方法,尤其是写文件的时候出现乱码的情况。

为了避免乱码的出现,现汇总一下办法:

  1. 大部分方法是修改IDE/项目配置的。这个适用于有源代码的情况,对于只有一个jar文件来说不适用;
  2. 直接修改cmd的代码页为65001,即UTF-8,可修复乱码问题。这个确实是可以的,但是存在几个问题:首先是其他程序可能使用该代码页会出现乱码情况(GBK?UTF-8?),其次是cmd不支持UNC路径,即网络路径。为了支持UNC路径,你得使用powershell
  3. 在cmd中执行 java -Dfile.encoding=UTF-8 -jar .\xxxx.jar。这个也是一种可行的方案。正如上面一点所述,cmd不支持UNC路径,所以如果要在网络路径下执行,还是得用powershell,但是,powershell中似乎执行会出错,提示:错误: 找不到或无法加载主类 .encoding=UTF-8
  4. 这个方法是修改环境变量,在环境变量中增加一条环境变量配置:变量名为: JAVA_TOOL_OPTIONS ,变量值为:-Dfile.encoding=UTF-8。再次启动时jvm就会默认先改变初始化字符集为UTF-8,既解决了乱码问题,同时也可以正常使用powershell,是比较推荐的一种做法