解决Ubuntu系统下的VMware Workstation无法打开虚拟网络编辑器界面的问题
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=630
操作环境:
Ubuntu 17
VMware 14 pro for Linux
问题描述:
我在Ubuntu 17下安装了VMware14,并且激活了,但是当我在图形界面打开VMware的虚拟网络编辑器(Virtual Network Editor)时却出现了让我输入密码的界面:
图 1
但是无论我输入VMware的激活码还是Ubuntu的磁盘加密密码(我在安装Ubuntu时选择了加密整个磁盘)或者root用户的登陆密码都是在点击“确定”之后都没有任何可见的响应,VMware的虚拟网络编辑器界面并没有打开。
之后,我在VMware的官网上Using the Virtual Network Editor查找到可以使用 vmware-netcfg 这个命令打开虚拟网络编辑器,于是,我在终端输入了 vmware-netcfg ,但是仍然显示了上面的密码输入框,并且终端上显示了一条信息:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
我接着尝试了在终端使用”sudo vmware-netcfg”来打开虚拟网络编辑器,输入Ubuntu的root密码后VMware没有弹出上面那个要求输入密码的窗口,但是终端上显示了如下的信息:
“No protocol specified xcb_connection_has_error() returned true Home directory not accessible: Permission denied No protocol specified xcb_connection_has_error() returned true Home directory not accessible: Permission denied No protocol specified ** (vmware-netcfg:12643): WARNING **: Could not open X display No protocol specified (vmware-netcfg:12643): Gtk-WARNING **: cannot open display: :0 ”
此时,Ubuntu上的VMware是激活状态。如图:
图 2
除了这个问题,还没有发现VMware的其它问题,此时的VMware可以安装并运行虚拟机,我也没有发现在使用VMware的其它选项时出现上面要求输入密码的情况。
解决步骤:
上面这部分问题描述是我在知乎的提问HERE,之后smallst Tong回答说根据”Home directory not accessible: Permission denied”这一句的提示猜测可能是由于我在安装Ubuntu时选择了加密主目录导致VMware无法获取相应的权限产生了报错。随后,我创建了一个新的普通用户,登陆该普通用户后,输入:
ecryptfs-unwrap-passphrase
回车之后显示的是:
stat: No such file or directory
Usage:
ecryptfs-unwrap-passphrase [file]
or
printf "%s" "wrapping passphrase" | ecryptfs-unwrap-passphrase [file] -
没有返回一串密钥,这代表新建的这一个用户的主目录是没有被加密的。
于是我在新建的未加密主目录的用户上重新安装了VMware(关于在Ubuntu上安装和卸载VMware可以参考我的博文:Ubuntu安装和卸载.bundle格式的VMware)
之后再次打开VMware的虚拟网络编辑器虽然没有显示之前的密码输入框,但是仍然出现了报错:
Unable to copy the user's Xauthorization file.
在网上查找”Unable to copy the user’s Xauthorization file.”的解决方法,发现可以用下面的命令解决这个问题:
sudo chmod yourusername ~/.Xauthorization && chomd 755 ~/.Xauthorization
但是执行上述命令后显示:
authorization
chmod: 无效模式:"yourusername"
Try 'chmod --help' for more information.
而且在 ~/
目录下查找.Xauthorization
也没找到。
之后我输入 sudo Vmware
,虽然VMware启动了,但是终端显示了下面这样的信息:
No protocol specified
Error copying '/home/master2/.Xauthority' to '/tmp/libgksu-kAKdyu': 没有那个文件或目录Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
这时我注意到在两个用户中安装VMware时都在安装开始的时候出现了”No protocol specified”这句话,而且在上面启动VMware时也出现了”No protocol specified”这句话。另外,使用同样的方法安装VMware,别人的VMware都是在图形化界面下完成的安装,而我安装VMware时一直是在命令行界面下完成的,并没有启动图形化界面。
于是,尝试启动:
sudo xhost +
回显:
No protocol specified xhost: unable to open display ":1"
按照网上的解决办法需要启动vnc服务,但是,当我输入:
vncserver
却提示:
未找到 'vncserver' 命令,您要输入的是否是:
命令 'vnc4server' 来自于包 'vnc4server' (universe)
于是我使用:
sudo apt install vnc4server
安装了vnc4。
再次启动VNC:
vnc4server 首次启动VNC需要设置一下密码:
设置一个密码: You will require a password to access your desktops. Password:
设置完密码后出现了下面的提示:
Warning: masterxka:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server masterxka:1
New 'masterxka:3 (master)' desktop is masterxka:3
Starting applications specified in /home/master/.vnc/xstartup
Log file is /home/master/.vnc/masterxka:3.log
但是之后再次输入:
xhost +
显示:
access control disabled, clients can connect from any host
这表明xhost + 已经正常启用。
之后我再次尝试安装VMware,出现了下面的错误信息:
master@masterxka:~$ sudo ./VMware-Workstation-Full-14.1.1-7528167.x86_64.bundle [sudo] master 的密码: Extracting VMware Installer...done. (vmware-installer.py:6722): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“murrine”, (vmware-installer.py:6722): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“murrine”, <...此处内容与上面两行一样,省略——作者注...> (vmware-installer.py:6722): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“murrine”, Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: 无法打开共享对象文件: 没有那个文件或目录 Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 80: saw unknown, expected number
安装:
sudo apt-get install murrine-themes
sudo apt-get install libgtkmm-3.0-dev
之后再使用 sudo ./Vmware-Workstation-Full-14.1.1-7528167.x86_64.bundle
安装VMware出现仍出现错误提示(reboot后还是有这个错误提示存在):
(vmware-installer.py:3229): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“murrine”, (vmware-installer.py:3229): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“murrine”, <...此处内容与上面两行一样,省略——作者注...> Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: 无法打开共享对象文件: 没有那个文件或目录
接着我又安装了一些组件:
sudo apt-get install gtk2-engines
sudo apt-get install gtk2-engines-*
在执行上一步安装时(组件安装还没有完成)VMware的安装界面就弹出来了:
图 3
虽然执行sudo ./VMware-Workstation-Full-14.1.1-7528167.x86_64.bundle
可以启动VMware的图形化安装界面了,但是仍然弹出了如下的错误提示:
(vmware-installer.py:8170): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“murrine”,
(vmware-installer.py:8170): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“murrine”,
<...此处内容与上面两行一样,省略——作者注...>
Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: 无法打开共享对象文件: 没有那个文件或目录
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 80: saw unknown, expected number
虽然仍在持续报错,但是该安装的组件似乎已经安装完了,所以我准备暂时不管这些错误(因为急着使用VMware做实验呢~),直接开始安装VMware(在加密了主目录的用户上进行的安装,因为打开虚拟网络编辑器时要求输入密码的框应该不是导致虚拟网络编辑器无法打开的主要原因),最后——虚拟网络编辑器竟然可以打开了!!!
图 4