VMware Horizon Client Installation Issues

I’m assembling a new workstation and after a little research I’ve decided to leave Xubuntu for openSUSE! I have only one requirement though: I need to be able to run VMware Horizon Client to log into my Windows 10 machine at work 2 days a week. Security is pretty heavy at this job so there’s no way around it.

I downloaded Tumbleweed and installed it in VirtualBox (still waiting on my new workstation parts to show up) and so far I love it. I’d rather go with the rolling release distro since I’ve never used one and I like the idea of going more bleeding edge. Here’s the problem: I can’t get the Horizon Client installer to run properly. This seems to be a problem with rolling releases in general as I was experimenting with Manjaro briefly and ran into the same issue.

I asked around in the VMware forum but haven’t heard anything yet, although I think this community may have a better idea of how I can fix this.

I meet all the requirements laid out here https://docs.vmware.com/en/VMware-Horizon-Client-for-Linux/4.10/horizon-client-linux-installation/GUID-DF3FBF68-3C78-45AA-9503-202BD683408F.html#GUID-DF3FBF68-3C78-45AA-9503-202BD683408F

I tried downloading and installing all versions available here: https://my.vmware.com/web/vmware/details?productId=578&rPId=29503&downloadGroup=CART19FQ4_LIN64_410.

Here’s the output for each version I downloaded when I attempted to run each installation bundle -

4.10.0, 4.9.0, 4.8.0, 4.7.0, 4.6.0, 4.5.0, 4.4.0, 4.3.0, 4.2.0

Extracting VMware Installer...done.
Traceback (most recent call last):
  File "/tmp/vmis.1fH5UN/install/vmware-installer/vmware-installer.py", line 13, in <module>
    from xml import etree
ImportError: No module named xml

4.1.0, 4.0.1, 4.0.0

Extracting VMware Installer...done.
/tmp/vmis.gqOfQn/install/vmware-installer/python/pygtk/gtk/__init__.py:69: GtkWarning: could not open display
  warnings.warn(str(e), _gtk.Warning)
User interface initialization failed.  Exiting.  Check the log for details.

The errors from 4.2.0 - 4.10.0 don’t produce any vmware error logs but 4.0.0 - 4.1.0 produce the following two every time:

/tmp/vmware-root/vmware-vmis-xxxxx.log

2019-02-10T21:40:14.862-06:00| vthread-4| I125: Log for VMware Workstation pid=10354 version=e.x.p build=build-5378951 option=BETA
2019-02-10T21:40:14.862-06:00| vthread-4| I125: The process is 64-bit.
2019-02-10T21:40:14.862-06:00| vthread-4| I125: Host codepage=UTF-8 encoding=UTF-8
2019-02-10T21:40:14.862-06:00| vthread-4| I125: Host is Linux 4.20.6-1-default openSUSE Tumbleweed
2019-02-10T21:40:14.860-06:00| vthread-4| I125: DictionaryLoad: Cannot open file "/etc/vmware/config": No such file or directory.
2019-02-10T21:40:14.860-06:00| vthread-4| I125: PREF Optional preferences file not found at /etc/vmware/config. Using default values.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: DictionaryLoad: Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: DictionaryLoad: Cannot open file "/usr/lib/vmware/config": No such file or directory.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: PREF Optional preferences file not found at /usr/lib/vmware/config. Using default values.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: DictionaryLoad: Cannot open file "/root/.vmware/config": No such file or directory.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: PREF Optional preferences file not found at /root/.vmware/config. Using default values.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: PREF Unable to check permissions for preferences file.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: DictionaryLoad: Cannot open file "/root/.vmware/preferences": No such file or directory.
2019-02-10T21:40:14.861-06:00| vthread-4| I125: PREF Failed to load user preferences.

/tmp/vmware-root/vmware-installer-xxxxx.log

[2019-02-10 21:40:15,140] 
[2019-02-10 21:40:15,141] 
[2019-02-10 21:40:15,141] Installer running.
[2019-02-10 21:40:15,141] Command Line Arguments:
[2019-02-10 21:40:15,141] '/tmp/vmis.0S124r/install/vmware-installer/vmware-installer.py', '--set-setting', 'vmware-installer', 'libconf', '/tmp/vmis.0S124r/install/vmware-installer/lib/libconf', '--install-component', '/tmp/vmis.0S124r/install/vmware-installer', '--install-bundle', '/home/swhitmore/Downloads/./VMware-Horizon-Client-4.0.0-3617666.x64.bundle', '']
[2019-02-10 21:40:15,299] Unable to initialize gtk: could not open display
[2019-02-10 21:40:15,300] Could not set up curses...  Falling back on null term type.
[2019-02-10 21:40:15,306] UI Initialization failed.
Traceback (most recent call last):
  File "/tmp/vmis.0S124r/install/vmware-installer/vmware-installer.py", line 289, in main
    ui.Initialize(options.ui)
  File "/tmp/vmis.0S124r/install/vmware-installer/vmis/ui/__init__.py", line 83, in Initialize
    exec 'from vmis.ui.null import *' in globals()
  File "<string>", line 1, in <module>
  File "/tmp/vmis.0S124r/install/vmware-installer/vmis/ui/null.py", line 13, in <module>
    from vmis.ui import console
  File "/tmp/vmis.0S124r/install/vmware-installer/vmis/ui/console.py", line 9, in <module>
    import curses
  File "/tmp/vmis.0S124r/install/vmware-installer/python/lib27/curses/__init__.py", line 15, in <module>
    from _curses import *
