mRemoteNG
mRemoteNG copied to clipboard
Spread the Joy of mRemoteNG to Mac and Mobile
With the decision to use C# and to decouple the code base, it would be awesome to use Xamarin to make the renewed interest in mRemoteNG available to Mac OS and Mobile app platforms.
I have been looking into using Xamarin for some upcoming cross platform projects but have no personal experience actually using it. However, if no one else is interested/able to do this feature request, I will try to make the time to start working on it (after the code base has stabilized a bit).
This would be great. One of the greatest weaknesses of the project is that it is Windows only.
On Dec 9, 2016 2:42 PM, "Ken Lewis" [email protected] wrote:
With the decision to use C# and to decouple the code base, it would be awesome to use Xamarin to make the renewed interest in mRemoteNG available to Mac OS and Mobile app platforms.
I have been looking into using Xamarin for some upcoming cross platform projects but have no personal experience actually using it. However, if no one else is interested/able to do this feature request, I will try to make the time to start working on it (after the code base has stabilized a bit).
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mRemoteNG/mRemoteNG/issues/308, or mute the thread https://github.com/notifications/unsubscribe-auth/AGrNlt5VtLrgYAAO5WE5UesGEuXIxBO0ks5rGcsqgaJpZM4LJYts .
I know of a number of users on Linux that would like this as well... I might finally make the switch to Linux as my main desktop if I could get mRemoteNG built and stable on it...
+1 about the Linux support.
currently mRemoteNG is one of 2 apps that keeps me from migrating my work laptop to Linux. So sure that would be nice to see that transition. Though I am curious to see how the implementation of e.g. RDP and ssh could be unified across the platforms, or if it should be unified at all.
I just swapped to Ubuntu 16.10 as my main OS but I have to keep a Win10 VirtualBox running for the few apps that require Windows. With that said, I don't see why this couldn't be ported to Linux as well.
My main concern would be how we would go about keeping the core code the same and stable for all the platforms while also having an easy to compile wrapper for each platform. (I say "we" like I've done more than write out a couple of ideas. SMH)
@KenLewis The good news is with .NET Core, mono and Xamarin Studio, building and running on Linux (and MacOS) is more possible than it was years ago... I did start to test this a while ago, but it was very unstable. In addition, it's unclear at this time if RDP will even work with the code as is since it requires the MS RDP client. It's very likely that additional code and/or components will be needed for this. The same goes for putty/ssh - it seems a bit inefficient to use putty when native ssh apps are available.... But as I said, the base app was very unstable and I wasn't able to even attempt connections.
If I recall correctly, I had more stability with WINE.
.NET Core is great, but the problem is it doesn't have any UI libraries. With Xamarin I think you can build a single multi-platform UI but you will be limited to UWP (universal win platform / aka Store apps) for Windows.
I believe with .NET Core you can reference old-school .NET assemblies System.Windows (WPF) or System.Windows.Forms (WinForms) then build that out separately for Windows, and use the Mono GTK implementation (whatever it's called) for Linux. In this case, you would obviously need to maintain separate UI projects.
UWP has definitely come a long way, but I still have a sour taste in my mouth when I use it. Probably just bad memories of UWP's predecessor (WinRT).
On the UI side, we are going to be making some design changes over the next few versions to separate the UI code from the core app logic. This will take care of one of the big hurdles we have for including a Linux build. We'll probably end up going with 2 UI projects, but we haven't really discussed things that far yet.
Good discussion points, everyone.
mRemote is the only software that keeps me from completely moving to MAC for work. I have my personal MAC and a PC for work, really willing to change to mac for work as well.
Same here, mRemoteNG is one of the main reasons I have not switched to Linux or MAC! Any news on this? Thanks for mRemote, it is an extremely helpful tool!
I would love to have this, but it is unfortunately still a long ways off. Here is the high level overview of what needs to happen:
- UI and core business logic must be split into separate assemblies. This is something I was planning on starting in the next major release (1.77). This will be a long process. I have been doing some work to remove
static
methods and classes as much as possible and this has uncovered a few very hairy circular dependencies that involve UI classes. - The library assembly must be converted to .Net Core to ensure it runs on Linux. Hopefully this will come for (mostly) free when splitting the UI and business logic.
- Better support for pluggable protocol providers. Implementations will be different between Windows and Linux for some providers:
- RDP. Would need to integrate FreeRDP or some other open source implementation
- Citrix ICA. They offer Linux versions of the Citrix Receiver, so we might be ok here. Would still need to test.
- SSH. We would need to integrate with native Linux terminal.
- Then we can start building a *Nix compatible UI.
This cross platform open source ui project might be an interesting option:
http://avaloniaui.net
- Win/nix/ios/android
- Xaml based with some css like qualities
- open source
- still in beta, but seems to be actively developed
Another option that might be less work to implement than Avalonia: https://github.com/picoe/Eto
donations will stimulate them to support other than windows!
https://github.com/ElectronNET/Electron.NET - Not sure how it would work with libraries but it kind of brings the crossplatform closer to .NET for certain items
depending on the outcome of MAUI we could maybe transition to there through dotnetcore and xamarin? just a wild guess though, haven't done much to support that statement
I feel like kickstart or gofund me for this would 100% go viral for all system and network admins on mac and linux. I'm a sys/net admin and recently bought a macbook for work. I'm learning that any software that is even just SSH, Cross Platform (Windows/Linux/MacOS) and has a built in host manager / database would be SecureCRT/RoyalTS(x)/Termius. They all have high licensing fees or they are very limited as a trial. Termius has a free option but kills any proxy you want to use to connect or any extra options. (even setting them in ~/.ssh/config doesnt help, believe me i've tried using corkscrew)
If i could help in anyway even if its testing and providing feedback please let me know.
I feel like kickstart or gofund me for this would 100% go viral for all system and network admins on mac and linux. I'm a sys/net admin and recently bought a macbook for work. I'm learning that any software that is even just SSH, Cross Platform (Windows/Linux/MacOS) and has a built in host manager / database would be SecureCRT/RoyalTS(x)/Termius. They all have high licensing fees or they are very limited as a trial. Termius has a free option but kills any proxy you want to use to connect or any extra options. (even setting them in ~/.ssh/config doesnt help, believe me i've tried using corkscrew)
If i could help in anyway even if its testing and providing feedback please let me know.
brew install --cask remote-desktop-manager-free
You're welcome 😄
Given that .Net MAUI is generally available for a couple of months now - can i recommend that we investigate the work required to migrate to that (its an evolution of Xamarin.Forms in many senses) considering that the work to migrate the base code to .net core 6
this would also help the Linux community potentially :)
MAUI still not work properly on Linux so its a bit of tought and its seems not many updates on windows side so I am thinking its dead end same as winUI, however idea to have separated UI is very attractive, i do some experiments and seems javascript on web page works every where - so perhaps we could devide UI and load it in browser and rest will be core app what will acct as headless unit... still thinking how better to implement such.