Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
Remmina
Remmina
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 295
    • Issues 295
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 3
    • Merge Requests 3
  • Requirements
    • Requirements
    • List
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • Remmina
  • RemminaRemmina
  • Wiki
    • Compilation
  • Compile on Ubuntu 16.04

Last edited by Antenore Gatta Apr 14, 2020
Page history

Compile on Ubuntu 16.04

Quick and dirty guide for compiling remmina on ubuntu 16.04

These are instructions for people or software developers who want to contribute to the latest version of Remmina on Ubuntu 16.04.

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.

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.

You will also find the uninstall instructions at the bottom of this page.

1. Install all packages required to build freerdp and remmina:

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 \
  libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libxi-dev libavutil-dev \
  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt11-dev libssh-dev libpulse-dev \
  libvte-2.91-dev libxkbfile-dev libtelepathy-glib-dev libjpeg-dev \
  libgnutls-dev libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev \
  libappindicator3-dev intltool libsecret-1-dev libwebkit2gtk-4.0-dev libsystemd-dev \
  libsoup2.4-dev libjson-glib-dev libavresample-dev libusb-1.0-0-dev

2. Remove freerdp-x11 package and all packages containing the string remmina in the package name.

sudo apt-get --purge remove freerdp-x11 \
 remmina remmina-common remmina-plugin-rdp remmina-plugin-vnc remmina-plugin-gnome \
 remmina-plugin-nx remmina-plugin-telepathy remmina-plugin-xdmcp
sudo apt-get --purge remove libfreerdp-dev libfreerdp-plugins-standard libfreerdp1 \
 libfreerdp-utils1.1 libfreerdp-primitives1.1 libfreerdp-locale1.1 \
 libfreerdp-gdi1.1 libfreerdp-crypto1.1 libfreerdp-core1.1 libfreerdp-common1.1.0 \
 libfreerdp-codec1.1 libfreerdp-client1.1 libfreerdp-cache1.1
sudo apt-get --purge remove \
  libfreerdp-rail1.1 libwinpr-asn1-0.1 libwinpr-bcrypt0.1 libwinpr-credentials0.1 libwinpr-credui0.1 \
  libwinpr-crt0.1 libwinpr-crypto0.1 libwinpr-dev libwinpr-dsparse0.1 libwinpr-environment0.1 \
  libwinpr-error0.1 libwinpr-file0.1 libwinpr-handle0.1 libwinpr-heap0.1 libwinpr-input0.1 \
  libwinpr-interlocked0.1 libwinpr-io0.1 libwinpr-library0.1 libwinpr-path0.1 libwinpr-pipe0.1 \
  libwinpr-pool0.1 libwinpr-registry0.1 libwinpr-rpc0.1 libwinpr-sspi0.1 libwinpr-sspicli0.1 \
  libwinpr-synch0.1 libwinpr-sysinfo0.1 libwinpr-thread0.1 libwinpr-timezone0.1 libwinpr-utils0.1 \
  libwinpr-winhttp0.1 libwinpr-winsock0.1 freerdp2-x11 "libfreerdp2*" "libwinpr2*"

3. Create a new directory for development in your home directory, and cd into it

mkdir ~/remmina_devel
cd ~/remmina_devel

4. Download the latest source code of FreeRDP from its master branch

git clone --branch 2.0.0 https://github.com/FreeRDP/FreeRDP.git
cd FreeRDP

5. Configure FreeRDP for compilation (don't forget to include -DWITH_PULSE=ON)

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 .

Please note that the above line will make FreeRDP install in /opt/remmina_devel/freerdp

6. Compile FreeRDP and install

make && sudo make install

7. Make your system dynamic loader aware of the new libraries you installed. For Ubuntu x64:

echo /opt/remmina_devel/freerdp/lib | sudo tee /etc/ld.so.conf.d/freerdp_devel.conf > /dev/null
sudo ldconfig

8. Create a symbolik link to the executable in /usr/local/bin

sudo ln -s /opt/remmina_devel/freerdp/bin/xfreerdp /usr/local/bin/

9. Test the new freerdp by connecting to a RDP host

xfreerdp +clipboard /sound:rate:44100,channel:2 /v:hostname /u:username

10. Now clone remmina repository to your devel dir:

cd ~/remmina_devel
git clone https://gitlab.com/Remmina/Remmina.git

11. Configure Remmina for compilation

cd Remmina
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina_devel/remmina -DCMAKE_PREFIX_PATH=/opt/remmina_devel/freerdp --build=build .

12. Compile remmina and install it

make && sudo make install

13. Create a symbolik link to the the executable

sudo ln -s /opt/remmina_devel/remmina/bin/remmina /usr/local/bin/

14. Run remmina

remmina

Please note that icons and launcher files are not installed, so don't search for remmina using Unity Dash.

Uninstall everything

1. Remove the devel directory

rm -rf ~/remmina_devel/

2. Remove the binary directory

sudo rm -rf /opt/remmina_devel/

3. Cleanup symlinks and dynamic loader

sudo rm /etc/ld.so.conf.d/freerdp_devel.conf /usr/local/bin/remmina /usr/local/bin/xfreerdp
sudo ldconfig
Clone repository

Table of contents

  • Home
  • Usage
    • Remmina SSH terminal colour schemes
    • Remmina usage FAQ
    • Remmina user’s guide
    • Remmina command line examples
    • Remmina SSH wizardry
  • Compilation
    • Compilation guide for Red Hat/CentOS
    • Compile on Arch Linux
    • Compile on Debian 10 Buster
    • Compile on Debian 9 Stretch
    • Compile on Fedora 20 ~ 26
    • Compile on FreeBSD
    • Compile on Ubuntu 14.04
    • Compile on Ubuntu 16.04
    • Compile on Ubuntu 18.04
    • Compile on Ubuntu 20.04
  • Development
    • Development Notes
    • multi-monitor support
  • Contribution
    • Contribute to the Remmina documentation
    • HOWTO generate the changelog
  • Localisation
    • How to translate Remmina
    • Update gettext messages
  • Testing
    • Testing under Ubuntu with the remmina next daily PPA
  • Problems and tweaks
    • Black screen
    • GTK versions on various distributions
    • Problems with Wayland
    • Remmina RDP and HiDPI scaling
    • Remmina VNC to Raspbian Stretch
    • Squares insead of text
    • Systray menu
    • VNC key mapping configuration
    • View and export passwords