This basically involves two steps:
- Client-side support, aka adding the required decoding libraries on the local computer. See official documentation: Enabling the H.264 codec on the NoMachine client host. Here is an example of following the steps on my Macbook Air:
brew update brew install ffmpeg && brew upgrade ffmpeg cd /usr/local/Cellar/ffmpeg/3.0.2/lib sudo cp libavcodec.dylib /Applications/NoMachine/Contents/Frameworks/lib sudo cp libavutil.dylib /Applications/NoMachine/Contents/Frameworks/lib
Setting a custom resolution to that of the guest monitor
Say you have two monitors physically connected to the server, supporting by default maximum resolutions of 1440x900
and 1600x900
. If you are logging in to the remote server from a machine that has a larger display, it may be difficult to add the new resolution. I have attempted to follow dozens of similar instructions I found online, with little luck. The only thing that worked for me seems like a hack, but it works.
➜ xrandr | grep -i primary DVI-D-0 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 257mm
We’ll be using the scale option of randr to change our resolution in this case, i.e. (x resolution)(x scale factor) = (desired x resolution); (y resolution)(y scale factor) = (desired y resolution). You’ll want to use at least a few decimal places for non-truncating decimal numbers unless your scaling factor is a rational number:
xrandr --output DVI-D-0 --scale 1.3333333x1.33333333
Afterwards, you should see this represented if you run the initial xrandr
command above.
➜ xrandr | grep -i primary DVI-D-0 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 410mm x 257mm