Any remote desktop from anywhere. Use other desktops remotely, from a tiny screen or large monitors. From Linux or Mac OS. Using Linux or Mac OS, the access is almost as usual, because you only have to log in to SSH by adding a parameter: ssh -X pi@192.168.1.15. Enter your password, and then start your app with the nohup command: nohup chromium-browser &.
Hi. I’ve managed to build and run Remmina on Mountain Lion Mac OS X.
Let’s see how it was done.
Remmina source code download
Just download suggested source code from github. In my case I downloaded Remmina-1.0.0.tar.gz .
Remmina requisites install
cmake
Cmake provides a mdg package for installing in Mac OS X.
Macports
Macports is not an actual Remmina dependency but I will use it for installing other Remmina dependencies from the terminal without too many problems.
Xcode and CLI tools for Xcode (Mac Ports requisite)
If you want to build mostly anything you’re recommended to install Xcode. You just download it from the Apple developer.
I’m not quite sure right now if you need to install it in order to build Remmina.
- Install Xcode
(When opening inside what seems to be a folder please move it to Applications). - Install CLI tools for Xcode
Press q an then agree if you agree.
Macports installation
Macports provides a pckg package for installing in Mac OS X.
Other remmina dependencies
After so many tries here there are most of the packages that Remmina needs in a single command.
Open a terminal and run:
Freerdp
This is an special requisite that it’s needed by Remmina in order to allow it to make RDP connections.
Freerdp dependencies
These freerdp dependencies are supposed to be handled automatically by homebrew (see below). As I didn’t think that there was an specific brew I tried to handle the depencies manually. These are the commands that I issued:
Freerdp – Download source code
We download FreeRDP tar.gz. I downloaded freerdp-1.0.1.tar.gz.
Freerdp – Source code hack for boolean issue
This one was a very difficult bug to catch. I still don’t know if it’s a bug or not. I probably think it’s a compiler bug, or maybe the linker… I think somebody more expert than I am should take a look at it.
We will edit file:
and add these three lines:
just before line:
Freerdp build
As I have already said I didn’t know I could use homebrew so I tried to build it manually. However as I needed to edit printer_cups.c I finally had to build it manually.
This is not working for us:
.
So we will do:
Then we could do:
Freerdp – Homebrew
From a terminal we run:
Freerdp – Xquartz
Not sure why but according to my notes Xquartz is a dependency of Freerdp. Maybe trying to install freerdp from homebrew it tells you to install it manually.
Xquartz can be download and installed as a dmg.
Once installed you’ll need to logout and login.
Freerdp – Final install with Homebrew
Remmina build preparation
cmake
In order to prepare Remmina build we will issue:
Libraries link hack for Mac OS X
You need to add
and the result of running:
to the lines found at these files:
So what you have to add is:
Path modification so that system sources are found
Add this string (initial space included)
to the C_FLAGS variable found on all of these files:
so that you add to the C_FLAGS variable:
Telepathy hacks
Actually I didn’t build Telepathy because I found out problems. I write the instructions because if I tried it again I would try the suggested hack. You can skip these steps if you’re interested in Telepathy plugin.
Telepathy build make hack
We will edit also:
to add these lines:
just before the first line that begins with:
In the same file add this line:
just before the first line that begins with:
Telepathy link hack
We also have to install to edit:
file so that:
becomes:
Telepathy link additional hack
We need to edit:
again so that we add:
.
Telepathy final build error
Unfortunately I was unable to build and the error message was:
Telepathy possible hack
Now after all the builds I’ve made I think that probably the fix is to replace:
to:
in
file but I have not tested it.
Disabling Telepathy
Note: Probably editing a CMake definition files you can disable Telepathy plugin alltoghether but as I decided not to fix problems thanks to CMake but to Makefiles you will see that it’s a bit dirty hack.
If you want to test telepathy later I recommend you to backup the files we are going to modify right now.
We just edit:
and remove any lines that contains telepathy.
We will also edit:
to remove telepathy references.
Vnc hacks
We will edit:
again to replace:
so that it reads:
We will edit:
and replace
to
RDP hacks
We need to do edit:
again to add the line:
Remmina final build
From the terminal run:
.
Remmina installation
From the terminal run:
.
Remmina. How to run
If you wish to run it from the CLI you can:
or even with:
Build instructions and upstream
Here there are some considerations that might be interesting to know if we want this build to be official, that’s it, to be in upstream.
- My hacks around the code are based on the code after running cmake. Actually what should be done is modify Cmake definition files so that link.txt, build.make and other files are generated from cmake.
- Conditional MAC. There’s a variable that can be used to determine if we’re build in a mac, or if we want a MAC build. All my hacks didn’t use that variable. Final code should use this variable in conditional sentences so that same code builds in every platform.
- Although most of the hacks are Remmina hacks I did also hacked FreeRDP hack and thus it should be considered to be submitted FreeRDP upstream too.
- I have only tried in freshly installed Mountain Lion Mac OS X. So not sure if it would work in older versions with my instructions.
- My development is based on FreeRDP 1.0.1 and Remmina 1.0.0. I think that I took a look at FreeRDP and a lot of its source is in process of complete rewritement. So… maybe my tests are not suitable for next stable release of FreeRDP.
Future of Remmina for Mac OS X build
Remmina integration with Mac OS X
There’s something I haven’t mentioned yet. Whenever Remmina is run X server is also run and it’s not integrated in the dock. According to GTK OS Integration you can edit a few lines and get a proper Mac OS X integration.
I’m not sure I would be able to hack Remmina to do that. One thing is having to infer build and link dependencies and another thing is learning how gtk applications are developed. And I’m not personally too much interested.
Packaging
Remmina should be also be packaged so that it can be easily installed. Either in its binary form or maybe in its source code form and automatically compiled as port program I think does.
Why?
- A friend of mine wanted a better RDP client on his Mac OS X. I didn’t find a Mac OS X build of Remmina.
- I found some time in a weekend
- I was just curious about how easy or difficult was to build application in Mac OS X
Won’t you make more tests?
Probably not. I usually use Debian Gnu/Linux on my mac and my Mac OS X partition is only for tests. More than this I couldn’t bear the application-oriented GUI that Mac OS X has.
However if you want me to build or test your hacks, or maybe upstream tests I will do it in the weekends.
Usually Remmina is included in your distribution, or in an external repository you can add.
Flatpak
This is a system agnostic package that works on just about every distribution.
Remmina Mac Brew
If you use SSH agent (https://github.com/flatpak/flatpak/issues/1438 )
Flatpak stores data for installed applications (the XDG config/data folders) under $HOME/.var
If you have previously installed Remmina with another package manager, you will have to transfer what was under $HOME/.config/remmina
and $HOME/.local/share/remmina
under, respectively ~/.var/app/org.remmina.Remmina/config/remmina
and ~/.var/app/org.remmina.Remmina/data/remmina
Snap
This also is a system agnostic package that works on many distributions, but mainly Ubuntu.
If you run into issues, try something else first, and then report the issues.Our Snap package does not work on Ubuntu 17.10 if you use Wayland, see issue #1414._
First make sure you have snapd
installed. Then install the last release from the Ubuntu Software Center by looking for Remmina
, or install it from a terminal with:
The Snap subsystem has limitations, so some features, for example password storage via keyring is missing and must be fixed manually:
Some features just don’t work on Snap, for example accessing your personal ~/.ssh directory is not possible.You have to manually copy your ~/.ssh/* files to ~/snap/remmina/common/.ssh/
If you want to install the latest Git revision of Remmina as Snap, get it from the edge
channel:
Or, update your Remmina Snap install with your channel of choice:
Snaps are updated with the system and include both latest FreeRDP
Git and the latest libssh 0.7
release (for better security).
Ubuntu and Linux Mint
Remmina will no longer be available as a PPA package after the release of version 1.4.8.
An official PPA with Remmina 1.4.7 release can be installed by copying and pasting this in a terminal:
Make sure Remmina is not running. Either close it, reboot, or kill it by pasting this in a terminal:
List available plugins with apt-cache search remmina-plugin
. By default RDP, SSH and SFTP are installed.To test a daily built development version, do the above, but start with
Debian
10 Buster (stable), Bullseye (testing), and Sid (unstable)
Remmina is in the official stable, testing and unstable repositories.
9 Stretch (oldstable)
Here Remmina can be installed from backports by copying and pasting this in a terminal:
Raspberry Pi
ATTENTION: We do not (or rarely) update this repository anymore. Maintainers are welcome if any.
Remmina operates its own package repository for Raspbian Buster (10.x) you can install by copying and pasting this in a terminal:
(Tested on RPi 3B and 3B+)It is strongly advised to also install gnome-keyring to let Remmina save encrypted passwords in a safer place than .remmina textfiles in the /home user folder.
(The remmina-next PPA can be used on Raspberry Pi 2 and 3, provided you are running one of the supported *buntu derivatives.)
Fedora and Red Hat
As of March 2018 Remmina is available on most Fedora testing and stable, we still have a (not updated) Copr provided by Hubbitus (Pavel Alexeev), to install, paste this in a terminal as root:
Red Hat/CentOS
Install Remmina from the EPEL repository by pasting this in a terminal:
A more updated version is available thanks to @castorsky through a COPR repo
To install Remmina on RHEL/CentOS 8 enable EPEL and COPR repo then install package with following commands:
Gentoo
To build and install
To build a binary and install
Remmina For Mac Os
Sabayon
Arch Linux (and friends)
There is an official Arch Linux Remmina package. Or, if you want to use the AUR, install remmina-git.There are also some external, not supported plugins provided by Muflone and otherArch Remmina Protocol plugins
Solus
Remmina For Macbook Air
Build from source
Remmina For Mac Pro
Code development and bugfixes take place on the master branch.It compiles with the current FreeRDP master branch, and will compile with FreeDRP 2.0 when released as stable.