因为很多原因我工作之外更喜欢使用Linux/Ubuntu操作系统。我在家的常用计算机是双操作系统,Windows10 + Ubuntu。Boot来boot去的到也很快,但还是不很痛快。比如,Linux可以access Windows的硬盘分区,可是Windows不支持Linux的ext4分区。又如Google Drive App只有Windows和Mac版,没有Linux版(很奇怪)。有时我会玩老游戏如微软的帝国时代和红警,感谢开源Wine (Wine Is Not Emulator) enables Linux, Mac, FreeBSD, and Solaris users to run Windows applications without a copy of Microsoft Windows. Wine is free software under constant development. Other platforms may benefit as well.
https://wiki.winehq.org/Ubuntu 提供了源程序和binary,很容易安装。wine FAQ 提及At present there are some significant bugs that prevent many 32 bit applications from working in a 64 bit wineprefix。很多Windows程序都是32位的,所以需要32位Linux support:
安装完后,在home folder的.wine目录下,可以找到drive_c,就是mapped的C drive。运行的程序并不必须copy到这个目录下。在这个.wine目录下运行winecfg会自动安装.net等package。之后可以运行wine notepad来确认wine设置成功。
因为我的游戏是中文汉化版,为了中文支持,首先需要在Host OS上加中午支持。
Allow the window manager to control the windows
Emulate a virtual desktop 和 Desktop size
当这两项都没有选取时,游戏显示是正常的,在游戏中改变分辨率,游戏的显示还是正常,但是游戏的快捷键可能不起作用。如果只选第3项,键盘工作正常,但切换游戏分辨率后,一部分屏幕可能不能正常刷新。我相信应该有办法tweak wine解决这个问题,不过最简单的办法就是把3和4都选上,显示是virtual的,而不是全屏的,看起来画面更细致。
On MacOS, refer to https://wiki.winehq.org/MacOS
如上述链接所说的,需要先确保Xquartz已安装。Xquartz也是一个开源软件: https://www.xquartz.org/, an open-source effort to develop a version of the X.Org X Window System that runs on OS X. 在MacOS上32bit wine是基本安装, 64bit 是可选项。设置运行和Linux /Ubuntu基本一样。
总的来说,WINE的solution与VM和container完全不同。 VM是在指令一层simulate,container则必须运行在同种OS,而WINE是把Windows API calls 转换成POSIX API calls on-the-fly,各有千秋。
Update in 2020: 参见winetricks: A useful tool for using common workarounds to current deficiencies in Wine,很方便用来安装runtime support。
0 Comments:
Post a Comment