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.
-
Download the latest git master. Stable 1.1 has bugs related to freerdp-server.
git clone https://github.com/FreeRDP/FreeRDP.git
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
cd FreeRDP
- cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_SERVER=ON (see https://github.com/FreeRDP/FreeRDP/wiki/Build-Options for additional build options)
- make
- sudo make install
- Go to linux home directory
- cd etc/ld.conf.d
- 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
- sudo ldconfig
- cd ~/Desktop/FreeRDP
- sudo /sbin/ldconfig
- check installation using which xfreerdp NOTE: A file of known hosts is located at ~/.config/freerdp ABOVE STEPS ALSO APPLY FOR INSTALLING freerdp client
- copy server/X11/server.crt and server.key to ~/.config/freerdp/server/
- 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 - cd /etc/winpr (if dir does not exist then mkdir /etc/winpr) NOTE: you will need to have admin rights to access /etc
- In /etc/winpr create a file named SAM and copy the generated hash value in it
- 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.