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

md__builds__remmina_remmina-ci__remmina_8wiki__compilation__compilation-guide.html « public - gitlab.com/Remmina/remminadoc.gitlab.io.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: dbd5921925a78d3468dfa15264c2d768aa191512 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Remmina - The GTK+ Remote Desktop Client: &lt;!--</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="org.remmina.Remmina.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Remmina - The GTK+ Remote Desktop Client
   &#160;<span id="projectnumber">v1.4.32</span>
   </div>
   <div id="projectbrief">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.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('md__builds__remmina_remmina-ci__remmina_8wiki__compilation__compilation-guide.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title"></div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Arch Linux-based distributions</p>
<p>title: How to compile Remmina layout: single author_profile: false permalink: /how-to-compile-remmina/ toc: true toc_label: "Table of contents" </p><h2>toc_icon: "book-open" </h2>
<p>&ndash;&gt;</p>
<h2>Table of contents</h2>
<p>[[<em>TOC</em>]]</p>
<h2>Introduction</h2>
<blockquote class="doxtable">
<p>:exclamation: <b>If you update this page remember to leave a note in the <a href="https://gitlab.com/Remmina/Remmina/-/issues/1921">issue #1921</a></b> </p>
</blockquote>
<p>Follow this document to build Remmina from the source code.</p>
<p>Other compilation guides are deprecated.</p>
<p>You can help by keeping this document updated and adding info about other distributions.</p>
<h3>How to read this document</h3>
<p>Each section may contain specific information for your OS distribution. This is the only and main important thing to pay attention to; do not copy-and-paste without reading. :smiley:</p>
<p>Also, we assume BASH shell, therefore you might need to change some commands for other shells.</p>
<h2>Install dependencies</h2>
<p>The following dependencies are needed to build a full Remmina distribution, you may need to tailor it as per your needs.</p>
<p>The distributions below are sorted alphabetically by there names and then by their versions (latest first).</p>
<p>&lt;details&gt;</p>
<div class="fragment"><div class="line">sudo pacman -S base-devel git avahi gtk3 libssh libvncserver gnome-keyring kwallet \</div><div class="line">  libgnome-keyring libpulse libsodium vte3 cmake libappindicator-gtk3 \</div><div class="line">  docbook-utils docbook-xsl pcre pcre2 spice-gtk spice-protocol gtk-vnc</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>Debian 11</p>
<div class="fragment"><div class="line">sudo apt install build-essential git-core libssh-dev cmake libx11-dev libxext-dev libxinerama-dev \</div><div class="line">  libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev \</div><div class="line">  libxrandr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \</div><div class="line">  libxi-dev libavutil-dev libjson-glib-dev\</div><div class="line">  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt20-dev  libpulse-dev \</div><div class="line">  libvte-2.91-dev libxkbfile-dev libtelepathy-glib-dev libjpeg-dev \</div><div class="line">  libgnutls28-dev libsecret-1-dev libavahi-ui-gtk3-dev libvncserver-dev \</div><div class="line">  libayatana-appindicator3-dev intltool libsecret-1-dev libwebkit2gtk-4.0-dev libsystemd-dev \</div><div class="line">  libsodium-dev libkf5wallet-dev libusb-1.0-0-dev libpcre2-dev</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>Debian 10</p>
<div class="fragment"><div class="line">sudo apt install build-essential git-core gtk-vnc libssh-dev cmake libx11-dev \</div><div class="line">  libxext-dev libxinerama-dev  libxcursor-dev libxdamage-dev \</div><div class="line">  libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 \</div><div class="line">  libxml2-dev  libxrandr-dev libgstreamer1.0-dev \</div><div class="line">  libgstreamer-plugins-base1.0-dev  libxi-dev libavutil-dev \</div><div class="line">  libjson-glib-dev libavcodec-dev libxtst-dev libgtk-3-dev \</div><div class="line">  libgcrypt20-dev  libpulse-dev  libvte-2.91-dev libxkbfile-dev \</div><div class="line">  libtelepathy-glib-dev libjpeg-dev  libgnutls28-dev \</div><div class="line">  libsecret-1-dev libavahi-ui-gtk3-dev libvncserver-dev  \</div><div class="line">  libappindicator3-dev intltool libsecret-1-dev \</div><div class="line">  libwebkit2gtk-4.0-dev libsystemd-dev  libsodium-dev \</div><div class="line">  libkf5wallet-dev libusb-1.0-0-dev libpcre2-dev</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>Debian 9</p>
<div class="fragment"><div class="line">sudo apt purge libssl-dev</div><div class="line"></div><div class="line">sudo apt install build-essential git-core gtk-vnc libssh-dev cmake libx11-dev \</div><div class="line">  libxext-dev libxinerama-dev  libxcursor-dev libxdamage-dev \</div><div class="line">  libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 \</div><div class="line">  libxml2-dev  libxrandr-dev libgstreamer1.0-dev \</div><div class="line">  libgstreamer-plugins-base1.0-dev  libxi-dev libavutil-dev \</div><div class="line">  libjson-glib-dev libavcodec-dev libxtst-dev libgtk-3-dev \</div><div class="line">  libgcrypt11-dev  libpulse-dev  libvte-2.91-dev libxkbfile-dev \</div><div class="line">  libtelepathy-glib-dev libjpeg-dev  libgnutls28-dev \</div><div class="line">  libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev  \</div><div class="line">  libappindicator3-dev intltool libsecret-1-dev \</div><div class="line">  libwebkit2gtk-4.0-dev libsystemd-dev  libsodium-dev libpcre2-dev</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>Ubuntu 20.04+</p>
<div class="fragment"><div class="line">sudo apt install build-essential git-core cmake libssl-dev libx11-dev \</div><div class="line">  libxext-dev libxinerama-dev  libxcursor-dev libxdamage-dev \</div><div class="line">  libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 \</div><div class="line">  libxml2-dev  libxrandr-dev libgstreamer1.0-dev \</div><div class="line">  libgstreamer-plugins-base1.0-dev  libxi-dev libavutil-dev  \</div><div class="line">  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt20-dev \</div><div class="line">  libssh-dev libpulse-dev  libvte-2.91-dev libxkbfile-dev \</div><div class="line">  libtelepathy-glib-dev libjpeg-dev  libgnutls28-dev \</div><div class="line">  libavahi-ui-gtk3-dev libvncserver-dev  libappindicator3-dev \</div><div class="line">  intltool libsecret-1-dev libwebkit2gtk-4.0-dev libsystemd-dev  \</div><div class="line">  libsoup2.4-dev libjson-glib-dev libavresample-dev \</div><div class="line">  libsodium-dev  libusb-1.0-0-dev libpcre2-dev</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>Ubuntu 18.04</p>
<div class="fragment"><div class="line">sudo apt install build-essential git-core cmake libssl-dev libx11-dev \</div><div class="line">  libxext-dev libxinerama-dev libxcursor-dev libxdamage-dev \</div><div class="line">  libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 \</div><div class="line">  libxml2-dev libxrandr-dev libgstreamer1.0-dev \</div><div class="line">  libgstreamer-plugins-base1.0-dev libxi-dev libavutil-dev \</div><div class="line">  libavcodec-dev libxtst-dev libgtk-3-dev libgcrypt11-dev \</div><div class="line">  libssh-dev libpulse-dev libvte-2.91-dev libxkbfile-dev \</div><div class="line">  libtelepathy-glib-dev libjpeg-dev libgnutls28-dev \</div><div class="line">  libgnome-keyring-dev libavahi-ui-gtk3-dev libvncserver-dev \</div><div class="line">  libappindicator3-dev intltool libsecret-1-dev \</div><div class="line">  libwebkit2gtk-4.0-dev libsystemd-dev libsoup2.4-dev \</div><div class="line">  libjson-glib-dev libavresample-dev libsodium-dev \</div><div class="line">  libusb-1.0-0-dev libpcre2-dev</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>Red Hat-based distributions</p>
<h3>Note</h3>
<p>We use <code>yum</code> for all commands as it’s still an alias on those distros migrated to <code>dnf</code>.</p>
<h3>External repositories</h3>
<p>You can use the following snippet to determine the kind of repo you need, and set up the you repositories.</p>
<p>```bash </p><h2>Get some info of the currently installed distribution</h2>
<h2>Note: This is used to determine what repositories need to be be installed</h2>
<h2>and to create the relevant URLs</h2>
<p>distro_name="$(grep -Po '^ID="*[^"]*' /etc/os-release)" distro_version="$(rpm -E %$distro_name)"</p>
<p>if [ "$distro_name" = 'fedora' ]; then distro_name_short='fedora' else distro_name_short='el' epel_repo='epel-release' fi</p>
<h2>epel (on CentOS only): required for <code>openjpeg2-devel</code>, <code>openssl-devel</code></h2>
<h2>rpmfusion-free-updates (on both CentOS and Fedora): required for <code>ffmpeg-devel</code></h2>
<h2>PowerTools (on CentOS 8+ only)</h2>
<h2>okay (on CentOS 8+); required for <code>avahi-ui-devel</code></h2>
<p>sudo yum -y install $epel_repo \ <a href="https://download1.rpmfusion.org/free/${distro_name_short}/rpmfusion-free-release-${distro_version}.noarch.rpm">https://download1.rpmfusion.org/free/${distro_name_short}/rpmfusion-free-release-${distro_version}.noarch.rpm</a></p>
<p>if [ "$distro_name" = 'centos' ] &amp;&amp; [ "$distro_version" = 8 ]; then sudo dnf config-manager &ndash;enable PowerTools sudo rpm -ivh <a href="http://repo.okay.com.mx/${distro_name}/${distro_version}/x86_64/release/okay-release-1-3.el${distro_version}.noarch.rpm">http://repo.okay.com.mx/${distro_name}/${distro_version}/x86_64/release/okay-release-1-3.el${distro_version}.noarch.rpm</a></p>
<h1>Disable okay repo for potential package conflicts</h1>
<p>sudo dnf config-manager &ndash;disable okay fi </p><div class="fragment"><div class="line">### Update `yum` cache and packages</div><div class="line"></div><div class="line">This step might require a reboot.</div><div class="line"></div><div class="line">```bash</div><div class="line">sudo yum -y upgrade</div></div><!-- fragment --><h3>Install dependencies on CentOS and Fedora</h3>
<div class="fragment"><div class="line">sudo yum -y install alsa-lib-devel atk-devel avahi-ui-gtk3 cairo-devel cmake3 \</div><div class="line">  cups-devel docbook-style-xsl ffmpeg-devel gcc gcc-c++ git \</div><div class="line">  glib2-devel gnutls-devel gstreamer1-devel \</div><div class="line">  gstreamer1-plugins-base-devel gtk3-devel harfbuzz-devel \</div><div class="line">  json-glib-devel libappindicator-gtk3 \</div><div class="line">  libappindicator-gtk3-devel libgcrypt-devel \</div><div class="line">  libsecret-devel libSM-devel libsodium libsodium-devel \</div><div class="line">  libsoup-devel libssh-devel libusb-devel \</div><div class="line">  libvncserver-devel libX11-devel libXcursor-devel \</div><div class="line">  libXdamage-devel libXext-devel libXi-devel \</div><div class="line">  libXinerama-devel libxkbfile-devel libXrandr-devel \</div><div class="line">  libxslt libxslt-devel libXtst-devel libXv-devel make \</div><div class="line">  ninja-build openjpeg2-devel openssl-devel pango-devel \</div><div class="line">  pulseaudio-libs-devel vte291 vte291-devel \</div><div class="line">  webkitgtk4-devel xmlto xorg-x11-server-utils pcre2 pcre2-devel</div></div><!-- fragment --><p>In recent versions of Fedora replace <code>xorg-x11-server-utils</code> with xprop</p>
<p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>FreeBSD 11 dependencies</p>
<div class="fragment"><div class="line">sudo pkg install cmake gccmakedep git pkgconf libX11 libXext libXinerama libXcursor \</div><div class="line">  libXdamage libXv libxkbfile alsa-lib cups ffmpeg pulseaudio libssh \</div><div class="line">  libXi libXtst libXrandr xmlto gstreamer1 gstreamer1-plugins ffmpeg \</div><div class="line">  libx264 qt5-qmake qt5-buildtools pcre2 gtk-vnc</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<h2>Set up your development environment</h2>
<p>Choose a folder where you will download and compile your code and stick to it.</p>
<div class="fragment"><div class="line">mkdir -p &quot;$HOME/remmina_devel&quot;</div><div class="line">export RMHOME=&quot;$HOME/remmina_devel&quot;</div><div class="line">cd &quot;$RMHOME&quot;</div><div class="line">## Set the following only if you need to install Remmina in a different PATH</div><div class="line">RMDEST=&#39;/opt/remmina&#39;</div><div class="line">which cmake3 &gt; /dev/null 2&gt;&amp;1 &amp;&amp; alias cmake=&quot;$(command -v cmake3)&quot;</div></div><!-- fragment --><h2>Remove packaged Remmina and FreeRDP</h2>
<p>&lt;details&gt; </p>
<p>Arch Linux-based distributions</p>
<div class="fragment"><div class="line">pacman -Rs remmina freerdp</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>Debian/Ubuntu-based distributions</p>
<h4>Newer versions of Debian/Ubuntu</h4>
<div class="fragment"><div class="line">sudo apt purge &quot;?name(^remmina.*)&quot; &quot;?name(^libfreerdp.*)&quot; &quot;?name(^freerdp.*)&quot; &quot;?name(^libwinpr.*)&quot;</div></div><!-- fragment --><h4>Older versions of Debian/Ubuntu</h4>
<div class="fragment"><div class="line">sudo apt-get --purge remove freerdp-x11 remmina remmina-common \</div><div class="line">  remmina-plugin-rdp remmina-plugin-vnc remmina-plugin-gnome \</div><div class="line">  remmina-plugin-nx remmina-plugin-telepathy remmina-plugin-xdmcp</div><div class="line"></div><div class="line">sudo apt-get --purge remove libfreerdp-dev libfreerdp-plugins-standard \</div><div class="line">  libfreerdp1</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>Red Hat-based distributions</p>
<div class="fragment"><div class="line">sudo yum -y remove freerdp\* remmina\*</div></div><!-- fragment --><p>&lt;/details&gt;</p>
<p>&lt;details&gt; </p>
<p>FreeBSD (TODO)</p>
<p>TODO: FreeRDP is a requirement of GNOME because of Vinagre</p>
<p>&lt;/details&gt;</p>
<h2>Get the sources</h2>
<div class="fragment"><div class="line">git clone --branch stable-2.0 https://github.com/FreeRDP/FreeRDP.git &quot;$RMHOME/freerdp&quot; &amp;&amp; mkdir -p &quot;$RMHOME/freerdp/build&quot;</div><div class="line">git clone https://gitlab.com/Remmina/Remmina.git &quot;$RMHOME/remmina&quot; &amp;&amp; mkdir -p &quot;$RMHOME/remmina/build&quot;</div></div><!-- fragment --><h2>Build FreeRDP</h2>
<div class="fragment"><div class="line">cd &quot;$RMHOME/freerdp/build&quot;</div><div class="line">if [[ -n &quot;$RMDEST&quot; ]] ; then</div><div class="line">  FREERDPDST=&quot;-DCMAKE_INSTALL_PREFIX:PATH=$RMDEST/freerdp&quot;</div><div class="line">else</div><div class="line">  FREERDPDST=&quot;-DCMAKE_INSTALL_PREFIX:PATH=/usr&quot;</div><div class="line">fi</div><div class="line">cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_PULSE=ON -DWITH_CUPS=ON \</div><div class="line">  -DWITH_OPENH264=OFF -DWITH_FFMPEG=ON -DWITH_X264=OFF \</div><div class="line">  $FREERDPDST ..</div><div class="line">make &amp;&amp; sudo make install</div><div class="line"></div><div class="line">if [[ -n &quot;$RMDEST&quot; ]] ; then</div><div class="line">  echo /opt/remmina_devel/freerdp/lib | \</div><div class="line">  sudo tee /etc/ld.so.conf.d/freerdp_devel.conf &gt; /dev/null</div><div class="line">  sudo ldconfig</div><div class="line">  sudo ln -s &quot;$RMDEST/freerdp/bin/xfreerdp&quot; /usr/local/bin/</div><div class="line">fi</div><div class="line"></div><div class="line">## You can test FreeRDP by connecting to an RDP host</div><div class="line">xfreerdp +clipboard /sound:rate:44100,channel:2 /v:hostname /u:username</div></div><!-- fragment --><h2>Build Remmina</h2>
<div class="fragment"><div class="line">if [[ -n &quot;$RMDEST&quot; ]]; then</div><div class="line">  RMINSTPATH=&quot;-DCMAKE_INSTALL_PREFIX:PATH=$RMDEST/remmina&quot;</div><div class="line">  CMAKEPREFIX=&quot;-DCMAKE_PREFIX_PATH=$RMDEST/freerdp&quot;</div><div class="line">else</div><div class="line">  RMINSTPATH=&quot;-DCMAKE_INSTALL_PREFIX:PATH=/usr&quot;</div><div class="line">  CMAKEPREFIX=&quot;-DCMAKE_PREFIX_PATH=/udr&quot;</div><div class="line">fi</div><div class="line"></div><div class="line">cd &quot;$RMHOME/remmina&quot;</div><div class="line">cmake -DCMAKE_BUILD_TYPE=Debug &quot;$RMINSTPATH&quot; &quot;$CMAKEPREFIX&quot; \</div><div class="line">-DWITH_CUPS=ON -DWITH_FREERDP_MASTER=ON \</div><div class="line">  -DWITH_LIBSSH=ON -DWITH_NEWS=ON -DWITH_EXAMPLES=ON \</div><div class="line">  -DWITH_PYTHONLIBS=OFF -DWITH_GVNC=ON -B build</div><div class="line">make -C build &amp;&amp; sudo make -C build install</div></div><!-- fragment --><h2>Remove everything</h2>
<div class="fragment"><div class="line">cd &quot;$RMHOME/remmina/build&quot;</div><div class="line">sudo make uninstall</div><div class="line">cd &quot;$RMHOME/freerdp/build&quot;</div><div class="line">sudo rm $(&lt; install_manifest.txt)</div><div class="line">sudo rmdir $(find $(whereis freerdp remmina | grep -Po &quot;^[^:]*: \K.*$&quot;) -type d | tac)</div></div><!-- fragment --><h2>Notes</h2>
<h3>Remmina in the system tray on GNOME 3</h3>
<blockquote class="doxtable">
<p>:exclamation: Please help improving this section adding distribution specific details. </p>
</blockquote>
<p>Current GNOME Shell versions does not include system tray, therefore vanilla GNOME will not show the Remmina system tray icon and menu. Press <code>Super</code>+<code>M</code> to see the Remmina icon on the message bar. If you want to fix this, you could install either <a href="https://extensions.gnome.org/extension/615/appindicator-support/">KStatusNotifierItem/AppIndicator Support</a>, or <a href="https://ayatanaindicators.github.io/">Ayatana Indicators</a></p>
<p>Below is a guide how to install the extension. For more information on installing the <code>chrome-gnome-shell</code> , see the <a href="https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation">documentation</a></p>
<p>&lt;details&gt; </p>
<p><b>How to install <a href="https://extensions.gnome.org/extension/615/appindicator-support/">KStatusNotifierItem/AppIndicator Support</a> extension</b></p>
<p>This method installs the extension locally (i.e. for current user only), and the commands are ment to run only on Red Hat based distributions</p>
<ol type="1">
<li>Install <code>chrome-gnome-shell</code> package.</li>
</ol>
<div class="fragment"><div class="line">sudo yum -y install chrome-gnome-shell</div></div><!-- fragment --><ol type="1">
<li>Install the browser extension. Go to <a href="https://extensions.gnome.org">GNOME extension website</a> and click on <em>Click here to install browser extension</em>; or you can install it from <a href="https://addons.mozilla.org/en-US/firefox/addon/gnome-shell-integration/">Firefox Browser Add-ons</a>.</li>
<li>Install the <a href="https://extensions.gnome.org/extension/615/appindicator-support/">KStatusNotifierItem/AppIndicator Support</a> extension by clicking on the toggle on that page (it must be on <code>on</code> position). Then confirm the installation.</li>
<li>Don’t forget to re-login the GNOME. :smiley: &lt;/details&gt;</li>
</ol>
<h3>Remmina in the system tray on Xfce</h3>
<blockquote class="doxtable">
<p>:information_source: This might be outdated. If you know the current state of this issue or any workaround(s), open an <a href="https://gitlab.com/Remmina/Remmina/issues/new">issue</a>. </p>
</blockquote>
<p>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. <code>~/remmina</code>) because it contains a folder named <code>remmina</code>. For more infomation, see <a href="https://bugs.launchpad.net/libappindicator/+bug/1363277">Bug #1363277 on Launchpad</a>.</p>
<h2>Credits</h2>
<p>Writing this guide has been possible only thanks to amazing job done by  ,  ,  ,  </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>