Remmina - The GTK+ Remote Desktop Client  v1.4.33
Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported.
Compile-on-Debian-9-Stretch.md
Go to the documentation of this file.
1 # Quick and dirty guide for compiling remmina on Debian 9
2 
3 ****NOTE: THIS IS NO LONGER REQUIRED, [REMMINA IS NOW AVAILABLE FROM DEBIAN BACKPORTS](https://www.remmina.org/wp/debian-the-boys-are-backport-in-town).****
4 
5 These are instructions for people or software developers who want to contribute to the latest version of Remmina on Debian 9 Stretch.
6 
7 By following these instructions, you will get Remmina and FreeRDP compiled under the /opt/remmina_devel/ subdir, so they will not mess up your system too much. This is ideal for testing remmina.
8 
9 You will also find the uninstall instructions at the bottom of this page.
10 
11 **Changelog**
12 * Initial write: May 1 2017.
13 
14 You need to execute the following commands as root or as a user with sudo privileges (member of the sudo group).
15 
16 **1.** Install all packages required to build freerdp and remmina:
17 Execute te following commands as root
18 ```
19 sudo apt purge libssl-dev
20 
21 sudo apt install build-essential git-core libssh-dev cmake libx11-dev libxext-dev libxinerama-dev \
22  libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev \
23  libxrandr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
24  libxi-dev libavutil-dev libjson-glib-dev\
25  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt11-dev libpulse-dev \
26  libvte-2.91-dev libxkbfile-dev libtelepathy-glib-dev libjpeg-dev \
27  libgnutls28-dev libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev \
28  libappindicator3-dev intltool libsecret-1-dev libwebkit2gtk-4.0-dev libsystemd-dev \
29  libsodium-dev libpcre2-dev
30 ```
31 **2.** As root, remove freerdp-x11 package and all packages containing the string remmina in the package name.
32 ```
33  sudo apt purge "remmina*" "libfreerdp*" "libwinpr*" "freerdp*"
34 ```
35 
36 **3.** Create a new directory for development in your home directory, and cd into it
37 ```
38 mkdir ~/remmina_devel
39 cd ~/remmina_devel
40 ```
41 **4.** Download the latest source code of FreeRDP from its master branch
42 ```
43 git clone --branch 2.0.0 https://github.com/FreeRDP/FreeRDP.git
44 cd FreeRDP
45 ```
46 **5.** Configure FreeRDP for compilation (don't forget to include -DWITH_PULSE=ON)
47 ```
48 cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_CUPS=on -DWITH_PULSE=on -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina_devel/freerdp .
49 ```
50 Please note that the above line will make FreeRDP install in /opt/remmina_devel/freerdp
51 
52 **6.** Compile FreeRDP and install
53 ```
54 make && sudo make install
55 ```
56 **7.** Make your system dynamic loader aware of the new libraries you installed. For Ubuntu x64:
57 ```
58 echo /opt/remmina_devel/freerdp/lib | sudo tee /etc/ld.so.conf.d/freerdp_devel.conf > /dev/null
59 sudo ldconfig
60 ```
61 
62 **8.** Create a symbolik link to the executable in /usr/local/bin
63 ```
64 sudo ln -s /opt/remmina_devel/freerdp/bin/xfreerdp /usr/local/bin/
65 ```
66 **9.** Test the new freerdp by connecting to a RDP host
67 ```
68 xfreerdp +clipboard /sound:rate:44100,channel:2 /v:hostname /u:username
69 ```
70 
71 **10.** Now clone remmina repository to your devel dir:
72 ```
73 cd ~/remmina_devel
74 git clone https://gitlab.com/Remmina/Remmina.git
75 ```
76 
77 **11.** Configure Remmina for compilation
78 ```
79 cd Remmina
80 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina_devel/remmina -DCMAKE_PREFIX_PATH=/opt/remmina_devel/freerdp --build=build .
81 ```
82 **12.** Compile remmina and install it
83 ```
84 make && sudo make install
85 ```
86 **13.** Create a symbolik link to the the executable
87 ```
88 sudo ln -s /opt/remmina_devel/remmina/bin/remmina /usr/local/bin/
89 ```
90 **14.** Run remmina
91 ```
92 remmina
93 ```
94 Please note that icons and launcher files are not installed, so don't search for remmina using Unity Dash.
95 
96 ## Uninstall everything
97 **1.** Remove the devel directory
98 ```
99 rm -rf ~/remmina_devel/
100 ```
101 **2.** Remove the binary directory
102 ```
103 sudo rm -rf /opt/remmina_devel/
104 ```
105 **3.** Cleanup symlinks and dynamic loader
106 ```
107 sudo rm /etc/ld.so.conf.d/freerdp_devel.conf /usr/local/bin/remmina /usr/local/bin/xfreerdp
108 sudo ldconfig
109 ```