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-Ubuntu-16.04.md
Go to the documentation of this file.
1 # Quick and dirty guide for compiling remmina on ubuntu 16.04
2 
3 These are instructions for people or software developers who want to contribute to the latest version of Remmina on Ubuntu 16.04.
4 
5 If you are an end user and you want to install the latest version of remmina, please use the "Remmina Team Ubuntu PPA - next branch", as explained on the [homepage of the wiki](https://github.com/FreeRDP/Remmina/wiki).
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 
12 **1.** Install all packages required to build freerdp and remmina:
13 ```
14 sudo apt-get install build-essential git-core cmake libssl-dev libx11-dev libxext-dev libxinerama-dev \
15  libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev \
16  libxrandr-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev \
17  libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libxi-dev libavutil-dev \
18  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt11-dev libssh-dev libpulse-dev \
19  libvte-2.91-dev libxkbfile-dev libtelepathy-glib-dev libjpeg-dev \
20  libgnutls-dev libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev \
21  libappindicator3-dev intltool libsecret-1-dev libwebkit2gtk-4.0-dev libsystemd-dev \
22  libsoup2.4-dev libjson-glib-dev libavresample-dev libusb-1.0-0-dev libpcre2-dev
23 ```
24 **2.** Remove freerdp-x11 package and all packages containing the string remmina in the package name.
25 ```
26 sudo apt-get --purge remove freerdp-x11 \
27  remmina remmina-common remmina-plugin-rdp remmina-plugin-vnc remmina-plugin-gnome \
28  remmina-plugin-nx remmina-plugin-telepathy remmina-plugin-xdmcp
29 sudo apt-get --purge remove libfreerdp-dev libfreerdp-plugins-standard libfreerdp1 \
30  libfreerdp-utils1.1 libfreerdp-primitives1.1 libfreerdp-locale1.1 \
31  libfreerdp-gdi1.1 libfreerdp-crypto1.1 libfreerdp-core1.1 libfreerdp-common1.1.0 \
32  libfreerdp-codec1.1 libfreerdp-client1.1 libfreerdp-cache1.1
33 sudo apt-get --purge remove \
34  libfreerdp-rail1.1 libwinpr-asn1-0.1 libwinpr-bcrypt0.1 libwinpr-credentials0.1 libwinpr-credui0.1 \
35  libwinpr-crt0.1 libwinpr-crypto0.1 libwinpr-dev libwinpr-dsparse0.1 libwinpr-environment0.1 \
36  libwinpr-error0.1 libwinpr-file0.1 libwinpr-handle0.1 libwinpr-heap0.1 libwinpr-input0.1 \
37  libwinpr-interlocked0.1 libwinpr-io0.1 libwinpr-library0.1 libwinpr-path0.1 libwinpr-pipe0.1 \
38  libwinpr-pool0.1 libwinpr-registry0.1 libwinpr-rpc0.1 libwinpr-sspi0.1 libwinpr-sspicli0.1 \
39  libwinpr-synch0.1 libwinpr-sysinfo0.1 libwinpr-thread0.1 libwinpr-timezone0.1 libwinpr-utils0.1 \
40  libwinpr-winhttp0.1 libwinpr-winsock0.1 freerdp2-x11 "libfreerdp2*" "libwinpr2*"
41 ```
42 
43 **3.** Create a new directory for development in your home directory, and cd into it
44 ```
45 mkdir ~/remmina_devel
46 cd ~/remmina_devel
47 ```
48 **4.** Download the latest source code of FreeRDP from its master branch
49 ```
50 git clone --branch 2.0.0 https://github.com/FreeRDP/FreeRDP.git
51 cd FreeRDP
52 ```
53 **5.** Configure FreeRDP for compilation (don't forget to include -DWITH_PULSE=ON)
54 ```
55 cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_CUPS=on -DWITH_WAYLAND=off -DWITH_PULSE=on -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina_devel/freerdp .
56 ```
57 Please note that the above line will make FreeRDP install in /opt/remmina_devel/freerdp
58 
59 **6.** Compile FreeRDP and install
60 ```
61 make && sudo make install
62 ```
63 **7.** Make your system dynamic loader aware of the new libraries you installed. For Ubuntu x64:
64 ```
65 echo /opt/remmina_devel/freerdp/lib | sudo tee /etc/ld.so.conf.d/freerdp_devel.conf > /dev/null
66 sudo ldconfig
67 ```
68 
69 **8.** Create a symbolik link to the executable in /usr/local/bin
70 ```
71 sudo ln -s /opt/remmina_devel/freerdp/bin/xfreerdp /usr/local/bin/
72 ```
73 **9.** Test the new freerdp by connecting to a RDP host
74 ```
75 xfreerdp +clipboard /sound:rate:44100,channel:2 /v:hostname /u:username
76 ```
77 
78 **10.** Now clone remmina repository to your devel dir:
79 ```
80 cd ~/remmina_devel
81 git clone https://gitlab.com/Remmina/Remmina.git
82 ```
83 
84 **11.** Configure Remmina for compilation
85 ```
86 cd Remmina
87 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina_devel/remmina -DCMAKE_PREFIX_PATH=/opt/remmina_devel/freerdp --build=build .
88 ```
89 **12.** Compile remmina and install it
90 ```
91 make && sudo make install
92 ```
93 **13.** Create a symbolik link to the the executable
94 ```
95 sudo ln -s /opt/remmina_devel/remmina/bin/remmina /usr/local/bin/
96 ```
97 **14.** Run remmina
98 ```
99 remmina
100 ```
101 Please note that icons and launcher files are not installed, so don't search for remmina using Unity Dash.
102 
103 ## Uninstall everything
104 **1.** Remove the devel directory
105 ```
106 rm -rf ~/remmina_devel/
107 ```
108 **2.** Remove the binary directory
109 ```
110 sudo rm -rf /opt/remmina_devel/
111 ```
112 **3.** Cleanup symlinks and dynamic loader
113 ```
114 sudo rm /etc/ld.so.conf.d/freerdp_devel.conf /usr/local/bin/remmina /usr/local/bin/xfreerdp
115 sudo ldconfig
116 ```