Remote Desktop for OS X that's better than VNC? [closed]
VNC just feels sluggish and inefficient, and occasionally has display glitches. On windows, I can use Remote Desktop (RDP / MSTSC), and on Linux I can use NX Server, both of which are much better performing than VNC.
Is there anything better than VNC server for OS X? Also I need something that has a client (viewer) for Windows machines.
iRapp was my favorite fast screen sharing server for OS X, but they went bankrupt around June 2016 and their license server was taken down at some point. As of around Oct 2, 2016 my license for iRapp server said it was blocked because it couldn't contact the license server and I could find no way to get it working again. Even a trial license I had a copy of wouldn't install without their license server being up.
After some research, I found that Aqua Connect is the only iRapp competitor around that offers an OS X RDP server. In fact, Aqua was first with RDP and they sued iRapp for reverse engineering their product, but lost the case. Aqua is supposedly faster (they've improved on the RDP protocol and call it AAP) but unfortunately they are slow in development. iRapp had OS X El Capitan support a few months after it was released, but when I asked for a trial license from Aqua they said Aqua is still a week or more out from having a beta with support for El Capitan (and this was over a year after EC was released!).
So far, I have resisted paying Aqua $249 knowing that their software may become useless with a future macOS update and they might not fix it for 1+ years again.
I've tried all the free VNC clients: RealVNC, TightVNC, TigerVNC, UltraVNC, and TurboVNC and they are all laggy in various places, even on a LAN, and each has various problems with transmitting system keys, especially Cmd-Tab. UltraVNC was the fastest of the lot if set to "Ultra" speed on a LAN but drawing menus would still stall for up to 5 seconds and it has zero support for sending Cmd key.
I finally tried a trial of Remotix which costs $39 and uses the VNC protocol, yet for some reason it's enormously faster when connecting to OS X's built-in VNC server (known as 'Screen Sharing' in system settings) than any of the other clients. In fact, it's almost as fast as iRapp was, and it doesn't have any problems with system keys. I recommend 'Adaptive' screen quality because 'Full' is noticeably slow and 'Medium' shows many colors as the wrong tint. VNC supports multiple screen compression protocols and I suspect Remotix is implementing the Apple-native protocol. Problems I have with it:
- Mouse scroll wheel moves XCode scrollbar very slowly compared to iRapp (actually I found a "Scroll Sensitivity" in preferences and at max setting it's not too bad but still feels slightly slow).
- Text becomes almost too blurry to read when scrolling slowly, but sharpens quickly when you stop scrolling. More annoying than a real problem but I miss iRapp's consistent clarity.
- It ignores the keyboard if you move the mouse outside of the remote control window. This can be really annoying if you click in a search box, then flick the mouse out of the way to type your search and the mouse ends up outside the window. The developer says there is currently no fix for this.
- Copy/paste are not reliable. Occasionally they randomly fail and work if retried. Copying text from certain programs seems to usually (but not always) put something on the clipboard that Remotix doesn't understand and repeated pasting does nothing. I have PureText installed which lets you bind a hotkey to change whatever is on the clipboard to plain text format. If I flick the mouse outside the Remotix window, activate PureText hotkey, then paste in Remotix, it's a hassle, but it works. On the plus side, I can copy and paste images to OS X which I can't with most VNC clients.
- Alt-tab from within Remotix doesn't switch back to other Windows apps like it did in iRapp. Oddly, Alt-tab does bring up the Windows task switcher, but releasing tab seems to be grabbed by Remotix, leaving the task switcher window up. I later discovered you can flick the mouse outside Remotix window and Alt-Tab successfully.
Another fast screen sharing option is NoMachine. It uses the NX protocol which is similar in spirit to RDP and ends up being about as fast as iRapp with similar clarity. Sadly, it has deal-killing problems for me:
- Colors are slightly skewed. I don't think even using the highest quality completely corrected the colors, though the slight shift may not matter to some users. If you have to take screenshots for product documentation as I do, the color shift can be a deal breaker.
- Scroll wheel is slow and can't be adjusted.
- No built-in option to swap Ctrl and Win keys like Remotix has such that Ctrl-[key] instead of Win-[key] transmits Cmd-[key] to OS X. Instead, I used AutoHotkey to swap Ctrl/Win, just as I had to do with iRapp, but NoMachine somehow doesn't see me release the Ctrl key so Cmd-Tab, Cmd-C, Cmd-V all don't work or leave OS X thinking the Cmd key remains held down which causes all sorts of problems. That's a deal breaker. A fix was proposed here a year ago but has not been implemented. If you don't swap Ctrl/Win, you can use Win-[key] to get Cmd-[key], but you can't use Win-Tab for Cmd-Tab because Windows eats that hotkey for its own task switcher even if you disable the hotkey in the Windows registry. Swapping Cmd and Ctrl in OS X system prefs also does not work because no keyboard is listed when NoMachine is connected. If you plug in a physical keyboard and swap its keys, only the keys on that physical keyboard get swapped (if I remember correctly).
- Copy image and paste to OS X does not work.
- Remote control window must be manually resized on every connection (iRapp had the same problem, Remotix does not).
OpenNX is another NX protocol server for OS X but it hasn't been updated to work with Yosemite or later.
I've read good things about Splashtop but it's $60/yr for 1 user commercial use and I rather hate paying yearly fees for software. For personal use it's free and my searches suggest it may have working Ctrl to Cmd key support.
Timbuktu has been around since 1980 and I assume it works well, but its ownership has been sold around to various companies. As far as I can tell, its latest owner, Arris, doesn't even sell it anymore. People who already own it have had to resort to hacks to install it in El Capitan.
TeamViewer paid version supports connecting to a local IP address instead of routing through the internet, but they've moved to a subscription-only model starting at $42/mo. The product is free for personal use and seems reasonably fast, but it leaves little tabs in the UI and uses nag dialogs. People also say they won't let you use the free version through their servers for an extended period of connection. It has no support for sending the Ctrl key as Cmd to macOS which is a deal breaker for me. Workarounds like AutoHotkey that worked with iRapp to swap Cmd/Ctrl do not work with TeamViewer and discussions online point to no solution.
I read someone say that "LogMeIn is really fast compared to VNC or iRAPP" but a comment on another answer on this page says "On a LAN VNC is better than Logmein" so I don't know. Either way it only works through the internet and I want a LAN remote control solution. GoToMyPC also seems to be internet only.
As of 2014, someone has gotten unix xrdp server to work on macOS but some of the problems described in replies sound like deal killers. It may be worth a try if they've managed to work out the bugs. Another big concern is that future macOS versions will break it and it will take forever for someone to find a workaround, or Apple may completely remove the old unix layers that allow it to work.
High Sierra update:
Since moving to High Sierra, Remotix is no longer able to transmit a double click to the remote machine and it has weird problems sending certain characters to some programs in the Terminal app. It looks like some or all of the terminal problems may go away when Num Lock key is turned ON (weird). The double click problem is incredibly frustrating. After a week of waiting, I got a response from Nulana that they should release a fix around Oct 25 2017.
Remotix 5 for Win was released Oct 31 and fixed the double click never being seen, but now I have to click incredibly fast and it's still not seen as a double click most of the time. Installing macOS 10.13.1 update seemed to fix the problem until I rebooted and the same problem returned even after rebooting again. TightVNC client had the same issue, indicating it was likely a macOS VNC server problem. I was unable to reproduce on a different machine so I reinstalled macOS 10.13 from scratch after erasing the drive and the double click issue disappeared. I've installed all the former software I thought might have caused it and it still hasn't returned. Remotix 4 is still unable to double click.
iRapp has been reborn as NuoRDS under a different company name run by a former exec from Coderebel. It's as fast as ever and supports double click. Unfortunately they no longer offer a dedicated client, so you must use MS RDS client, Remotix, or various other clients. So far, I have found none that will let me swap Cmd and Ctrl like the iRapp client used to support using AutoHotkey. The old iRapp client connects, then disconnects immediately with no error message. I've asked them if there is any workaround. They initially suggested running Ukelele on the Mac but after some investigation, they admitted Ukelele can't alter the meaning of modifier keys like Cmd and Ctrl (nor can editing the keylayout files directly). Supposedly they will release an update to swap the keys on the NuoRDS server end but no ETA given.
Normally you can swap cmd/ctrl keys using Apple System Preferences > Keyboards > Modifier Keys...
, but it only affects the local keyboard, not keys sent by remote-control software. This explains how to modify the files used by System Preferences directly and it shows the settings affect a keyboard identified by its unique vendor and product ID. I spent awhile searching if there might be a vendor/product ID for the virtual remote control keyboard or if you could swap keys on "all" keyboards but could find no solution. I tried omitting the vendor and product ID from the file hoping that would be interpreted as "all" keyboards, then rebooted, but it had no effect.
Other software normally able to swap Cmd/Ctrl on macOS also does not work when connected via remote control:
- DoubleCommand (currently not compatible with Sierra and later)
- Karabiner Elements (formerly KeyboardRemap4Macbook).
I love Logmein for this as I have access anywhere and I don't need to worry about forwarding ports. Might seem like a bit much if you are only accessing it over a LAN, but still usable.