2

I installed Elementary juno last week but I'm not be able to work with Vmware Workstation (last version), when I start virtual machine the console screen does not appear (the video stays on the vmware hourglass with message "waiting ..." ), virtual machine runs correctly because I connected virtual machine by rdp connection and if I suspend VM I see the current state of the screen. Could you tell me if someone else have this problem and if there is a solution? Thank you! Screenshot

3

On ElementaryOS you need to run VMWare Workstation as root. I hear it has something to do with gala, but I can't speak intelligently to that.

The solution is edit the .desktop file to use pkexec like milos-stevanovic said, but with a few extra steps so that you don't need to use the terminal each time you want to open VMWare Workstation.

First, create a new file /usr/share/polkit-1/actions/com.vmware.Workstation.policy with the contents:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">

<policyconfig>

  <action id="org.freedesktop.policykit.pkexec.run-vmware">
    <description>Run VMWare Workstation</description>
    <message>Authentication is required to run VMWare Workstation</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/vmware</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
  </action>

</policyconfig>

Next, create a new file (/usr/bin/vmware-exec) which will run vmware with pkexec. The contents should be:

#!/bin/sh
pkexec "/usr/bin/vmware" "$@"

Finally, edit the .desktop file (/usr/share/applications/vmware-workstation.desktop) to run our new vmware-exec file (just change the line starting Exec=:

[Desktop Entry]
Encoding=UTF-8
Name=VMware Workstation
Comment=Run and manage virtual machines
Exec=/usr/bin/vmware-exec %U
Terminal=false
Type=Application
Icon=vmware-workstation
StartupNotify=true
Categories=System;
MimeType=application/x-vmware-vm;application/x-vmware-team;application/x-vmware-enc-vm;x-scheme-handler/vmrc;

Now, you can use the GUI icon to launch VMWare and it will ask for root permission. It's not perfect, but at least it gets VMWare working again until this is fixed upstream.

1

I have same problem and i was manage to find solution for one part of the problem. That is you need root access to vmware.

Simple open terminal and type:

sudo vmplayer

or i find beater solution:

pkexec --user milos env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/vmplayer

but i dont know how to put this command in:

/usr/share/applications/vmware-player.desktop

when i do:

Exec=pkexec --user milos env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/vmplayer

instead of:

Exec=/usr/bin/vmplayer %U

program wont run.

Now my question is how to automate process and put command in application shortcut, i am seeking for elegant solution ;)

EDIT: Grate thanks to @kbknapp for completing solution i provide. Once again Thank You mate ;)

And of course just to add some revise on hes solution. If you use vmplayer like you, you need to edit /usr/share/polkit-1/actions/com.vmware.Workstation.policy

<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/vmware</annotate>

to look like /usr/bin/vmplayer

and on the end to make vmware-exec executable:

sudo chmod +x /usr/bin/vmware-exec

And thats it ;)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.