xRDP is an awesome utility developed by NeutrinoLabs for allowing RDP protocol remote sessions to Linux/Unix operating systems. There’s little to no documentation on the proper way to set it up on a MacOS machine, as I don’t believe there is much demand for it. However, having a Mac in a remote lab can be extremely useful for many purposes, and this is a way to ditch the extra VNC viewer application while you’re at it.
Click “View in Mac App Store”. Once the App Store opens, click 'Get', then click 'Install App'. If prompted, enter your Apple ID and password. If the downloaded.rdp file opens in a program called 'Remote Desktop Connection' instead of 'Microsoft Remote Desktop', it will look like the following. Apple Remote Desktop is available from the Mac App Store. Select your server in the Server app sidebar, then click Settings. Select “Enable screen sharing and remote management.” The following are three possible states for Screen Sharing and Remote Management. FreeRDP: A Remote Desktop Protocol Implementation FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Enjoy the freedom of using your software wherever you want, the way you want it, in a world where interoperability can finally liberate your computing experience. Added support for the 'remoteapplicationcmdline' RDP file setting for remote app scenarios. The title of the session window now includes the name of the RDP file (and server name) when launched from an RDP file. Fixed reported RD gateway performance issues. Fixed reported RD gateway crashes. MacOS does not support RDP out of the box. There does not seem to be a canonical best solution for getting it working, but you can see OS X RDP server application. VNC is supported by macOS. Go to System Preferences → Sharing → Screen Sharing → Computer Settings and enable VNC viewers may control screen with password.
Step 1 - Setting up the build environment
Install xCode Command Line Tools (This may already be installed) [v2354]
Install Homebrew [v2.1.15]
You can modify this string as needed, such as I needed to add a proxy for curl using the -x switch (Proxies will also need to be set at ALL_PROXY export and in git config –global)
Install OpenSSL (Brew) [LibreSSL 2.6.5]
Once OpenSSL is installed properly, you must export CPPFLAGS to allow the compiler to find it.
Install (Brew) Dependencies
Install xQuartz [v2.7.11]https://www.xquartz.org/
After install, it will be required to log out and log back in
You may also want to make a folder to keep things organized and to work out of.
Configure System Preferences for VNC Sharing - System Preferences - Sharing - Screen Sharing: On - Computer Settings - “Anyone may request permission to control screen”: On - VNC viewers may control screen with password: {Your account password}
Step 2 - Download the correct xRDP Packages
Intel. You will need both xRDP and xOrgxRDP from http://xrdp.org/ (tar.gz packages)
XRDP Releases - v0.9.11
XORGXRDP Releases - v0.2.11
Once downloaded, pull them into your build directory and extract them.
Step 3 - Building xRDP
Run the xRDP build Bootstrapper and configure the build with OpenSSL. We will then run the make installer.
If you get a failure here, it is likely due to not setting the OpenSSL CPPFLAGS export properly.
Step 4 - Building xOrgxRDP
Run the xOrgxRDP build Bootstrapper and configure the build with OpenSSL. We will then run the make installer again.
If you get a failure here, make sure you restarted your session after installing your xQuartz X11 server
Configure xRDP to function properly
You’ve made it this far! We now had xRDP installed and in a semi-ready state. The next step is to setup the configuration for Mac specific settings for how we will have to be connecting.
Let’s open our xrdp.ini file to set everything up correctly!
First, find the line with all of your sessions Dmg file extractor for windows 8.1.
We are only worried about vnc-any
in this instance, as that is the only one I have been able to get to function properly. We are also going to reference libvnc.dylib, not libvnc.so.Below is the changed sessions section. I just comment out any I won’t be using and make the necessary changes for my environment.
For vi, press ‘i’ to enter Insert/Edit mode. To save your changes our, press ‘ESC’ and enter :wq!
Try to connect!
Now it is time to start the xRDP and XRDP Session Manager Daemons and attempt a preliminary connection to validate all settings are in place properly.
The daemons can be found and started out of the `/usr/local/sbin/’ directory as below.
If you can authenticate through the xRDP session to get to the MacOS login screen, congrats, it’s working!
Otherwise…
Note about encryption
xRDP comes with a standard x509 2048bit RSA key/cert pair.I highly encourage following their simple documentation to replace them with your own. I simply replace the current ones in /etc/xrdp/
with my own, after renaming them to add a .bak extension with a self-signed 4096bit certificate. This prevents having to path out in the xrdp.ini (Since it appears to only honor certs and keys in the same directory anyways). The golden rule is, if an application provides you a certificate but allows you to substitute your own - DO IT.
https://github.com/neutrinolabs/xrdp/wiki/TLS-security-layer
Final words
There is very little current documentation on doing this. The layout/tutorial here is what I found works for me, and I have tried it on a few systems. It is not very scalable, but I think that weighs into why this isn’t documented out much anyways. This is something you may have in a small lab, but not a production or enterprise environment. But it is cool, and for the right use-case, fantastic!
You have a Mac Computer and are running Microsoft Desktop (RDP) throws an Error code: 0x4 just randomly when you try to connect to a computer you have configured for connection.
For us, this problem just randomly started this year after Microsoft updated their RDP software. Casino potawatomi : poker tracking software for mac. “Go Microsoft”
Remote Desktop Server For Mac
We have searched the web, and noticed that the suggestions to Reboot the computer, or restart the RDP software, or both. Do not appear to reliably work. Although we did have some luck with this.
Another suggestion was to copy or recreate the connection in RDP. Again, only limited success with this solution.
For us the solution came when we went into the system preferences of the Remote Desktop Connection
And you will notice the default preferences look something like this.
We simply unticked the “Use hardware acceleration when possible” check box.
Mac Rdp Server List
That’s it. After doing this you should notice that it fixes Mac RDP not connecting with 0x4 Errors.