Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Video guide *** How to connect virt-manager to unRAID to help manage your VMs **

Featured Replies

Hi, Guys. I have made a video about how to connect virt-manager to your unRAID server to help manage and edit your VMs.

I find it very useful for editing VMS with custom edits to prevent the custom edits being deleted.

It's great for adding a GPU to an OS X VM or editing say a windows VM with a ROM file passed through for the GPU.

If you use qcow2 format for disks you can also use snapshots with it.

 

How to connect virt-manager to unRAID to help manage your VMs

 

 

What about QED? That supports snapshots as well, and I've at least "heard" there may be better performance from QED versus QCow2, but it needs testing.

  • Author

What about QED? That supports snapshots as well, and I've at least "heard" there may be better performance from QED versus QCow2, but it needs testing.

Yes, QED is meant to be faster I think. Virt-manager 1.0 started supporting snapshots in 2014 but I don't think virt-manager supports QED for snapshots  but I'm not sure, though.

It also appears that you are configuring libvirtd to be an unauthenticated listener on all interfaces. The less usual approach I am used to seeing is to install netcat-openbsd, which requires a different Slack package than the one provided in NerdPack, and configure the virt-manager connection from a command line:

 

virt-manager -c qemu+ssh://root@tower/system?socket=/var/run/libvirt/libvirt-sock

 

Once this has been run, assuming the server has a version of the Netcat command supporting the -U switch to connect to Unix sockets, it should be able to pass through to libvirtd. Once this has been added to virt-manager, it should persist across restarts.

 

Furthermore, there is also a Homebrew tap on Github for virt-manager and virt-viewer, and it only requires a two line modification to the virt-manager.rb (brew edit virt-manager) to import a newer version of libvirt-python to bypass a compile time error which occurs on Sierra systems. Also, due to another bug with Sierra, this virt-manager will require the --no-fork switch to prevent a startup crash, but can still be launched into the background by appending an ampersand (&) to the command line.

 

E 1: Okay, here's what you need for a more secure connection path that doesn't require a libvirtd.conf edit:

 

You'll need libbsd and netcat-openbsd. You'll need a Slackware 14.2 install or the live DVD to build them.

 

1) Download the SlackBuilds and source packages for the above from the root account.

2) Unpack libbsd.tar.gz.

3) cd to libbsd.

4) ln -s ../libbsd-0.8.3.tar.gz ./

5) ./libbsd.SlackBuild

 

Now you'll have a libbsd package in /tmp/.

 

1) installpkg /tmp/libbsd*.tar.gz

2) cd back to root, or .. from the above steps.

3) Unpack netcat-openbsd.tar.gz.

4) cd to netcat-openbsd.

5) ln -s ../netcat-openbsd_* ./

6) removepkg nc

7) ./netcat-openbsd.SlackBuild

 

Now you'll also have a netcat-openbsd package in /tmp/. Transfer both of these packages to a share on unRAID:

 

