如何安装VMware Player 4.0.3(并修补安装程序以在我的12.04系统上运行)?

我无法在Ubuntu 12.04 64位上安装VMwarePlayer 4.0.3。对于版本4.0.2,我找到了一个脚本,必须运行该脚本以修补VMware Player,使其在我的系统上正常工作,之后我才能安装4.0.2。
是否有类似的解决方案适用于版本4.0.3?

在 VMware 内核模块更新程序的对话框上,我在编译“虚拟网络设备”时遇到了错误,并出现一个错误消息框:“无法启动服务。” - Marian Lux
2个回答

我遇到了同样的问题,通过编辑应用补丁的脚本中的版本号,我成功地使相同的补丁工作起来。
警告:当涉及到VMware打补丁时,我实际上并不知道自己在说什么,我只是做出了一个看似可行的猜测。
你是否想要尝试这个方法取决于你对风险的态度。但是,嘿,你的VMware Player已经坏了,对吧?我认为最坏的情况是我可以卸载并重新安装4.0.2版本。
我基于我在这里找到的指示进行操作:vmware player compile issue。简化步骤如下:
  1. 下载这个 tarball: http://weltall.heliohost.org/wordpress/wp-content/uploads/2012/01/vmware802fixlinux320.tar.gz
  2. 将该 tarball 解压缩到你的主目录
  3. 编辑文件 patch-modules_3.2.0.sh。找到一行代码 plreqver=4.0.2 并将其修改为 plreqver=4.0.3
  4. 保存文件,然后运行它。 sudo ./patch-modules_3.2.0.sh

如果之前在版本 4.0.2 上运行过相同的补丁,可能会出现以下错误: "/usr/lib/vmware/modules/source/.patched 已找到。你已经对源进行了补丁。退出". 如果看到这个错误,请删除 /usr/lib/vmware/modules/source/.patched 文件,然后重试。


请记得安装补丁包:apt-get install patch。我的最新Kubuntu默认安装中没有它,所以出现了错误。
./patch-modules_3.2.0.sh: line 42: patch: command not found

有时候,版本检查可能不正常。在这种情况下,你可以通过删除紧随"unset product"之后的4行代码来解决问题,这4行代码都以"["开头。然而,这样做可能会增加出错的风险。

+1 太棒了,将4.0.2更改为4.0.3后它起作用了。 - Caterpillar
4此解决方法同样适用于Vmware Player 4.0.4(将patch-modules_3.2.0.sh文件中的4.0.2或4.0.3更改为"4.0.4";检查系统上是否安装了"patch"软件包,或者从Ubuntu软件中心获取;如果在打补丁过程中出现错误,请删除".patched"文件;如果您已经为其他版本打过补丁,请在终端中输入:/usr/lib/vmware/modules/source/.patched)。 - Marian Lux
@dbrewer,我从一个提交的编辑中得到了这个内容,但我无法确定它是否正确,你能看一下并判断是否需要添加到你的答案中吗?“你好,你的回答非常强大,恭喜!!!但是我必须提醒一下,在编辑patch-modules_3.2.0.sh文件之后,我们不仅需要更改plreqver=4.0.3,还需要更改vmreqver=8.0.4,并按照你描述的步骤进行操作。然后它就会起作用。” - Jorge Castro
嗨Jorge。我不确定那个正确不正确。我知道当我最初做这个的时候,我只需要按照我原来回答中描述的方式去做,而且自那以后为了让VMware Player正常工作,我没有改动过任何东西。但是,我必须承认自从五月份那时候以来,可能有些变化,因为内核和VMware Player都发布了更新版本。 - dbrewer
我在VMPlayer 5.0.1上也遇到了同样的问题。这个补丁对这个版本也适用吗? - Pierre de LESPINAY
这么大的协议... :'/ - meditat

适用于不同版本,我已经测试过4.0.4.744019版本:

在控制台中运行vmware-installer -l以获取版本号。

编辑文件patch-modules_3.2.0.sh

寻找行plreqver=4.0.2并将其更改为plreqver=[复制并粘贴版本号,只保留三位数字x.x.x]
删除以下行: unset product [ -z "$vmver" ] && error "VMWare未正确安装在此计算机上" [ "$vmver" == "workstation$vmreqver" ] && product="VMWare WorkStation" [ "$vmver" == "player$plreqver" ] && product="VMWare Player" [ -z "$product" ] && error "抱歉,此脚本仅适用于VMWare WorkStation $vmreqver或VMWare Player $plreqver"
[ "id -u" != "0" ] && error "您必须以root身份运行此脚本" [ -f "$ptoken" ] && error "$ptoken已找到。您已经修补了您的源代码" [ ! -d "$basedir" ] && error "找不到源代码目录'$basedir',请重新安装$product" [ ! -f "$fpatch" ] && error "'$fpatch'未找到,请将其复制到当前目录'$curdir'"
现在通过sudo sh patch-modules_3.2.0.sh来运行补丁。