ImportError: libncurses.so.5: cannot open shared object file: No such file or directory

Any ideas on where to go from here? Maybe I should stick to the stability of Leap but I figured if I was going to try a rolling release distro now would be the time. I downloaded Leap 15 and ran it in VirtualBox. I was able to install Horizon Client and run it without issue.

Thanks in advance for your time and regardless of the outcome of this investigation I’m excited to join the openSUSE community!

I get this error whenever I am logged in as an unprivileged standard user and then wanting to start a graphical program as root, e.g.



~ ▶ **sudo -i**
[sudo] password for root: 
:~ # **xeyes**
Error: Can't open display:  

My workaround: as root, issue this compound command…

cp /home/*LOGGED_IN_USER*/.Xauthority /root/; export DISPLAY=:0.0

… This copies the permission for using the active user’s X server to your root-home directory and tells toolkits the screen number via the DISPLAY environment variable.
Obviously, insert your username for LOGGED_IN_USER and modify the »:0.0« if you have a multi-display setup.

I don’t know about those other error messages (maybe check whether libxml2, python-curses and python3-curses are installed), but hopefully your VMware installer will show its GUI that way.

(In the 1990 I used to do these kinds of permission transfers with the xhost command, e.g. »xhost +root«, but it stopped working for me when Xorg hardened their security, a good thing overall I’m sure.)

Looks like you need libncurses5, it’s installed on my system.

Post commands with your results.
When you post only results, we’re left guessing what command you executed.

TSU

The error is telling you the file to look into the file and the line (vmware-install.py, line 13). Apparently modules with xml in the name are expected. So, the question is whether those files exist somewhere else on your system or should be in the extracted files(IMO likely) or needs to be compiled (If xml is only in the name but the modules are compiled, then you likely have a compiling error)

Might be a permissions problem as @nix11 suggests. Can also be an unsupported GTK version, or something else like the missing library file (This is what Knurpht saw in your post).
As the error suggests, you need to inspect the vmware install log for verbose info.

The above is a VMware Workstation log, which might not be correct. You’re installing Horizon, right? - So I don’t know that Horizon install errors should show up in your workstation logs (And, I assume you already have Workstation installed). I’m pretty sure these errors refer to something else, I’m guessing you still have a Guest listed but the files for that Guest have been deleted or moved. Ordinarily when this happens, Workstation in GUI mode should prompt you to remove the Guest entry if the files aren’t found (but the attempt(s) will still show up in your Workstation logs.

As Knurpht says, you need to have an ncurses library file installed.
You may also need to install in a root console if you’re not already doing so.

OP is running TW in VirtualBox then trying to install a VMware appliance in a VB virtual machine??? Can you do that???:X

If you’re talking about a Guest within a Guest, yes if you configure your Guest properties correctly… but, last time I tried that it was dog slow if it worked at all.

But, I haven’t tried running a Horizon client, that looks like it’s not virtualization, based on the stated VMware prerequisites it’s an RDP client.

TSU

I realize I am way too late to solve OPs problem but I thought I’d post my solution to help the next person. There are a couple of problems with installing on Tumbleweed but easily solvable.

  1. Not all Python dependencies are installed by default
  2. The installer has some problems running as root.

To fix 1:


sudo zypper install python
sudo zypper install python-xml
sudo zypper install python-curses

Note that I might have installed other dependencies as part of my other software - these are the ones that was missing on my setup.

To fix 2:
Run install in console mode


sudo ./VMware-Horizon-Client-4.10.0-11053294.x64.bundle --console

Hope it helps whoever passes this way!

1 Like

Hi
That’s a work around but insecure since Tumbleweed is python3, there is zero support for python2… @OP, if python2 is only needed for the installer, then install and remove but rolling back to python2 is not a good idea (no security updates it is deprecated)… Else ask vmware when it will support python3.

If python2 is your only issue and TW doesn’t support it,
Like most or many distros you can install any python from the official python repositories (not from openSUSE) and run it side by side with openSUSE or any other pythons by using a standard tool called virtualenv. The command “pip” would then be your python installation tool.

If you have any questions about using virtualenv and installing python from the python repositories,
You should probably open a new thread in the Applications forum… I don’t remember many threads over the years asking about this, but you can search. There should be ample general Linux documentation on running virtualenv (that’s where you’d start) on the Internet, generic guides and solutions should work, the only diff should be that you should be able to install virtualenv and pip from openSUSE first, and only then proceed which would install from non-openSUSE sources.

TSU

Hi
It still uses it, not supported, if you have a bug especially a security one, there is ZERO support, bottom line vmware should fix…

Developers have known for a fair number of years to get their code up to python3 ready…

**MAN! **You solved my live in just 3 commands… thanks a lot!