Difference between revisions of "Parallels"

From ArchWiki
Jump to: navigation, search
m (OS X is now called macOS)
 
(59 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Virtualization]]
+
[[Category:Hypervisors]]
This article is about running Arch as guest operation system on Parallels.
+
[[ja:Parallels]]
 +
{{Poor writing|Instructions do not comply to [[Help:Style]].}}
 +
{{Related articles start}}
 +
{{Related|VMware}}
 +
{{Related|VirtualBox}}
 +
{{Related articles end}}
  
==Overview==
+
[http://www.parallels.com/products/desktop Parallels] Desktop is a hypervisor for macOS which allows users to install a variety of operating systems as "virtual machines" (guests) on the host system, reducing the need for managing multiple physical machines. A more complete description on virtualization can be found at [[wikipedia:Hardware_virtualization|Wikipedia]].
Parallels is a software, which allows you to setup virtual machines and run different operation systems without need to reboot your computer. A more complete description on virtualisation can be found on [http://en.wikipedia.org/wiki/Hardware_virtualization Wikipedia].
+
At the moment of writing Parallels is released in version 6. The current kernel version is 2.6.36 and 2.6.37 is considered stable.
+
  
==Installation of Arch as guest.==
+
== Installation of Arch as a guest ==
Parallels supports Linux guests out of the box. For Arch you can chose "other linux - kernel 2.6". There is not much to say on installation - the steps are the same, as if you would install Arch on a real machine.
+
  
==Configuring Xorg==
+
Parallels Desktop supports Linux guests out of the box, but only offers support for a few Linux distributions - excluding Arch Linux. This means the installation of Parallels tools have not been tested by the vendor, and requires some manual intervention to work under Arch. If you do not wish to use Parallels tools, installation is as simple as choosing "other linux" when creating a new virtual machine and proceeding as you would on any real machine.
Follow the instructions at [[Xorg]]. The {{ic|xf86-video-vesa}} video driver works great with Xorg running inside Parallels:
+
{{bc|# pacman -S xf86-video-vesa}}
+
  
==Parallels Tools==
+
== Parallels Tools ==
===Overview===
+
To improve the interoperability between the host and the guest operation systems, Parallels provides you a package with kernel modules and userspace tools called "Parallels Tools". [http://download.parallels.com/desktop/v6/docs/en/Parallels_Desktop_Users_Guide/22272.htm Here] is the list of features.
+
  
===Installation===
+
=== Overview ===
Choose "install Parallels Tools" from the "Virtual Machine" menu. Parallels Tools are located on a cd-image, which was connected to you virtual machine. You have to mount it first:
+
{{bc|# mount /dev/sr0 /mnt/cdrom}}
+
  
The installation-script expects to find your init-scripts in {{ic|/etc/init.d/}}. The installation will fail, if the directory is not present. To fix it you either create {{ic|/etc/init.d/}} or define def_sysconfdir environment variable by doing the following (thanks AlandyS for this [http://forum.parallels.com/showthread.php?t=94461 post] in Parallels-forum):
+
To improve interoperability between the host and the guest operating systems, Parallels provides a package called "Parallels tools" which contains kernel modules and userspace utilities. See [http://download.parallels.com/desktop/v6/docs/en/Parallels_Desktop_Users_Guide/22272.htm Parallels Tools Overview] for a list of its features.
# export def_sysconfdir=/etc/rc.d
+
 
 +
This article assumes users want to make full use of the tools, including Xorg configuration. If you are running a headless server, you can skip over the sections relating to X.
 +
 
 +
When referring to the version of parallel tools the form is <Parallels.Version>.<Tools Version>. For example: 9.0.24237.1028877 corresponds to Parallels version 9.0.24237 with tools version 1028877
 +
 
 +
=== Required Kernel & Xorg versions ===
 +
 
 +
The tools installer uses binaries which can sometimes be incompatible with the latest version of Xorg or kernels in the Arch repository.
 +
 
 +
Different versions have different software requirements:
 +
 
 +
* 9.0.24229.991745 needs 3.13.8 (or possibly a later 3.13.y) (3.14 is known to show a black screen and freeze the system) and xorg 1.15.y or earlier
 +
* 9.0.24237.1028877 works with Arch's 3.14.15-1-lts (newer versions may work) and xorg 1.15.y or earlier
 +
* 11.0.0.31193 works on the latest Arch 4.1.6-1 and xorg 1.17.2-4
 +
 
 +
And there are different ways to obtain them:
 +
 
 +
* linux 3.13.8 can be obtained from the [[Arch Rollback Machine]]
 +
* linux 3.14.15 is the current linux-lts, so just install that and regenerate your grub config.
 +
* xorg 1.15.y can be obtained using the instructions & repo from [[AMD Catalyst]].
 +
 
 +
Repository settings for /etc/pacman.conf (for 3.13.8)
 +
[core]
 +
#Include = /etc/pacman.d/mirrorlist
 +
SigLevel = PackageRequired
 +
Server = http://seblu.net/a/arm/2014/04/09/$repo/os/$arch
 +
[extra]
 +
#Include = /etc/pacman.d/mirrorlist
 +
SigLevel = PackageRequired
 +
Server = http://seblu.net/a/arm/2014/04/09/$repo/os/$arch
 +
 
 +
See also [[Downgrading packages#Downgrading the kernel]].
 +
 
 +
=== Configuring Xorg ===
 +
 
 +
The Parallels tools installer will take care of configuring Xorg, so just follow the instructions at [[Xorg]] to install the relevant packages on your system. Install the {{Pkg|xf86-video-vesa}} package to use the vesa driver.
 +
 
 +
=== Preparing dependencies ===
 +
 
 +
The installation script expects to find your init-scripts in {{ic|/etc/init.d/}} and will fail if it's not present. Since Arch uses systemd, create a symlink to the systemd scripts directory and set the def_sysconfdir variable:
 +
 
 +
{{bc|# ln -sf /usr/lib/systemd/scripts/ /etc/init.d}}
 +
 
 +
{{bc|1=# export def_sysconfdir=/etc/init.d}}
 +
 
 +
The installation script also expects the file {{ic|/etc/X11/xorg.conf}}. We can just create an empty file, as it will automatically be configured by the installer:
  
The installation-script expects to find {{ic|/etc/X11/xorg.conf}} too. Your xorg configuration will be fixed to work with Parallels Tools. The installation will fail, if xorg.conf is not present. Create it:
 
 
{{bc|# touch /etc/X11/xorg.conf}}
 
{{bc|# touch /etc/X11/xorg.conf}}
  
After the installation you can move xorg.conf to /etc/X11/xorg.conf.d/ and call it something like 10-parallels.conf if you want. It is be probably a more appropriate location, but you do not have to - it will work as it is now too.
+
Then, you need to install standard build utilities, python2, and kernel headers:
  
Then you can run the installer-script and follow the instructions:
+
{{bc|# pacman -S base-devel python2 linux-headers}}
{{bc|# cd /mnt/cdrom}}
+
{{bc|# ./install}}
+
  
At the moment of writing Paralles Tools fails to compile agains kernel 2.6.36 / 2.6.37 due to some changes in the kernel api. You will need to patch Paralles Tools to fix the problem.
+
depends on your Parallels version, you may have to install {{ic|linux-lts-headers}} instead of {{ic|linux-headers}}.
Copy everything from /mnt/cdrom to a writeable directory:
+
{{bc|$ cp -r /mnt/cdrom/* ~/parallels_tools/}}
+
  
extract the source code of the kernel modules:
+
Finally, create a temporary symbolic link to python 2. Remove this link after the installation process.
{{bc|$ mkdir ~/kmods_src/}}
+
{{bc|$ cd ~/kmods_src/}}
+
{{bc|$ tar xzf ~/parallels_tools/kmods/prl_mod.tar.gz}}
+
  
save the following patch to a file named {{ic|prl_tools-2.6.37.patch}}:
+
{{bc|# ln -sf /usr/bin/python2 /usr/local/bin/python}}
{{bc|1=
+
diff -cr prl_mod/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c prl_mod_patched/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c
+
*** prl_mod/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c 2010-12-20 20:53:25.000000000 +0100
+
--- prl_mod_patched/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c 2011-01-09 00:35:59.084213064 +0100
+
***************
+
*** 368,374 ****
+
  init_buffer_descriptor(&bd, &pattr, PATTR_STRUCT_SIZE, 0, 0);
+
  ret = host_request_attr(sb, p, buflen, &bd);
+
  if (ret == 0)
+
! ret = inode_setattr(dentry->d_inode, attr);
+
  dentry->d_time = 0;
+
  PRLFS_STD_INODE_TAIL
+
  }
+
--- 368,378 ----
+
  init_buffer_descriptor(&bd, &pattr, PATTR_STRUCT_SIZE, 0, 0);
+
  ret = host_request_attr(sb, p, buflen, &bd);
+
  if (ret == 0)
+
! {
+
! setattr_copy(dentry->d_inode, attr);
+
! mark_inode_dirty(dentry->d_inode);
+
! ret = 0;
+
! }
+
  dentry->d_time = 0;
+
  PRLFS_STD_INODE_TAIL
+
  }
+
diff -cr prl_mod/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c prl_mod_patched/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c
+
*** prl_mod/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c 2010-12-20 20:53:35.000000000 +0100
+
--- prl_mod_patched/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c 2011-01-09 00:22:17.200882662 +0100
+
***************
+
*** 959,978 ****
+
  goto out;
+
  }
+
 
+
- #ifdef HAVE_UNLOCKED_IOCTL
+
  static long prl_vtg_unlocked_ioctl(struct file *filp,
+
  unsigned int cmd, unsigned long arg)
+
  {
+
  return prl_vtg_ioctl(NULL, filp, cmd, arg);
+
  }
+
- #endif
+
 
+
  static struct file_operations prl_vtg_fops = {
+
  .write = prl_tg_write,
+
! .ioctl = prl_vtg_ioctl,
+
! #ifdef HAVE_UNLOCKED_IOCTL
+
  .unlocked_ioctl = prl_vtg_unlocked_ioctl,
+
- #endif
+
  .open = prl_vtg_open,
+
  .release = prl_vtg_release,
+
  };
+
--- 959,974 ----
+
  goto out;
+
  }
+
 
+
  static long prl_vtg_unlocked_ioctl(struct file *filp,
+
  unsigned int cmd, unsigned long arg)
+
  {
+
  return prl_vtg_ioctl(NULL, filp, cmd, arg);
+
  }
+
 
+
  static struct file_operations prl_vtg_fops = {
+
  .write = prl_tg_write,
+
! // .ioctl = prl_vtg_ioctl,
+
  .unlocked_ioctl = prl_vtg_unlocked_ioctl,
+
  .open = prl_vtg_open,
+
  .release = prl_vtg_release,
+
  };
+
}}
+
  
Apply the patch to your copy of Parallels Tools:
+
=== Installing Parallels tools ===
{{bc|$ cd ~/kmods_src}}
+
{{bc|$ cat ~/prl_tools-2.6.37.patch | patch -p1}}
+
  
{{Note| if you see the following output ({{ic|bash: patch not found}}) you need to install the patch tool first ({{ic|# pacman -S patch}})}}
+
Choose "install Parallels Tools" from the "Virtual Machine" menu. Parallels Tools are located on a cd-image, which will be connected to your virtual machine. You have to mount it first:
  
If the soruce was patched successfully you should see following output:
+
{{bc|# mount /dev/cdrom /mnt/cdrom}}
patching file prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c
+
patching file prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c
+
  
create an archive with the patched version of Parallels Tools and replace the original:
+
Now you can proceed to install Parallels tools using the installation script as follows:
{{bc|$ cd ~/kmods_src}}
+
{{bc|$ tar czf ../prl_mod.tar.gz *}}
+
{{bc|$ rm ~/parallels_tools/kmods/prl_mod.tar.gz}}
+
{{bc|$ mv ../prl_mod.tar.gz ~/parallels_tools/kmods}}
+
  
After patching run the installation-script again:
+
{{bc|# cd /mnt/cdrom}}
{{bc|$ cd ~/parallels_tools/}}
+
{{bc|$ ./install}}
+
  
If using 2.6.39, try this patch instead (following the above directions):
+
{{bc|# ./install}}
 +
 
 +
=== Systemd Configuration ===
 +
 
 +
The Parallels tools daemon should be started at boot, so create a service file like the following:
  
{{bc|1=
+
{{hc|1=/usr/lib/systemd/system/parallels-tools.service|2=
diff -ur kmods_orig//prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c kmods//prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c
+
[Unit]
--- kmods_orig//prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c 2011-05-26 10:17:49.000000000 -0700
+
Description=Parallels Tools
+++ kmods//prl_fs/SharedFolders/Guest/Linux/prl_fs/super.c 2011-07-17 15:28:05.553103476 -0700
+
[Service]
@@ -241,11 +241,19 @@
+
Type=oneshot
return get_sb_nodev(fs_type, flags, data, prlfs_fill_super);
+
ExecStart=/usr/lib/systemd/scripts/prltoolsd start
}
+
ExecStop=/usr/lib/systemd/scripts/prltoolsd stop
#else
+
RemainAfterExit=yes
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)
+
[Install]
int prlfs_get_sb(struct file_system_type *fs_type,
+
WantedBy=multi-user.target
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
+
{
+
return get_sb_nodev(fs_type, flags, data, prlfs_fill_super, mnt);
+
}
+
+#else
+
+static struct dentry *prlfs_mount(struct file_system_type *fs_type,
+
+ int flags, const char *dev_name, void *raw_data)
+
+{
+
+ return mount_nodev(fs_type, flags, raw_data, prlfs_fill_super);
+
+}
+
+#endif
+
#endif
+
#else
+
static struct super_block *prlfs_read_super(struct super_block *sb,
+
@@ -261,9 +269,14 @@
+
.owner = THIS_MODULE,
+
.name = "prl_fs",
+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)
+
.get_sb = prlfs_get_sb,
+
.kill_sb = kill_anon_super,
+
#else
+
+ .mount = prlfs_mount,
+
+ .kill_sb = kill_anon_super,
+
+#endif
+
+#else
+
.read_super = prlfs_read_super,
+
#endif
+
/*  .fs_flags */
+
diff -ur kmods_orig//prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c kmods//prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c
+
--- kmods_orig//prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c 2011-05-26 10:17:58.000000000 -0700
+
+++ kmods//prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c 2011-07-17 15:54:10.729722326 -0700
+
@@ -55,7 +55,11 @@
+
struct inode *inode;
+
int err;
+
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
+
err = path_lookup(path, LOOKUP_FOLLOW, &nd);
+
+#else
+
+ err = kern_path(path, LOOKUP_FOLLOW, &nd);
+
+#endif
+
if (err)
+
return ERR_PTR(err);
+
inode = nd.path.dentry->d_inode;
+
diff -ur kmods_orig//prl_pv/Paravirt/Guest/Linux/pv_main.c kmods//prl_pv/Paravirt/Guest/Linux/pv_main.c
+
--- kmods_orig//prl_pv/Paravirt/Guest/Linux/pv_main.c 2011-05-26 11:06:56.000000000 -0700
+
+++ kmods//prl_pv/Paravirt/Guest/Linux/pv_main.c 2011-07-17 16:05:17.233042837 -0700
+
@@ -51,8 +51,10 @@
+
set_kset_name("prl_pv"),
+
#endif
+
#ifdef CONFIG_PM
+
+#ifndef CONFIG_ARCH_NO_SYSDEV_OPS
+
.suspend = prl_pv_suspend,
+
.resume = prl_pv_resume,
+
+#endif
+
#endif /* CONFIG_PM */
+
};
+
 
}}
 
}}
  
===configuration===
+
[[Enable]] the {{ic|parallels-tools.service}} service. Reboot the system and Parallels tools should now be installed and working.
Edit {{ic|/etc/rc.conf}} and add to the MODULES=() array the following:
+
MODULES=(... prl_fs prl_pv prl_fs_freeze prl_tg prl_eth ...)
+
  
===Using the Tools===
+
=== Using the Tools ===
====Sharing Folders====
+
 
you can specify which folders on your hosts system you would like to share with your guests under "virtual machine > configuration > sharing".
+
==== Sharing Folders ====
 +
 
 +
You can specify which folders on your hosts system you would like to share with your guests under "virtual machine > configuration > sharing".
 
Then you mount a shared folder like this:
 
Then you mount a shared folder like this:
 +
 
{{bc|# mount -t prl_fs ''name_of_share'' ''/mnt/name_of_share''}}
 
{{bc|# mount -t prl_fs ''name_of_share'' ''/mnt/name_of_share''}}
  
====Dynamic Display Resolution====
+
==== Dynamic Display Resolution ====
a very helpful tool is {{ic|prlcc}}. It changes the resolution of your display (in the guest operation system - not the host) automatically, when your change the size of the window. If this tool is not running the content of the window gets stretched or shrunken.
+
 
prlcc usually gets started automatically and runs in the background. If not, just run following:
+
A very helpful tool is {{ic|prlcc}}. It changes the resolution of the display (in the guest - not the host) automatically when your resize your window. If this tool is not running, the contents of the window gets stretched or shrunken.
 +
prlcc is usually started automatically and runs in the background. If not, run the following (or place it in a configuration file like /etc/X11/xinit/xinitrc.d/90-prlcc):
 +
 
 
{{bc|$ prlcc &}}
 
{{bc|$ prlcc &}}
  
==Appendix A: Alternatives to Parallels==
+
=== Future work ===
[http://www.parallels.com/products/desktop Parallels] is a popular virtualization solution for the mac platform, but it is not the only one. There is a competitive product from VMware called [http://www.vmware.com/de/products/fusion/ VMware Fusion] and of course the free and awesome [http://www.virtualbox.org VirtualBox] from Oracle (former Sun Microsystems). For Windwos VMware provides a free product called [http://www.vmware.com/de/products/player/ VMware Player], which lets you run (but not create, as far as i know) virtual machines.
+
 
 +
In general, updating system packages like the linux kernel or Xorg can break Parallels tools and you will need to re-install them. In some cases, new packages will be incompatible with the tools and they will stop working - in that case you will need to roll back the newly installed packages and wait until Parallels releases a new product build before updating your guest (in the hope they have resolved any previous incompatibilities).

Latest revision as of 10:57, 14 September 2016

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: Instructions do not comply to Help:Style. (Discuss in Talk:Parallels#)

Related articles

Parallels Desktop is a hypervisor for macOS which allows users to install a variety of operating systems as "virtual machines" (guests) on the host system, reducing the need for managing multiple physical machines. A more complete description on virtualization can be found at Wikipedia.

Installation of Arch as a guest

Parallels Desktop supports Linux guests out of the box, but only offers support for a few Linux distributions - excluding Arch Linux. This means the installation of Parallels tools have not been tested by the vendor, and requires some manual intervention to work under Arch. If you do not wish to use Parallels tools, installation is as simple as choosing "other linux" when creating a new virtual machine and proceeding as you would on any real machine.

Parallels Tools

Overview

To improve interoperability between the host and the guest operating systems, Parallels provides a package called "Parallels tools" which contains kernel modules and userspace utilities. See Parallels Tools Overview for a list of its features.

This article assumes users want to make full use of the tools, including Xorg configuration. If you are running a headless server, you can skip over the sections relating to X.

When referring to the version of parallel tools the form is <Parallels.Version>.<Tools Version>. For example: 9.0.24237.1028877 corresponds to Parallels version 9.0.24237 with tools version 1028877

Required Kernel & Xorg versions

The tools installer uses binaries which can sometimes be incompatible with the latest version of Xorg or kernels in the Arch repository.

Different versions have different software requirements:

  • 9.0.24229.991745 needs 3.13.8 (or possibly a later 3.13.y) (3.14 is known to show a black screen and freeze the system) and xorg 1.15.y or earlier
  • 9.0.24237.1028877 works with Arch's 3.14.15-1-lts (newer versions may work) and xorg 1.15.y or earlier
  • 11.0.0.31193 works on the latest Arch 4.1.6-1 and xorg 1.17.2-4

And there are different ways to obtain them:

  • linux 3.13.8 can be obtained from the Arch Rollback Machine
  • linux 3.14.15 is the current linux-lts, so just install that and regenerate your grub config.
  • xorg 1.15.y can be obtained using the instructions & repo from AMD Catalyst.

Repository settings for /etc/pacman.conf (for 3.13.8)

[core]
#Include = /etc/pacman.d/mirrorlist
SigLevel = PackageRequired
Server = http://seblu.net/a/arm/2014/04/09/$repo/os/$arch
[extra]
#Include = /etc/pacman.d/mirrorlist
SigLevel = PackageRequired
Server = http://seblu.net/a/arm/2014/04/09/$repo/os/$arch

See also Downgrading packages#Downgrading the kernel.

Configuring Xorg

The Parallels tools installer will take care of configuring Xorg, so just follow the instructions at Xorg to install the relevant packages on your system. Install the xf86-video-vesa package to use the vesa driver.

Preparing dependencies

The installation script expects to find your init-scripts in /etc/init.d/ and will fail if it's not present. Since Arch uses systemd, create a symlink to the systemd scripts directory and set the def_sysconfdir variable:

# ln -sf /usr/lib/systemd/scripts/ /etc/init.d
# export def_sysconfdir=/etc/init.d

The installation script also expects the file /etc/X11/xorg.conf. We can just create an empty file, as it will automatically be configured by the installer:

# touch /etc/X11/xorg.conf

Then, you need to install standard build utilities, python2, and kernel headers:

# pacman -S base-devel python2 linux-headers

depends on your Parallels version, you may have to install linux-lts-headers instead of linux-headers.

Finally, create a temporary symbolic link to python 2. Remove this link after the installation process.

# ln -sf /usr/bin/python2 /usr/local/bin/python

Installing Parallels tools

Choose "install Parallels Tools" from the "Virtual Machine" menu. Parallels Tools are located on a cd-image, which will be connected to your virtual machine. You have to mount it first:

# mount /dev/cdrom /mnt/cdrom

Now you can proceed to install Parallels tools using the installation script as follows:

# cd /mnt/cdrom
# ./install

Systemd Configuration

The Parallels tools daemon should be started at boot, so create a service file like the following:

/usr/lib/systemd/system/parallels-tools.service
[Unit]
Description=Parallels Tools
[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/scripts/prltoolsd start
ExecStop=/usr/lib/systemd/scripts/prltoolsd stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

Enable the parallels-tools.service service. Reboot the system and Parallels tools should now be installed and working.

Using the Tools

Sharing Folders

You can specify which folders on your hosts system you would like to share with your guests under "virtual machine > configuration > sharing". Then you mount a shared folder like this:

# mount -t prl_fs name_of_share /mnt/name_of_share

Dynamic Display Resolution

A very helpful tool is prlcc. It changes the resolution of the display (in the guest - not the host) automatically when your resize your window. If this tool is not running, the contents of the window gets stretched or shrunken. prlcc is usually started automatically and runs in the background. If not, run the following (or place it in a configuration file like /etc/X11/xinit/xinitrc.d/90-prlcc):

$ prlcc &

Future work

In general, updating system packages like the linux kernel or Xorg can break Parallels tools and you will need to re-install them. In some cases, new packages will be incompatible with the tools and they will stop working - in that case you will need to roll back the newly installed packages and wait until Parallels releases a new product build before updating your guest (in the hope they have resolved any previous incompatibilities).