Can FreeRDP be used as server?

Solution 1:

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

Solution 2:

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.