Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/remmina-wiki.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTukusej’s Sirs <tukusejssirs@protonmail.com>2020-02-21 21:30:47 +0300
committerTukusej’s Sirs <tukusejssirs@protonmail.com>2020-02-21 21:30:47 +0300
commit7d1acfcc0637085428c42e846c37441a9d156ff3 (patch)
tree0d66a4bc144f3206adb9b5d542ecb38346d1dca9 /Compilation
parent9ffa94911512ea1b0014f1b8bf149a5c5002c0a3 (diff)
Update Compilation-guide-for_RHEL.md
Diffstat (limited to 'Compilation')
-rw-r--r--Compilation/Compilation-guide-for-RHEL.md111
1 files changed, 72 insertions, 39 deletions
diff --git a/Compilation/Compilation-guide-for-RHEL.md b/Compilation/Compilation-guide-for-RHEL.md
index 9420688..e5abd63 100644
--- a/Compilation/Compilation-guide-for-RHEL.md
+++ b/Compilation/Compilation-guide-for-RHEL.md
@@ -1,6 +1,6 @@
These are the instructions for people who want to test the latest version of Remmina (`master` branch) on RHEL-like operating systems.
-Current version of this guide was tested on vanilla CentOS 7 GNOME Desktop (specifically: [CentOS-7-x86_64-DVD-1908.iso](http://tux.rainside.sk/centos/7.7.1908/isos/x86_64/)), CentOS 8 Workstation (specifically: [CentOS-8.1.1911-x86_64-dvd1.iso](http://tux.rainside.sk/centos/8.1.1911/isos/x86_64/)) and Fedora 31 x86_64 (specifically: [Fedora-Workstation-Live-x86_64-31-1.9.iso](https://download.fedoraproject.org/pub/fedora/linux/releases/31/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-31-1.9.iso)). However, it should work on all CentOS 7+ and Fedora 20+ versions. If you find anything not working, raise an [issue](https://gitlab.com/Remmina/Remmina/issues/new).
+Current version of this guide was tested on vanilla CentOS 7 GNOME Desktop (specifically: [CentOS-7-x86_64-DVD-1908.iso](http://tux.rainside.sk/centos/7.7.1908/isos/x86_64/)), CentOS 8 Workstation (specifically: [CentOS-8.1.1911-x86_64-dvd1.iso](http://tux.rainside.sk/centos/8.1.1911/isos/x86_64/)) and Fedora 31 x86_64 (specifically: [Fedora-Workstation-Live-x86_64-31-1.9.iso](https://download.fedoraproject.org/pub/fedora/linux/releases/31/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-31-1.9.iso)). However, it should work on all CentOS 7+, Red Hat 7+ and Fedora 20+ versions. If you find anything not working, raise an [issue](https://gitlab.com/Remmina/Remmina/issues/new).
Note that although on CentOS 8 and Fedora, they use `dnf` package manager, there is still the `yum` symlink to `dnf`, so we decided to keep `yum` in this guide to make it usable on all of these distributions without any modifications.
@@ -16,7 +16,7 @@ sudo yum -y remove freerdp*
# When FreeRDP is installed from source code, enter the FreeRDP source code folder
# and run the following command
-cd ${HOME}/git/freerdp
+cd ${HOME}/freerdp
sudo rm $(cat install_manifest.txt)
# When Remmina is installed from the CentOS repo, use this command to remove it
@@ -24,7 +24,7 @@ sudo yum -y remove remmina*
# When Remmina is installed from source code, enter the `build` folder
# in Remmina source code folder and run the following command
-cd ${HOME}/git/remmina/build
+cd ${HOME}/remmina/build
sudo make uninstall
# Finally, we need to delete the empty folders of Remmina and FreeRDP
@@ -50,16 +50,16 @@ fi
# epel (on CentOS only): required for `openjpeg2-devel`, `openssl-devel`
# rpmfusion-free-updates (on both CentOS and Fedora): required for `ffmpeg-devel`
# PowerTools (on CentOS 8+ only)
-# getpagespeed (on CentOS 8+ only):
-# required for `libgnome-keyring-devel`, `libappindicator-devel`
-# okay (on CentOS 8+); required for `avahi-ui-devel`
+# okay (on CentOS 8+); required for `avahi-ui-devel`, `openh264`, `libopenh264-devel`, `libx264-devel`
sudo yum -y install $epel_repo \
https://download1.rpmfusion.org/free/${distro_name_short}/rpmfusion-free-release-${distro_version}.noarch.rpm
if [ "$distro_name" = 'centos' ] && [ "$distro_version" = 8 ]; then
- sudo dnf config-manager --set-enabled PowerTools
- sudo dnf -y install https://extras.getpagespeed.com/release-el${distro_version}-latest.rpm
- sudo rpm -ivh http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-3.el${distro_version}.noarch.rpm
+ sudo dnf config-manager --enable PowerTools
+ sudo rpm -ivh http://repo.okay.com.mx/${distro_name}/${distro_version}/x86_64/release/okay-release-1-3.el${distro_version}.noarch.rpm
+
+ # Disable okay repo for potential package conflicts
+ sudo dnf config-manager --disable okay
fi
```
@@ -70,34 +70,41 @@ sudo yum -y upgrade
**4.** Install dependencies of FreeRDP and Remmina. Note that the installation dependencies for FreeRDP and Remmina was merged. If you want to know exactly which program requires which package, see the [Dependencies](#dependencies) section at the end of this document.
```bash
-sudo yum -y install alsa-lib-devel atk-devel avahi-ui-devel avahi-ui-gtk3 cairo-devel \
- cmake3 cups-devel docbook-style-xsl ffmpeg-devel gcc gcc-c++ git glib2-devel gnutls-devel \
- gstreamer1-devel gstreamer1-plugins-base-devel gtk3-devel harfbuzz-devel json-glib-devel \
- libappindicator-devel libappindicator-gtk3 libappindicator-gtk3-devel libgcrypt-devel \
- libgnome-keyring-devel libsecret-devel libSM-devel libsodium libsodium-devel libsoup-devel \
- libssh-devel libusb-devel libvncserver-devel libX11-devel libXcursor-devel libXdamage-devel \
+sudo yum -y install alsa-lib-devel atk-devel avahi-ui-gtk3 cairo-devel cmake3 \
+ cups-devel docbook-style-xsl ffmpeg-devel gcc gcc-c++ git glib2-devel gnutls-devel \
+ gstreamer1-devel gstreamer1-plugins-base-devel gtk3-devel harfbuzz-devel \
+ json-glib-devel libappindicator-gtk3 libappindicator-gtk3-devel libgcrypt-devel \
+ libsecret-devel libSM-devel libsodium libsodium-devel libsoup-devel libssh-devel \
+ libusb-devel libvncserver-devel libX11-devel libXcursor-devel libXdamage-devel \
libXext-devel libXi-devel libXinerama-devel libxkbfile-devel libXrandr-devel libxslt \
- libxslt-devel libXtst-devel libXv-devel make ninja-build openjpeg2-devel openssl-devel \
- pango-devel pulseaudio-libs-devel vte291 vte291-devel webkitgtk4-devel xmlto \
- xorg-x11-server-utils
+ libxslt-devel libXtst-devel libXv-devel make ninja-build openjpeg2-devel \
+ openssl-devel pango-devel pulseaudio-libs-devel vte291 vte291-devel webkitgtk4-devel \
+ xmlto xorg-x11-server-utils
+
+# On CentOS 8
+if [ "$distro_name" = 'centos' ] && [ "$distro_version" = 8 ]; then
+ sudo yum -y install --enablerepo=okay avahi-ui-devel openh264 libopenh264-devel libx264-devel
+fi
```
-**5.** Clone FreeRDP and Remmina repos. You may want to modify the `${HOME}/git/{freerdp,remmina}` paths and the folder names.
+**5.** Clone FreeRDP and Remmina repos. You may want to modify the `${HOME}/{freerdp,remmina}` paths and the folder names.
```bash
-mkdir -p ${HOME}/git/{freerdp,remmina}
-git clone https://github.com/FreeRDP/FreeRDP.git ${HOME}/git/freerdp
-git clone https://gitlab.com/Remmina/Remmina.git ${HOME}/git/remmina
+git clone https://github.com/FreeRDP/FreeRDP.git ${HOME}/freerdp
+git clone https://gitlab.com/Remmina/Remmina.git ${HOME}/remmina
```
**6.** Build FreeRDP.
```bash
-mkdir ${HOME}/git/freerdp/build
-cd ${HOME}/git/freerdp/build
+mkdir ${HOME}/freerdp/build
+cd ${HOME}/freerdp/build
# In the following line, the `DWITH_PULSE=ON` option needs to be included
# Note: `-DCMAKE_INSTALL_LIBDIR=/usr/lib64` is required when `-DCMAKE_INSTALL_PREFIX:PATH`
# is not `/usr`; otherwise Remmina will not find the `libfreerdp*` libraries
+# Note: `-DWITH_OPENH264=ON -DWITH_X264=OFF` makes FreeRDP use H264 which results
+# in extreme good quality for a quite good performance
cmake3 -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_PULSE=ON -DWITH_CUPS=on -DWITH_WAYLAND=off \
- -DCMAKE_INSTALL_LIBDIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX:PATH=/opt ..
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX:PATH=/opt -DWITH_OPENH264=ON \
+ -DWITH_X264=OFF ..
make && sudo make install
# If you install FreeRDP and Remmina to `/opt`, you need to add `/opt/bin` to PATH
@@ -115,8 +122,8 @@ sudo ldconfig
**8.** Build Remmina.
```bash
-mkdir ../../remmina/build
-cd ../../remmina/build
+mkdir ${HOME}/remmina/build
+cd ${HOME}/remmina/build
# Note: `-DCMAKE_INSTALL_LIBDIR=/usr/lib64` is not required to successfully run Remmina,
# but `/usr/lib64` is the proper location for the libraries; again, it is not required
# at all when Remmina is installed to `/usr`
@@ -130,10 +137,37 @@ make && sudo make install
remmina &> /dev/null &
```
-NOTES for execution:
+## Notes
+
+### Remmina in the system tray on GNOME 3
+
+Current GNOME Shell versions does not include system tray, therefore vanilla GNOME will not show the Remmina system tray icon and menu. Press <kbd>Super</kbd>+<kbd>M</kbd> to see the Remmina icon on the message bar. If you want to fix this, you could install either [KStatusNotifierItem/AppIndicator Support](https://extensions.gnome.org/extension/615/appindicator-support/).
+
+Below is a guide how to install the extension. For more information on installing the `chrome-gnome-shell` , see the [documentation](https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation)
+
+<details>
+ <summary><b>How to install [KStatusNotifierItem/AppIndicator Support](https://extensions.gnome.org/extension/615/appindicator-support/) extension</b></summary>
+
+This method installs the extension locally (i.e. for current user only).
+
+1. Install `chrome-gnome-shell` package.
+
+```bash
+sudo yum -y install chrome-gnome-shell
+```
+
+2. Install the browser extension. Go to [GNOME extension website](https://extensions.gnome.org) and click on _Click here to install browser extension_; or you can install it from [Firefox Browser Add-ons](https://addons.mozilla.org/en-US/firefox/addon/gnome-shell-integration/).
+
+3. Install the [KStatusNotifierItem/AppIndicator Support](https://extensions.gnome.org/extension/615/appindicator-support/) extension by clicking on the toggle on that page (it must be on `on` position). Then confirm the installation.
+
+4. Don't forget to re-login the GNOME. :smiley:
+</details>
+
+### Remmina in the system tray on Xfce
+
+> :information_source: This might be outdated. If you know the current state of this issue or any workaround(s), open an [issue](https://gitlab.com/Remmina/Remmina/issues/new).
-* Current GNOME Shell versions does not include system tray, therefore vanilla GNOME will not show the Remmina system tray icon and menu. Press <kbd>Super</kbd>+<kbd>M</kbd> to see the Remmina icon on the message bar. If you want to fix this, you could install either [AppIndicator Support](https://extensions.gnome.org/extension/615/appindicator-support/) or [TopIcons Plus](https://extensions.gnome.org/extension/1031/topicons/).
-* [This might be outdated] XFCE and other desktop environments without app indicator support, will not show you the system tray icon if you are executing Remmina from its compilation folder (e.g. `~/git/remmina`) because it contains a folder named `remmina`. See [Bug #1363277 on Launchpad](https://bugs.launchpad.net/libappindicator/+bug/1363277)
+Xfce and other desktop environments without app indicator support, will not show you the system tray icon if you are executing Remmina from its compilation folder (e.g. `~/remmina`) because it contains a folder named `remmina`. For more infomation, see [Bug #1363277 on Launchpad](https://bugs.launchpad.net/libappindicator/+bug/1363277).
### Dependencies
@@ -143,9 +177,9 @@ NOTES for execution:
```bash
# Official guide (src: https://github.com/FreeRDP/FreeRDP/wiki/Compilation [rhel based])
-gcc cmake ninja-build openssl-devel libX11-devel libXext-devel libXinerama-devel libXcursor-devel \
- libXi-devel libXdamage-devel libXv-devel libxkbfile-devel alsa-lib-devel cups-devel ffmpeg-devel \
- glib2-devel libusb-devel
+gcc cmake ninja-build openssl-devel libX11-devel libXext-devel libXinerama-devel \
+ libXcursor-devel libXi-devel libXdamage-devel libXv-devel libxkbfile-devel \
+ alsa-lib-devel cups-devel ffmpeg-devel glib2-devel libusb-devel
# We had to install these at least on CentOS 8, but they are probably required on CentOS 7 too;
# otherwise the build failed
make gcc-c++ pulseaudio-libs-devel libXrandr-devel
@@ -162,10 +196,9 @@ cairo-devel
3. Remmina dependencies (besides FreeRDP and its dependencies):
```bash
-# `vte3 vte3-devel` should be installed when available; else install `vte291 vte291-devel`
-cmake3 gtk3-devel libgcrypt-devel libssh-devel openjpeg2-devel gnutls-devel libgnome-keyring-devel \
- avahi-ui-devel avahi-ui-gtk3 libvncserver-devel vte* vte*-devel libappindicator-devel \
- libappindicator-gtk3 libappindicator-gtk3-devel libSM-devel webkitgtk4-devel json-glib-devel \
- libsoup-devel libsodium libsodium-devel libXtst-devel xmlto harfbuzz-devel pango-devel atk-devel \
- libsecret-devel
+atk-devel avahi-ui-devel avahi-ui-gtk3 cmake3 gnutls-devel gtk3-devel harfbuzz-devel \
+ json-glib-devel libappindicator-devel libappindicator-gtk3 libappindicator-gtk3-devel \
+ libgcrypt-devel libopenh264-devel libsecret-devel libSM-devel libsodium libsodium-devel \
+ libsoup-devel libssh-devel libvncserver-devel libx264-devel libXtst-devel openh264 \
+ openjpeg2-devel pango-devel vte291 vte291-devel webkitgtk4-devel xmlto
``` \ No newline at end of file