GUI in Virtual Machines/VMs

Since LXD 4.4., a VGA console is implemented in all LXD VMs.
Use the official images with the cloud tag.

To access the Graphical console of a Virtual machine, follow the instructions below:

On Linux:
Note: Package names might be different on certain distributions.

  1. Install virt-viewer (remote-viewer) or spice-gtk-client (spicy) on your client system.
  2. Login with: lxc console --type=VGA

On Windows:

  1. Install virt-viewer via Chocolatey or use the manual installer.
  2. Login with: lxc console --type=VGA

On MacOS:

  1. Install spice-gtk (or remote-viewer) via Homebrew on your client system.
  2. Login with: lxc console --type=VGA


  1. in case LXD does not recognize SPICE or VIRT-VIEWER, even if it is installed already, try reloading/restarting the LXD Daemon:
    • Under Linux: reload snap.lxd.daemon (SNAP version) or lxd.service (package version; name might be different on certain distributions).


1 Like

@stgraber @tomp Could you put this into the tutorials section?

These are the same instructions given by stgraber, only a bit easier to find :slight_smile:.


Is this possible on mac?


I assume that spice is also available on MacOS?
Update: Seems only an experimental client is available:


Additional question:
I just noticed that I can’t seem to find a software named spicy anywhere, is that the correct name?
I copied the info from your post here:

stgraber@castiana:~$ which spicy
stgraber@castiana:~$ dpkg -S /usr/bin/spicy
spice-client-gtk: /usr/bin/spicy

Thank you.
Should have thought about that; should I rename it “spice-client” or “spice-gtk-client” instead?
It seems that this is the package name, in different variaties, on most distros?

Does that client work with LXD on MacOS?

And what about the spice-html5 application?
Should we mention that as well?

Maybe worth mentioning it as spice-gtk-client (spicy) so people can check both by package name and by command name.

I believe we’ve have someone successfully using remote-viewer on macOS through some homebrew package, I don’t know if spicy is available on there too though.

spice-html5 works fine with LXD but it’s quite involved as you effectively need to go modifying the example html to point to the right LXD operation. It’s fine for someone who’s writing their web client like @turtle0x1 but probably not something we’d want an end user to attempt

1 Like

Thx. Edited it.

I only found spice-gtk (spice-gtk — Homebrew Formulae), but no remote-viewer or virt-viewer :thinking:.

Should I mention @turtle0x1’s web client (I assume it’s “LXD Mosaic”) as unofficial/third-party software ?

Just want to add, that in case lxd does not recognize the SPICE or VIRT-VIEWER presence even if you had install it. Please, reload/restart the snap.lxd.daemon.

1 Like