diff options
author | Giovanni Panozzo <giovanni@panozzo.it> | 2020-02-28 14:51:21 +0300 |
---|---|---|
committer | Giovanni Panozzo <giovanni@panozzo.it> | 2020-02-28 14:51:21 +0300 |
commit | 6bc0c56ca396cc6681f131cffad2ceea50e37838 (patch) | |
tree | f80f7ebfc7760b1e845b9462d2a6647dbd4cd39e | |
parent | 40e4d6485f72c75b68d9d73f3049334228c1b882 (diff) |
Create Compile on Ubuntu 20.04
-rw-r--r-- | Compile-on-Ubuntu-20.04.md | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/Compile-on-Ubuntu-20.04.md b/Compile-on-Ubuntu-20.04.md new file mode 100644 index 0000000..10c4a93 --- /dev/null +++ b/Compile-on-Ubuntu-20.04.md @@ -0,0 +1,102 @@ +# Quick and dirty guide for compiling remmina on ubuntu 18.04 + +These are instructions for people or software developers who want to contribute to the latest version of Remmina on Ubuntu 20.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](https://gitlab.com/Remmina/Remmina/wikis/home). + +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 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 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ + libxi-dev libavutil-dev \ + libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt20-dev libssh-dev libpulse-dev \ + libvte-2.91-dev libxkbfile-dev libtelepathy-glib-dev libjpeg-dev \ + libgnutls28-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 libsodium-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 "remmina*" "libfreerdp*" "libwinpr*" "freerdp*" +``` + +**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 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_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 +``` |