Can FreeRDP be configured as a server? That is can I install freeRDP in my Ubunutu VM running on a server and remotely connect to it from my windows Remote Desktop client?

Thank you

  • Not that I know of. I highly advise FreeNX, it is fast and secure. There are cross platform servers and clients. – Panther Jun 2 '14 at 14:56
  • possible duplicate of Is it possible to use remote desktop from Windows 7 to Ubuntu? – Panther Jun 2 '14 at 19:15
  • @bodhi.zazen I know about alternatives such as xrdp, FreeNX, VNC etc. However, I want to specifically know whether FreeRDP can be used as a server. – Arkantos Jun 2 '14 at 20:13
  • The FreeRDP package is a client only. – Panther Jun 2 '14 at 20:26
  • @bodhi.zazen I did a lot of snooping around on freerdp github repo, and it turns out that FreeRDP can be used as a server, however, it is still experimental and has several issues. However, I got their latest master code up and running, and can connect from a standard windows mstsc to an ubuntu VM running on a server. – Arkantos Jun 5 '14 at 18:41

Yes, I can confirm, there are no xfreerdp-server sources in the repository now. From xfreerdp wiki:

-DWITH_SERVER=ON : When on, it creates make files for server libs

Server libs are built successfully, but how to use them? There is also a sample server included - sfreerdp-server ( -DWITH_SAMPLE=ON ) but it produces no output. I suppose you have to look into code to understand what it does as I didn't found any documentation.

  • freerdp-shadow didn't work for me either, it logs errors when I try to connect from Windows Server 2003, maybe the client in ws2003 is too old – Alek_A Oct 8 '15 at 12:36

Listed are the steps to install xfreerdp as a server in a linux machine. Using this, you can remotely connect to your linux machine. NOTE: freerdp server is still in experimental stage and has several bugs once you get connected. It is no where near production.

  1. Download the latest git master. Stable 1.1 has bugs related to freerdp-server.

    git clone https://github.com/FreeRDP/FreeRDP.git

  2. Install suggested dependencies: sudo apt-get install build-essential git-core cmake libssl-dev libx11-dev libxext-dev libxinerama-dev \ libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev \ libxrandr-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxi-dev

  3. cd FreeRDP

  4. cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_SERVER=ON (see https://github.com/FreeRDP/FreeRDP/wiki/Build-Options for additional build options)
  5. make
  6. sudo make install
  7. Go to linux home directory
  8. cd etc/ld.conf.d
  9. create a file called freerdp.conf and insert in it: usr/local/lib/freerdp depending on OS dist may also have to add: /usr/local/lib
  10. sudo ldconfig
  11. cd ~/Desktop/FreeRDP
  12. sudo /sbin/ldconfig
  13. check installation using which xfreerdp NOTE: A file of known hosts is located at ~/.config/freerdp ABOVE STEPS ALSO APPLY FOR INSTALLING freerdp client
  14. copy server/X11/server.crt and server.key to ~/.config/freerdp/server/
  15. Now you need to generate a hash of the User account of your computer in which the freerdp-server will run. freerdp contains a hash tool to do this.
    cd ~/Desktop/FreeRDP/winpr/tools/hash if your account username is USER and password is PASSWD and domain is DOMAIN (omit
    domain if N/A), then run the hash script as: ./winpr-hash -d DOMAIN -u USER -p PASSWD The script will output a hash value
  16. cd /etc/winpr (if dir does not exist then mkdir /etc/winpr) NOTE: you will need to have admin rights to access /etc
  17. In /etc/winpr create a file named SAM and copy the generated hash value in it
  18. run freerdp server with command xfreerdp-server

NOTE: If you get an error and freerdp stops, saying bind: address already in use it means another
TCP/IP process is using the same port address that freerdp-server is trying to access. Check running processes with command netstat-tulpn. NOTE: Connect to server using a client which has RemoteFX enabled, otherwise connection fails

  • I just followed the exact steps as you mentioned, As the last step says to start the server, what is the exact command to start the server. When I try xfreerdp-server or xfreerdp -server, neither works for me. – practice2perfect Apr 6 '15 at 9:07
  • In the current version of FreeRDP, the CLI changed from xfreerdp-server to freerdp-shadow-cli – Michael Johnston Jun 13 '16 at 23:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.