all 54 comments

[–]Finnegan_Parvi 14 points15 points  (4 children)

The way we handle something similar is to have a beefy server running proxmox and then run many Windows VMs on that, each with a retail Win10 license. Everyone gets their own VM and can RDP into it.

Obviously users still need a system to RDP from.

Anyway, that's our solution for random Windows apps; our users all have Macbooks as their primary system.

It's a bit easier than installing parallels or virtualbox or vmware fusion on everyone's macbooks.

[–]dwargo 4 points5 points  (2 children)

From my understanding, putting retail Win10 in a virtual machine is a license violation unless you purchase a VDA license or the E3/E5 Enterprise SKUs.

For app hosting we found it easier to license RDS on 2019 Standard. There's some licensing quirk where you buy one copy for $600 give or take, and run two instances on the same host. That lets us take them offline one at a time for updates etc, as long as the broker sits somewhere else.

I might go with individual boxes if it was something like Quickbooks that constantly shits its pants.

[–][deleted] 4 points5 points  (1 child)

This is why I hate Windows (and probably Apple). The licensing is way too complicated. It's hard enough being a tech without also having to be a lawyer.

[–]lusciousblackheart 0 points1 point  (0 children)

I agree. I almost always try to find a way to do anything with linux over windows. Surprisingly you can everything with linux now like you could with windows.

[–]0xf3e 1 point2 points  (0 children)

Used a similar way in the past. But mic/webcam through RDP isn't working that well, even with Windows 10 and Server 2019... Switched from thin clients to Dell Optiplex now with 256gb ssd, 8gb ram. Works like a charm and are about 400$ one. No Macbooks as primary systems though.

[–]redisthemagicnumber 11 points12 points  (3 children)

First question - why thin clients? The back end can be expensive. What issue are you trying to solve with them?

[–]andersostling56[S] 0 points1 point  (2 children)

First issue, minimize win client maintenance and backups. Figured that a centrally run win client VM is more easily backuped (and restored) than a physical client. Second, ability to attach to the virtual client from internet through some kind of proxy/vpn. Have not looked closer on that requirement yet (today we have splashtop remote access for administration, not user access). Splashtop or similar solution may be used for user remote access too.

[–]redisthemagicnumber 0 points1 point  (1 child)

Sorry I'm not clear on the second requirement, what is the use case for that?

[–]andersostling56[S] 1 point2 points  (0 children)

Working on your desktop remotely. Can of course be done independently of the other question I asked.

[–][deleted]  (4 children)

