August 18, 2016

I have been unsuccessful in finding a permanent working solution for audio forwarding over NoMachine using an Arch Linux host. I had raised issues on both the Arch Linux Forums as well as the NoMachine Forums. A trouble report was created to track this issue.

I have found a temporary workaround which results in pulseaudio being successfully forwarded over NX, but it must be applied each time a NoMachine connection is established. It requires logging in as the superuser to be able to search through some NoMachine logins which are not viewable as the default user:

 ➜  su - 
➜  cd /usr/NX/var/log
➜  grep -r -n 'native.socket' . 

./nxserver.log:1179:2016-08-18 11:40:53 805.980 14969 NXNODE   WARNING! Could not load module native with name: /usr/NX/var/run/nxdevice/D-1001-CCDE160BF6050EDC229A1FDD4CB7FD12/audio/native.socket.

You should see a bunch of entries similar to the one above. The expected audio module at the specified location does not exist, but you can quickly create a symlink at that location pointing to /run/user/1000/pulse/native assuming your default uid is 1000 using a command such as the follows:

ln -s /usr/NX/var/run/nxdevice/D-1001-CCDE160BF6050EDC229A1FDD4CB7FD12/audio/native.socket /run/user/1000/pulse/native

Check that your audio output isn’t muted or at low volume, and you should now be able to hear audio forwarded from the guest machine.

If anyone knows of a permanent solution, please share.