1) scp /tmp/*.tar.gz root@<tower ip>:/mnt/user/<share>/

 

Now you may install them from unRAID SSH or Telnet:

 

1) cd <wherever you copied them>

2) If you have NerdPack GNU netcat installed, disable it in the NerdPack UI, which doesn't actually remove it, then run removepkg nc.

3) installpkg libbsd*.tar.gz

4) installpkg netcat-openbsd*.tar.gz

  • Author

It also appears that you are configuring libvirtd to be an unauthenticated listener on all interfaces. The less usual approach I am used to seeing is to install netcat-openbsd, which requires a different Slack package than the one provided in NerdPack, and configure the virt-manager connection from a command line:

 

virt-manager -c qemu+ssh://root@tower/system?socket=/var/run/libvirt/libvirt-sock

 

Once this has been run, assuming the server has a version of the Netcat command supporting the -U switch to connect to Unix sockets, it should be able to pass through to libvirtd. Once this has been added to virt-manager, it should persist across restarts.

 

Furthermore, there is also a Homebrew tap on Github for virt-manager and virt-viewer, and it only requires a two line modification to the virt-manager.rb (brew edit virt-manager) to import a newer version of libvirt-python to bypass a compile time error which occurs on Sierra systems. Also, due to another bug with Sierra, this virt-manager will require the --no-fork switch to prevent a startup crash, but can still be launched into the background by appending an ampersand (&) to the command line.

 

E 1: Okay, here's what you need for a more secure connection path that doesn't require a libvirtd.conf edit:

 

You'll need libbsd and netcat-openbsd. You'll need a Slackware 14.2 install or the live DVD to build them.

 

1) Download the SlackBuilds and source packages for the above from the root account.

2) Unpack libbsd.tar.gz.

3) cd to libbsd.

4) ln -s ../libbsd-0.8.3.tar.gz ./

5) ./libbsd.SlackBuild

 

Now you'll have a libbsd package in /tmp/.

 

1) installpkg /tmp/libbsd*.tar.gz

2) cd back to root, or .. from the above steps.

3) Unpack netcat-openbsd.tar.gz.

4) cd to netcat-openbsd.

5) ln -s ../netcat-openbsd_* ./

6) removepkg nc

7) ./netcat-openbsd.SlackBuild

 

Now you'll also have a netcat-openbsd package in /tmp/. Transfer both of these packages to a share on unRAID:

 

1) scp /tmp/*.tar.gz root@<tower ip>:/mnt/user/<share>/

 

Now you may install them from unRAID SSH or Telnet:

 

1) cd <wherever you copied them>

2) If you have NerdPack GNU netcat installed, disable it in the NerdPack UI, which doesn't actually remove it, then run removepkg nc.

3) installpkg libbsd*.tar.gz

4) installpkg netcat-openbsd*.tar.gz

 

Wow, thanks, Kode54. Excellent information. I will try setting up that way. :)

 

I have tried using the homebrew-virt-manager on osx but never got it worKing. I would really like to have it in osx. When I've got some time I will go back to trying. But I am on Sierra now unfortunately. So it seems there will be more hurdles now than previously :(

Setting it up in Sierra is not terribly difficult. For now, the only hurdle is the libvirt-python version used.

 

1) brew tap jeffreywildman/virt-manager

2) brew edit virt-manager, search for "2.1.0", which should locate the libvirt-python link. Replace version number with "2.4.0", and replace the sha256 sum with "aa087cca41f50296306baa13366948339b875fd722fc4b92a484484cd881120c".

3) brew install virt-manager virt-viewer.

4) Due to outstanding issue #62 with jeffreywildman/virt-manager, remember to supply --no-fork switch when invoking virt-manager from the Terminal.

 

E1: Something I just remembered. KVM+Qemu does support saving snapshots, but if you have any hardware passthrough, it doesn't support saving snapshots of a running VM.

  • Author

Setting it up in Sierra is not terribly difficult. For now, the only hurdle is the libvirt-python version used.

 

1) brew tap jeffreywildman/virt-manager

2) brew edit virt-manager, search for "2.1.0", which should locate the libvirt-python link. Replace version number with "2.4.0", and replace the sha256 sum with "aa087cca41f50296306baa13366948339b875fd722fc4b92a484484cd881120c".

3) brew install virt-manager virt-viewer.

4) Due to outstanding issue #62 with jeffreywildman/virt-manager, remember to supply --no-fork switch when invoking virt-manager from the Terminal.

 

E1: Something I just remembered. KVM+Qemu does support saving snapshots, but if you have any hardware passthrough, it doesn't support saving snapshots of a running VM.

 

Kode54 . Thanks so much all working for me now. Im so happy I wanted this on osx for a long time. Its the latest 1.4.0 version aswell! :) :)

 

When i ran brew edit virt-manager i didnt even have to change anything as 2.4.0 was already there. So this must have been recently updated.

Just had to install xquartz then virt-manager virt-viewer

And works perfectly with the --no-fork switch

 

 

virt-manager isn't included by default, but I assume you already had that tap configured on your system. And I guess the developer already updated their libvirt-python package reference. Glad I could help, though.

Got everything working as well from terminal. Is there a way to create a short cut in launchpad that opens virt-manager in terminal with --no-fork with a click of a button?

  • Author

Got everything working as well from terminal. Is there a way to create a short cut in launchpad that opens virt-manager in terminal with --no-fork with a click of a button?

 

Hi this is how i did it and got icon into it aswell

Screen_Shot_2016_11_06_at_13_16_12.png

 

1. open textedit and set for plain text then put the following into it

 

#!/bin/bash
virt-manager --no-fork

 

2. save file as name 'vm' (make sure you uncheck if no file extension given use txt)

 

3. make file executable by running this command in terminal

 

chmod +x <filename and location>

 

for example chmod +x /Users/ed/Desktop/vm

 

4. now move file to applications/utilities

 

5. open automator from applications

 

choose run shell script and enter

 

Open /Applications/utilities/terminal.app /Applications/Utilities/vm

 

 

 

Screen_Shot_2016_11_06_at_12_41_03.png

 

6. save as type application and call vm again.

 

7. change icon. I have put a link to the files i use here . https://www.dropbox.com/s/xf5a323pivjskkk/vm%20manager%20osx%20dock%20files.zip?dl=0

 

Inside you will find a file called vm manager icon. Now goto the vm.app you just made with automator.

right click it and goto get info. In top left side of the box you will see a small icon there. drag the vmmanager icon over that to replace it.

 

8. Move the vm.app to your applications folder then drag it to the dock and you will have it in dock with correct icon  :)

 

Great stuff.... but I getting error when installing .......

 

Peters-mac:virtmanager peter$ brew tap jeffreywildman/virt-manager
Peters-mac:virtmanager peter$ brew install virt-manager virt-viewer
Warning: You are using OS X 10.12.
We do not provide support for this pre-release version.
You may encounter build failures or other breakages.
Please create pull-requests instead of filing issues.
==> Installing virt-manager from jeffreywildman/virt-manager
Error: You must `brew link intltool pkg-config` before jeffreywildman/virt-manager/virt-manager can be installed
==> Installing virt-viewer from jeffreywildman/virt-manager
Error: You must `brew link intltool pkg-config` before jeffreywildman/virt-manager/virt-viewer can be installed
Peters-mac:virtmanager peter$ 
Peters-mac:virtmanager peter$ 
Peters-mac:virtmanager peter$ brew link intltool pkg-config
Linking /usr/local/Cellar/intltool/0.51.0... 
Error: Could not symlink .
/usr/local/opt is not writable.
Peters-mac:virtmanager peter$ sudo brew link intltool pkg-config
Password:
Error: Cowardly refusing to 'sudo brew link'
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
Peters-mac:virtmanager peter$ brew install virt-manager virt-viewer
Warning: You are using OS X 10.12.
We do not provide support for this pre-release version.
You may encounter build failures or other breakages.
Please create pull-requests instead of filing issues.
==> Installing virt-manager from jeffreywildman/virt-manager
Error: You must `brew link intltool pkg-config` before jeffreywildman/virt-manager/virt-manager can be installed
==> Installing virt-viewer from jeffreywildman/virt-manager
Error: You must `brew link intltool pkg-config` before jeffreywildman/virt-manager/virt-viewer can be installed
Peters-mac:virtmanager peter$ brew link intltool pkg-config
Linking /usr/local/Cellar/intltool/0.51.0... 
Error: Could not symlink .
/usr/local/opt is not writable.
Peters-mac:virtmanager peter$ 

  • 3 years later...

Anyone get this working with a more recent version of virt-manager? With mint 20 there is not method drop down (~7:35 in video) to pick TCP.

 

Nevermind, I solved this. Custom "URIs" are created for this behind the scenes. I created a connection on my old rig and copied the text.

 

Example: qemu+tcp://[email protected]/system

Edited by scorcho99
Solved

  • 3 months later...

When trying to connect to UNRAID via ssh, after entering my password, I would keep getting the error that I have to use a version of netcat (nc) that supports the -U option.

 

Well, with the help of a Slackware 14.2 VM and the build instructions from @kode54 I was able to build the necessary components and install them. (I couldn't get it to compile on the UNRAID server itself despite installing the Dev Pack.)

 

Anyway, here are the two pre-compiled packages in case you want them. They work on my 6.8.3 version of UNRAID.

 

libbsd-0.10.0-x86_64-1_SBo.tgznetcat-openbsd-1.217_1-x86_64-1_SBo.tgz

 

Rename your nc in /usr/bin/ to something else before installing the new one.

 

Install using:

installpkg libbsd-0.10.0-x86_64-1_SBo.tgz

installpkg netcat-openbsd-1.217_1-x86_64-1_SBo.tgz

 

  • 9 months later...

I'm getting the below error when attempting to connect to VirtManager as part of following the Macinabox Big Sur installation guide. anyone know what's going on?

 

Unable to connect to libvirt qemu+ssh://[email protected]/system.

End of file while reading data: sh: nc: command not found: I/O error

Verify that the 'libvirtd' daemon is running on the remote host.

Libvirt URI is: qemu+ssh://[email protected]/system

Traceback (most recent call last):
  File "/usr/local/share/virt-manager/virtManager/connection.py", line 922, in _do_open
    self._backend.open(cb, data)
  File "/usr/local/share/virt-manager/virtinst/connection.py", line 153, in open
    conn = libvirt.openAuth(self._open_uri,
  File "/usr/lib/python3.8/site-packages/libvirt.py", line 104, in openAuth
    if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirt.libvirtError: End of file while reading data: sh: nc: command not found: I/O error

 

  • 1 month later...
On 12/30/2020 at 4:10 AM, frakman1 said:

When trying to connect to UNRAID via ssh, after entering my password, I would keep getting the error that I have to use a version of netcat (nc) that supports the -U option.

 

Well, with the help of a Slackware 14.2 VM and the build instructions from @kode54 I was able to build the necessary components and install them. (I couldn't get it to compile on the UNRAID server itself despite installing the Dev Pack.)

 

Anyway, here are the two pre-compiled packages in case you want them. They work on my 6.8.3 version of UNRAID.

 

libbsd-0.10.0-x86_64-1_SBo.tgz 223.72 kB · 9 downloads netcat-openbsd-1.217_1-x86_64-1_SBo.tgz 27.57 kB · 9 downloads

 

Rename your nc in /usr/bin/ to something else before installing the new one.

 

Install using:

installpkg libbsd-0.10.0-x86_64-1_SBo.tgz

installpkg netcat-openbsd-1.217_1-x86_64-1_SBo.tgz

 

 

 

Thank you!

 

It is also working on the newest version 6.9.2.

netcat-openbsd by nerdpack (https://github.com/dmacias72/unRAID-NerdPack/blob/master/packages/6.9/netcat-openbsd-1.105-x86_64-2.tgz) is stucking after first WOL receive. Even with -w 1.

 

```

nc.openbsd -4 -vulkn -p 9 -w 1
Listening on [0.0.0.0] (family 2, port 9)
������RT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iConnection closed, listening again.
```

 

This version is running smooth and still listening to new connections.


 

best regards

realize

  • 2 months later...

1. choose custom url in the virtual machine manager

 

2. enter qemu+tcp://192.168..0.1/system , replace ip address with the address of your unraid server

 

Enjoy

 

Doctor P

Does anyone have a script or a docker container that "fixes this"

....you can say -

execute the script. found here: https://....xxxx....

 

 

  • 2 weeks later...
On 9/1/2020 at 7:18 PM, scorcho99 said:

Anyone get this working with a more recent version of virt-manager? With mint 20 there is not method drop down (~7:35 in video) to pick TCP.

 

Nevermind, I solved this. Custom "URIs" are created for this behind the scenes. I created a connection on my old rig and copied the text.

 

Example: qemu+tcp://[email protected]/system

Thank you!  This was my problem.  This solved it for me also.

  • 3 months later...

Does Unraid's VNC break for anyone else after attempting to do this?

 

virt-manager also crashes when trying to open a running a VM, which I'm assuming tries to initialize a new VNC connection, not sure if these two issues are related.

 

Never mind. While I can't seem to connect with an external VNC client, I tried a different browser and it worked, so some kind of caching issue, which seems like the typical scenario when this happens.

 

virt-manager still crashes, but that could just be because it's too old and the formula needs to be updated etc.

Edited by Didstopia

  • 2 years later...

Virt-manger should be installed and working with each version of Unraid. It is silly Unraid is touted as having virtualizing when it does not give the customer the proper tools to administer vms. 

 

Sorry LimeTech, but you failed on delivering the ability to properly administer vms.

 

installing Fedora on a separate computer or as a vm is only a stopgap solution that LimeTech should be embarrassed to suggest.

 

My confidence in LimTech and Unraid is starting to dwindle recently due to some of the issues I have recently encountered.

 

At one time Packard built cars that rivaled Rolls Royce. During WWII Rolls Royce licensed production of their WWII airplane engines (Rolls Royce Merlin) to Packard. Packard not built the engines but improved upon their design. Sadly in the 1950s Packard's quality declined and so did Packard which was forced to merge with Studebaker.  Studebaker went extinct in the mid 1960s.

 

LimeTech should learn from Packard's success and failure.

 

On 11/1/2021 at 5:49 PM, realize said:

 

 

Thank you!

 

It is also working on the newest version 6.9.2.

netcat-openbsd by nerdpack (https://github.com/dmacias72/unRAID-NerdPack/blob/master/packages/6.9/netcat-openbsd-1.105-x86_64-2.tgz) is stucking after first WOL receive. Even with -w 1.

 

```

nc.openbsd -4 -vulkn -p 9 -w 1
Listening on [0.0.0.0] (family 2, port 9)
������RT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iRT�iConnection closed, listening again.
```

 

This version is running smooth and still listening to new connections.


 

best regards

realize

I truly appreciate all the efforts that the community has gone through to make this work. BUT IMHO, LimeTech should be providing us with tools that work out of the can and not make customers job through all these hoops and sweat to make something work.

PS: Using a custom url (as per Doc_P)  helped resolve my issue. I have it running on Fedora 40 VirualBox vm on Windows 11 and on a metal install of Zorin 17.1.

Zorin is based on Ubunto and installing Virt-manager on Zorin was one single command  "sudo apt-get install virt-manager"  and as simple as installing it on Fedora. 

 

I think we need a snapshot option for Unraid.

Edited by Vetteman

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.