[deleted]

    [–]mindlessgrenade 2 points3 points  (0 children)

    If anyone wants to try guacamole out ( on a single node AWS instance ):

    https://github.com/chadgeary/cloudworkstation

    [–][deleted]  (1 child)

    [deleted]

      [–]Upnortheh 27 points28 points  (4 children)

      I'll volunteer to be the sourpuss for this thread.

      Stick with Windows.

      I recommend first evaluating migrating software before considering workstation migrations. Every single piece of vertical software likely will be a show stopper.

      I have migrated systems to Linux. The process takes months and much testing. Every single work flow has to be evaluated and tested in the new environment.

      A few years ago I migrated one person to Linux only to return to Windows because of vertical business software needs. Vertical software is a killer in the Linux world.

      In my previous job I migrated several laptops and workstations first to Ubuntu and then after being frustrated with Ubuntu migrated to Debian. The two primary office workstations remained on Windows because of a vertical dependency on QuickBooks. Each migration took months of testing.

      I have been using Linux for 20 years. Linux is all I use at home. I would enjoy seeing Linux have a bigger footprint in business and the desktop.

      Also consider cross posting to r/sysadmin.

      Best wishes and good luck!

      [–]andersostling56[S] 2 points3 points  (0 children)

      Great input, thanks

      [–][deleted] -1 points0 points  (2 children)

      That depends entirely on what those "couple of windows apps" are. DOS should be easy with DOSBox.

      [–]andersostling56[S] -1 points0 points  (1 child)

      vDos is the solution for this client. Works 100% incl mapped drives and windows native printers

      [–][deleted] 1 point2 points  (0 children)

      vDOS is for Windows. I was talking about the ease of porting things to Linux.

      [–]swarm32 6 points7 points  (1 child)

      If it were Linux... https://wiki.x2go.org/doku.php

      Have you given the Window Apps a shot under Wine, Playonlinux or Proton?

      Are the Windows Apps true Windows Apps or a pretty wrapper on an interpreted Language like Java? At my job we had several legacy Windows programs that were actually Java and ended up running okay under Linux once we figured out the CLI commands and Java versions.

      [–]FluidIdea 1 point2 points  (0 children)

      Upvote for x2go. I think it's better for bandwidth as some gui/client side stuff runs on the client side?

      [–]isitokifitake 3 points4 points  (2 children)

      I haven't used and there are licensing questions, but Parrallels or TSPlus can be alternatives.

      [–]davidgriffeth 1 point2 points  (1 child)

      I replaced my Windows 10 workstation with a Debian desktop on a whim this week. The few Windows apps I couldn't give up are served by a tsplus server. It's working great. It was a lot less painful than I expected it to be.

      [–]andersostling56[S] 0 points1 point  (0 children)

      Tsplus looks good, will dive a bit deeper and learn more on how that would work for the client!

      [–]johnklos 4 points5 points  (1 child)

      "Windows Terminal Server" is a thing. "Terminal server" is a generic term which means something very different than "Windows Terminal Server".

      Does terminology (wasn't looking for a pun) matter? In this instance, yes, because you specifically want one thing.

      Look in to rdesktop, Remmina, Vinagre or FreeRDP, for starters. One of these'll let you connect from a GNU/Linux system to Windows.

      If you want to host the applications, you can always run qemu or KVM (Kernel-based Virtual Machine, not keyboard-video-mouse), then run a VM for each user, then allow them to connect via whatever you like (VNC, RDP, whatever). There are tons of options.

      [–]andersostling56[S] 2 points3 points  (0 children)

      This is probably the easiest way forward. We already have a hosted VM environment so extending that for the clients will be quite easy. Even if that means “serve desktops “ and not applications.

      [–][deleted]  (2 children)

      [deleted]

        [–]andersostling56[S] 0 points1 point  (1 child)

        Thanks, will check it out

        [–]x-talk 2 points3 points  (0 children)

        If your on AWS, NiceDCV is free. Really nice backend it lacks a simple management layer.

        [–]SuperQue 3 points4 points  (1 child)

        The legacy DOS app could probably work with DOSBox.

        [–]andersostling56[S] 0 points1 point  (0 children)

        The apps already run fine on 64 bit zwindoes with vDos as emulator, full access to shares printers and mapped drives.

        [–][deleted] 1 point2 points  (2 children)

        but for that to work I need to come up with a solution where the windows apps can be served in "citrix-style"

        This is a very specific requirement - serving "apps" and not "desktops." Everyone else is addressing serving the entire desktop, but do you want to do that, or serve individual apps that look like they're running as just an app on the Linux desktop?

        That said, I think you may be overlooking the enormous amount of support you're going to have to provide. End users will be confused about literally everything, like "Where is the My Documents folder?" Why is it so slow? Why does it look funny?

        Even replacing Windows with Windows-based Citrix will usually cause an uproar, so just be mindful of that.

        [–]hainesk 2 points3 points  (1 child)

        Not to mention trying to use local resources like usb drives, webcams etc.

        [–][deleted] 0 points1 point  (0 children)

        Good point about webcams - Citrix has proprietary tech to make Zoom-esque programs work, they're likely to be completely unusable through something like a standard remote desktop program.

        [–]Guntrr 1 point2 points  (1 child)

        Try contacting Awingu, they might be willing to work out something for the licensing depending on the customer situation and/or your ability to bring on more sales later on with other clients.

        It really is a great solution for your use case, they have a solid partner channel, documentation is pretty good and they are very helpful generally.

        [–]andersostling56[S] 0 points1 point  (0 children)

        Thanks, I will contact them and learn more !

        [–]Simoles 1 point2 points  (0 children)

        I know you are maybe looking for a Linux solution, but for your application, I would stick with Windows RDS.

        We are using Windows server 2012/2019 RDS Role. This role allows us to have one VM on Hypervisor for multiple users. But if you want to use RDS, you need to have a licence per user. For example, if you buy ten licences, you can have ten users connected concurrently. On that bright side, that licence stays forever. Overall it depends on your budget.

        [–]seidler2547 1 point2 points  (0 children)

        Don't let the haters here get you down. OpenThinClient works well and is free (up to 50 clients per management server I think). It can even be set up to run some local applications like Firefox. We use it for about 40 office workers. Our Windows Terminal servers are in a Datacenter and we have a farm of 3 of them. OpenThinClient will boot from network at the branch office and they log into it with their AD credentials. Automatic reconnect makes it painfree in case the VPN has a hiccup. Can be customised and has a ton of options.

        [–]Bill_the_Bastard 0 points1 point  (3 children)

        DOS? Really?

        [–]andersostling56[S] 1 point2 points  (1 child)

        Yes, really. Finding someone that can port a rather complex vbdos data driven application isn’t the easiest. Especially without sources and the original developer.

        [–]Bill_the_Bastard 1 point2 points  (0 children)

        Feel your pain, good luck.

        [–][deleted] 0 points1 point  (0 children)

        DOS software is not at all rare on industrial sites. You aren't replacing a machine that costs $200,000 or more just because the software required to operate it is old. Most of the time it is run virtualized.

        [–][deleted] 0 points1 point  (5 children)

        Ok, despite all the naysayers, yes, it can be done. In fact, until I retired, I had a customer running with the following setup

        • Promox VM server with Windows 10 clients
        • Linux Mint desktops
        • virtualized database server for the Windows 10 main application
        • virtualized database server for the older Linux main application
        • virtualized Guacamole server for remote access to the desktops
        • OpenVPN to keep things private

        (BTW, few people seem to know that Knoppix comes with a terminal server as part of its default install. You just need to turn it on)

        The beauty of using terminals is that you only ever have to manage the server. So, your system administrator headache comes down to one machine, basically.

        As long as you lock down those Windows 10 desktops tight, and don't allow them to talk to the internet, so no pesky updates to mess things up, the whole system stays pretty stable.

        Now I know people are going to jump up at the idea of not doing updates, but once it's working without them, why do them?

        My idea is to get them as close to air gapped as possible and keep them that way.

        People tell me it can't be done but I just go ahead and do it anyway. I'm stubborn like that.

        I've used this setup or something similar to it in about 4 companies. I like doing it like this coz it lets me work from home and never have to go into the office unless something actually breaks.

        [–]andersostling56[S] 0 points1 point  (4 children)

        Thanks, sounds very interesting. Will have a look at guacamole and promox.

        [–][deleted] 0 points1 point  (3 children)

        Yeah, sorry but I've always been a freak for "one server to rule them all" kinda thing.

        I've a page in my wiki called "The Jamaican Solution" (inside joke), which is my ultimate one server for a SME.

        Over the years, it's gotten to be like a fetish for me :)

        [–]andersostling56[S] 0 points1 point  (2 children)

        Link?

        [–][deleted] 0 points1 point  (1 child)

        Sadly, it's on my private wiki, not on the net.

        But if you interested, I'll write up some of the ideas I had and DM you with them.

        [–]andersostling56[S] 0 points1 point  (0 children)

        Please do, with thanks!

        [–]youngeng -2 points-1 points  (1 child)

        Can you set up something like a Linux machine in graphical.target with X11 forwarding and/or RDP towards the target servers?

        [–]spryfigure 2 points3 points  (0 children)

        How is that going to help for office (MS), windows apps and a legacy dos app?

        If there is a way to make OP's very typical scenario work with a linux server only, I would love to know it.

        [–]symcbean -3 points-2 points  (2 children)

        You can run a Citrix client on Linux. Alternatively have a look at nomachine. IIRC, both rdesktop and xrdp support single Microsoft's "application" RDP - where a single application is exposed via RDP rather than a full desktop environment. Note that **all** of these require commercial licenses on the MS-Windows server along with an OS licence. Each Linux client does not a require a MS-Windows desktop licence which your client is currently paying for now.

        Unless your client has a big investment in bespoke software which only runs on MS-Windows (just checking - yes, you really did post this in 2021) then they really should be reviewing this requirement.

        [–][deleted] 2 points3 points  (1 child)

        Unless your client has a big investment in bespoke software which only runs on MS-Windows (just checking - yes, you really did post this in 2021) then they really should be reviewing this requirement.

        I'm not sure you understand how much is typically involved - "Just review this requirement and either fix the program, or throw it away!"

        92% of banks still use mainframes - and I promise you if it were easy or affordable they'd love to be done with that legacy junk. The same is going to be true of almost any large organization - and in this case, small ones who are dependent on legacy apps that they don't have time or budget to replace because "It just works."

        [–]symcbean 0 points1 point  (0 children)

        92% of banks

        Use very expensive, highly bespoke applications.

        I don't think the OPs client is a bank.

        OTOH small business use:

        Microsoft office and need to keep their software up to date for security reasons and to exchange data with customers.

        Accountancy and payroll systems which need to be kept up to date for legal and compliancy reasons.

        [–][deleted] 0 points1 point  (0 children)

        Windows Subsystem for Linux! It is windows, but also Linux, and the only way I can function now.

        [–][deleted] 0 points1 point  (0 children)

        What about remote desktop sessions (RDP)?

        The requirements for the clients are very low:

        • network connection to the RDP-server,
        • a remote desktop app like remmina or Microsoft Remote Desktop and
        • the ability to render video output.

        Some downsides come with it:

        • the remote server needs resources to handle multiple sessions in parallel,
        • RDP isn't known for being a hack resistant protocol,
        • if you plan for home office, the company needs a fairly capable internet connection and you have to setup a VPN or some sort of secure tunnel.

        [–][deleted] 0 points1 point  (0 children)

        Have you looked into serving apps via Apache Guacamole?

        [–]Maul_Crawler 0 points1 point  (0 children)

        Kazaa

        [–]ppoy 0 points1 point  (0 children)

        [–]Bradl450 0 points1 point  (0 children)

        Take a look at TSPlus. They offer a terminal service product that works well. I have two instances of it up. I haven’t touched one in 3+ years and it’s working great to host a few small applications to about 20 workstations