Slashdot Mirror


Distributing Windows Programs to Linux Desktops?

prell asks: "Our company has approximately 250 Linux desktops, and an array of Linux servers. Recently, we've been presented with the possibility of migrating all or most of these machines to Windows to support one industry-specific application, and we do not want this to happen. Coming to mind immediately were: Wine and CrossOver Office; some sort of multi-user VNC setup; Ndiyo; and VMWare. Keeping in mind that the desktop machines are low-spec (~350MHz CPUs on average), what are our options? How can we preserve our Linux install-base in the presence of a non-canonical Windows program?"

25 of 95 comments (clear)

  1. Windows Terminal Server by Kalak · · Score: 4, Informative

    Windows Terminal server with the Linux desktops connecting via rdesktop is another way (assuming the app runs on TS).

    (First Post)

    --
    I am, and always will be, an idiot. Karma: Coma (mostly effected by .hack)
    1. Re:Windows Terminal Server by spooky_nerd · · Score: 2, Informative

      Yes, licensing is expensive. But the cost of TS CAL is about the same as an XP license. As long as you only use the server for terminal services, and nothing else, e.g. file server, you should only need a TS CAL for each client. The cost of licensing the app should be the same. That is, most companies will say that 50 licenses on 50 computers is equivalent to 50 licenses on 1 computer. The advantage is that you don't have to upgrade the hardware on the desktops to support Windows.

  2. The perfect solution by treff89 · · Score: 2, Informative

    VMware is always a useful app, however your comps may be too slow. CITRIX!! Citrix would be _the_ best solution in this situation. Works great on that speed hardware, doesn't require a great amount of bandwidth, and runs with all applications EXTREMELY well. Clients available for Linux. I'd say, the perfect solution.

  3. Avoid the application by Mind+Booster+Noori · · Score: 2, Insightful
    The best way is really try to avoid that Windows App. Emulation works (sometimes) but it's a fix, not a sollution. If you're to stick with a good Linux-based solution, now it's the time.

    Isn't there another solution besides that Windows Application that does the same thing?

  4. winframe servers and rdesktop by rusty0101 · · Score: 2, Informative

    Possibly the easiest would be to set up a collection of winframe servers in your server farm, and attach to them as needed via rdesktop from your Linux desktops.

    Then again, I have not implemented this, so your experience may differ.

    -Rusty

    --
    You never know...
    1. Re:winframe servers and rdesktop by chris_mahan · · Score: 2, Informative

      Rdesktop works fine. Just be aware you're still going to have to pay for terminal server connection licences.

      --

      "Piter, too, is dead."

    2. Re:winframe servers and rdesktop by Anonymous Coward · · Score: 3, Interesting

      Windows Terminal Server would be less problematic. Citrix opens up an entire can of worms. I have been running a farm of about 20 Metaframe servers for two years now. The additional features it brings to Terminal Server are simply not worth the trouble.

      The short list:

      1. Citrix servers have to be rebooted every night or they exibit wildly unpredictable behavior.

      2. Each Windows 32-bit client that connects to a Metaframe server uploads its print driver(s). If one of these print drivers disagrees with the server, the client either (a) can't print (b) can't connect (c) crashes the server.

      3. Citrix charges $400 per tech support incident. The first ten minutes of the conversation is spent by Citrix telling you about the items they will NOT help you with.

      4. Their products are exorbitantly priced.

      5. They still haven't got the clipboard-between-apps thing figured out. It works sometimes(:

      6. Few companies write their applications with Metaframe in mind. Most line-of-business applications require some workarounds to run properly on Metaframe. Particularly, the ones that want administrative privileges.

      And remember, you are going to spend at least three of your evenings at the data center patching servers every month. One night for Microsoft's regular patches. Another night for the Microsoft patches that unbreak what the previous patches broke. And another night for the Citrix patches.

      My opinion: Citrix Cucks!

      My recommendation, if you have to run this app, is to use a Windows Terminal Server without Citrix. It's not perfect but will be much less of a headache than Metaframe.

      Or just find an application that runs on *nix.

      Note: Of course, "4.0" is "supposed" to fix a lot of these problems. I'll try it next year, if I have to...

  5. Depends on the applications by mangu · · Score: 3, Informative

    Where I work we have some Linux desktops. At first we used VMware with good results, but on my own machine I use wine. I found that the only windows application I really need to use is Lotus Notes, and it runs very well on wine. However, some people here have excel macros that they can't run on OpenOffice, so they are still running VMware.

  6. What is the ONE application? by dpilot · · Score: 2, Interesting

    What is the ONE application that's about to drive this much churn in your shop? Perhaps rather talking about minor things like preferences and productivity, start talking about the cost of replacing 250 low-spec desktops with new machines, as well as any upgrades needed for your array of servers.

    Since you probably can't tell what the ONE application is that's worth turning your whole IT infrastructure upside-down for, can you give a few of its properties? Is it a heavily interactive communications program? Is it a simulator? Before anyone can evaluate alternatives like VNC, WINE or VMWare, more information is needed.

    --
    The living have better things to do than to continue hating the dead.
  7. Your company's priorities by NitsujTPU · · Score: 3, Insightful

    Your company is apparently willing to incur the licensing costs of Windows, Windows applications, and this new app, but is unwilling to upgrade its desktops to hardware worth more than $10.

    I think that your company is going to fold. You guys really need to figure out a lot more than how to obviate the need for an OS migration.

    1. Re:Your company's priorities by NitsujTPU · · Score: 3, Informative

      Yes, I did... ...and then I realized that even as a graduate student, if they had a 250 seat installation, I could afford to replace the whole thing.

      Upgrading would probably get them the Windows licenses they need as well as a throw in.

      Honestly, much of the time, the workers do need better desktops... but if it's an arms race to keep management in better machinery than the workers... the workers have to have shitty machines to prove the point. Lame.

    2. Re:Your company's priorities by NitsujTPU · · Score: 2

      In retrospect, I apologize. I was a bit harsh, and wasn't 100% clearly thinking about all of the possibilities.

      Thank you for the front-end realignment.

  8. Don't defeat your main purpose! by fm6 · · Score: 2, Insightful
    You can probably use Wine to support your one Windows app. Not easy, but doable.

    Crossover Office won't help you. It's just Wine pre-configured to support a lot of standard apps. People buy it to save themselves the (severe) headaches of hand-configuring Wine.

    All the other choices you mention are ones you absolutely must not consider. Why? Because they defeat your primary purpose. Which is not just to get this one Windows app working. It's to maintain Linux as your primary desktop environment. If keeping Linux supreme in your workplace is your primary goal, then you must find a way to allow your users to run this app under Linux. If you force them to fire up a separate Windows environment just to run one program, you're telling them that Linux can't meet their needs. Eventually, they're going to say to each other, "Why are you using this stupid system that the geeks like, but doesn't run all the programs we use? Why don't we just run Windows?"

    1. Re:Don't defeat your main purpose! by fymidos · · Score: 2, Insightful

      >Crossover Office won't help you.

      No, but Crossover DEVELOPERS can.

      --
      Washington bullets will simply be known as the "Bulle
    2. Re:Don't defeat your main purpose! by bluGill · · Score: 2, Informative

      CodeWeavers is a company that is looking for some more people to buy their product. They will make the tweaks needed to get your software to work - for a fee of course. There are two advantages of buying Wine from Codeweavers, one is they will make the tweaks you need to make your stuff work, and the other is it supports Wine development, which supports linux.

      CodeWeavers is not such a large company that they can afford to turn down money. They will be happy to discuss terms to get any application supported. And they will be honest about it - some things are a matter of the program is the only one so far using some API, so it hasn't been implemented, but once asked for they can do it in a day. Others require a few years of work yet, but they will tell you that it isn't worth the cost. (Unless it really is worth the cost to you...)

  9. It would help.... by numbski · · Score: 2, Informative

    ...if we knew what the software was. Is it a software publisher that is approachable? Would they be willing to consider doing a compile of the application using winelib?

    That is make a win32 exe that runs on linux natively.

    The more I look at migrating some office to OSS, there is always, ALWAYS that one application that the office can't part with for whatever reason. Or there are excel/word macros that don't work in OOo and they can't/won't re-write them to work in OOo.

    If the office is commited to it, then I'd try getting it to compile with Winelib.

    Another option is that if it runs under wine, but runs slowly on those dinky machines, get the company to consider setting up a powerful multi-cpu machine to use as a terminal server of sorts, load linux on it, install wine, then the application. Set it up to allow X11 forwarding via ssh. Make sure each user has a shared key with the server for ssh. Now set up a shortcut/script or whatever that does this:

    ssh -X user@server 'wine app.exe'

    The application will display locally, but the cpu cycles will be on the server.

    Will that work for you?

    Those with more experience with Wine and winelib, what kind of difficulties should a developer expect if a client makes this request and the devloper in question decides to attempt to comply. Say the app is written in Visual C++ for example...

    --

    Karma: Chameleon (mostly due to the fact that you come and go).

    1. Re:It would help.... by IamTheRealMike · · Score: 3, Interesting
      Is it a software publisher that is approachable? Would they be willing to consider doing a compile of the application using winelib? That is make a win32 exe that runs on linux natively.

      This is definitely an option. In fact you don't even need vendor co-operation, CodeWeavers can make apps run without access to the source code.

      I work for CodeWeavers and I'll say now that for 250 licenses we can put a few hours into making a custom app work for you. For exact details you'd need to contact jwhite@codeweavers.com. How much effort it'd take to get the app to Gold status depends on a lot of things. It may require no effort at all, in which case your problem is already solved. Congratulations. You have a zero cost way to deploy this app.

      It may be that the app basically does work, but it's not reliable or it suffers visual glitches. This is the sort of app we can often make work in return for guaranteed sales of X licenses, even without the source code.

      It may be that the app won't start or won't install so you can't tell, but we can coax it into working and give you an evaluation. We have 4 developers who specialise in installers (2 in MSI, 2 in InstallShield respectively), so this is definitely possible. We usually do "kick the tires" evaluations either cheaply or for free.

      Basically, the best solution for your desktop users is going to be a Wine/CrossOver based solution. The app will run at native or nearly native speed, you won't need an app server, it will integrate nicely with their desktop and appear in the menus, copy and paste will work etc. And you don't need any Windows licenses. Seriously, drop us a line.

    2. Re:It would help.... by MerlynEmrys67 · · Score: 2, Insightful
      Well, being that the origional poster said he needed 250 copies - I'd assume 250 licenses are fair.

      Basically this boils down to how much does the labor cost. Assume 100 bucks an hour, then for 250 licenses that is about 40 cents/hr for a license to do the work.

      If you are saying you will do this for free - well, pony up the resources and make a counter offer. This seems like a perfect answer to the OP, and might be just what the OP wanted.

      --
      I have mod points and I am not afraid to use them
  10. Another remote solution by pyrrhonist · · Score: 2, Informative
    If you're unwilling to purchase a Windows 2003 Server and a Microsoft Terminal Services license set, but still would like to run the troublesome application remotely, here is another solution.

    All you need is a Windows XP Professional machine with your software on it, and then you can run WinConnect Server XP. It is inexpensive, uses regular Windows RDP, includes a fairly decent admin tool, and you can try it out for free. ThinSoft also makes a Linux client, but you can use rdesktop. The bad news is that it only allows 21 clients concurrently.

    No, I don't work for them, but I have used their software quite a bit. Their site leads you to believe that they only sell licenses in groups of three, but in fact, they are more than willing to sell you individual licenses. All in all, their system works rather well.

    --
    Show me on the doll where his noodly appendage touched you.
  11. run some numbers by fred+fleenblat · · Score: 2, Interesting

    Rolling out windows isn't an option on 350MHz machinery. You'd have to buy some new boxes.
    Assuming you just get some cheapo dells...

    250 desktops * $400 = $100,000.

    Oh, they wanted to run Office apps while they're at it? Assuming you can get some volume discounts that could be another $50,000.

    Now you have a bunch of windows boxes but no active directory or shared file servers? You probably have some decent spec servers you could use for these, but you still have to pay for the software and CALs. I don't even know, but let's say another 10,000.

    Hmmm, why are there so many smtp packets floating around my network? Oh shit I forgot anti-virus software for everyone. That's gotta be $50/user so there goes something like $12,500. Stuff still gets through because 5% of the time people click OK in IE, so you have to hire a guy that does nothing but disinfect machines all day for $25/hour + benefits. There goes $75,000 per year.

    Okay, whew now great we can use this industry specific app...all it cost was a QUARTER MILLION DOLLARS.

    1. Re:run some numbers by wolftone · · Score: 2, Funny
      Maybe they want to run office apps, not Office apps. In this case this case it would cost them around $0.

      in that case, they'd be wanting to run OOoOffice apps.

    2. Re:run some numbers by Snotboble_ · · Score: 2, Interesting

      And that's not all of the cost. Your numbers assume that there are no existing Linux apps to migrate to the Windows platform.
      So, to make things more interesting, you'll need to either
      1) Add LTSP servers to run the legacy apps (a guestimate is a $10,000 server per 25-30 users) plus X Server licenses (say, $50 per PC if you don't want to fiddle with Cygwin),
      2) Port the applications to Windows,
      3) Provide users with an extra PC if they cannot use 1) or 2) for some reason.

      Depending on the outcome, it can very quickly add another $100,000-$150,000 to the total cost of migrating the desktops to Windows. And that's not even counting salary expenses.

      So we're now up to a migration cost of around $2,000 - per seat!

      Now for some other numbers..
      In a company which is doing fairly OK, the gross turnover per employee per year is around $150,000 (depending on the industry; assuming a generic production business with some R&D). Net revenue is around 5%. That's $7,500.
      In my humble opinion, there has got to be a _very_ compelling reason to want to migrate 250 users to a Windows desktop when the cost is approaching half a million $$ and blowing a third of a fiscal years net revenue!

      (and yes, I know if's possible to write it off over several years, but it's still bucks out of the pocket right now)

      --
      Q: How does a Unix guru have sex? A: unzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep
  12. consider porting it by cahiha · · Score: 4, Insightful

    For the amount of money that it's going to cost you to do this (easily $500k), you may be able to create your own version of the application. Of course, I realize that that may not always be possible, but it is worth considering.

    There may be a web-based version of the application.

    You may be able to outsource the application and have your users access it through rdesktop.

    If you only have a few users using it at a time, then accessing a bank of Windows machines through VNC should be enough.

    If it's a high-powered application that can't be ported, then you're in trouble. If you are really, really lucky, you can run it under an old version of NT on VMware on your current hardware and under Linux. If it requires a new version of Windows and/or significant resources, you need to upgrade all your hardware, no matter what you do. I'd still get a site license for VMware and run Windows under Linux--that way, at least you more easily avoid the costs of downgrading to an all Windows server infrastructure and retraining everybody, and you can more easily distribute and lock down the (virtual) Windows desktops.

    Don't blame your decision of using Linux up to now for your predicament--consider yourself lucky that you have been able to save money so far. The cost of dealing with Windows now (hardware upgrades, licenses, installation, system management, etc.) is the cost you would otherwise have been paying roughly every two years as the cost of doing business.

  13. Consider ROI by Zarf · · Score: 3, Insightful
    The specific numbers are what have to drive your decision. I've read the other posts and most folks are quoting numbers between $150,000 and $500,000 which is a pretty small range considering we have no idea of exactly what software you need on all those linux desktops. I expect that $250,000 is a fairly good SWAG ... but again, we have no real idea of what you need license/support wise.

    An interesting comment made by a boss o'mine was along the lines of, "Why pay my programmers/techs to support a program that is practically a commodity?" The logic goes: If Operating Systems have vendors why write your own? If Word Processors have vendors why write your own? And so on. You focus your IT crew on the unique problems that your particular organisation faces.

    I would push one level farther. Why pay for an OS/Word Processor/Browser if there is one that is free? Pay for the support contracts if you need support. Don't pay for software that there exist perfectly acceptable free substitutes for.

    Keep in mind the stuff is free as in speech not just free as in beer. That means if you have an Open Source support guy on staff who contributes into the community, the whole community wins... you get better support... and you still employ the same number of IT staff. Yes, you lose one guy from your core IT goals... but you still lose one person to Anti-Virus stuff and pay-per-year software issues.

    If you can do one of the following you might want to consider a Linux/Open Source strategy:

    1. Use an Open Source Community project to replace most of the functions of your pay-per-year software. You might use Open Office instead of MS Office for example. You could use a universal document format that would work across a variety of platforms.
    2. Create and maintain a replacement that is platform independent or SOA based. The replacement could be used as a platform for your business' future development. If you go SOA you can then support platforms such as PDAs, Cell Phones, and Kiosks. This only makes sense if you get a good ROI
    3. You could decide to use Wine/CrossOver/Lin4Win or whatever to provide emulation of Windows. In my personal experience only "stuff" that works with Windows 98 will work properly on Wine.
    4. I would put VNC or Citrix at the bottom of the list, but it could be a very cheap alternative. You just show the application where you need to. You could potentially get away without having to rewrite/retool anything. (except for the VNC server/client or Citrix server/client)
    If none of these ideas offer a big enough payoff or offer a significant savings... I hate to say it but... you really might be better off as a windows shop.

    Most companies pull money from different "pools" and many companies think that purchasing windows computers is a one time capital expense. It's not. You end up having to purchase new software annually from Microsoft or third parties to keep your systems running and patched.

    Make sure you make the decision fully educated about recurring costs and the life-cycles of all your systems. Pay-per-year systems will cost you more in licenses and still require staff to support them. Open Source will require either service and support contracts, additional "expert" staff (or staff training), or both.

    You can control whether OSS shifts underneath your company. You cannot control whether a vendor pulls support or shifts technology. If you go OSS you free your company from "Data Hostage" situations where other companies control your business' data.

    If you go with Pay-per-year software you can get cheaper staff and supplement them with service/support contracts reasonably cheaply. That will change as more and more IT folks become experts with OSS.

    The choice is: commit to a vendor and keep them happy since they essentially hold your data and your company hostage. OR commit to a community and quality employees who will hold expertise that is hard to replace.
    --
    [signature]
  14. Real world example by DarkDust · · Score: 5, Informative

    I can give a concrete example on how we solved a few problems with Windows applications in a Linux-only environment.

    I worked on a big migration project here in Bavaria, where the complete Blood Donation Service Of The Bavarian Red Cross switched from individual Windows desktops to a centralized application server/thin client system. I estimate this are about 1000 users affected. The migration was done about two years ago.

    A short overview: The users are using Linux based thin clients which I've developed to connect to an array of application servers on which I've worked as well. Every site has its own application servers, in Munich we currently have three or four of them (Dual PIII 1.4GHz, 2GB RAM) and IIRC about 200 people do their daily work on them... no performance problems, but if we had we just would add another server. The thin clients connect to the servers through DNS round robin which is enough load balancing in this case. The application servers are just normal SuSE 8.0 servers with KDE 3.1 where I've configured KDE to restrict what users may do (e.g. they are not allowed to move the Kicker bar... we did things like this to prevent support calls like "My start bar is now on the right, help !" ;-).

    Now, the Blood Donation Service people who are working in the areas where the donated blood is prepared and checked for diseases rely on a specific application which only runs on Windows. We evaluated running this application with Wine but it wasn't good enough for this application back then. To make a long story short, this is how we're doing it:

    We have a few Linux servers on which we're running Windows terminal servers (I don't know which Windows) in VMWares. I explain the reason for this later. Clients who are working on the application servers connect to the Windows servers with rdesktop. The users' home directories are on NFS servers which means they get their home directory on every application server and on the Windows servers as well. This works very well. Only a few dozen people need to access Windows servers because of this and another industry-specific application.

    We needed to identify which thin client is accessing the Windows application. Because rdesktop runs on the application server we needed to do a trick: I've enhanced our thin clients to include a finger server which tells finger clients the MAC address of the thin client. When the users log in to the application server the MAC address is finger'ed from the thin client and stored in an environment variable. And when the users then start their rdesktop the MAC address is passed as host name ;-) So Windows thinks the user is connecting from, say, a computer called 00AB12CD34EF and this can be evaluated on the Windows side :-)

    Now for the reason why we run Windows in VMWares: the whole point of our architecture is that we have a master site where all bavarian application servers are configured (new applications get installed there, for example) and they synchronize through rsync to all sites. This means all application servers are in sync and changes are only done on exactly one server. We wanted to do the same with Windows. In short: it's not possible with Windows-only methods and applications because of some limitations of Windows. The best solution is to run Windows in a Linux VMWare and rsync the VMWare disk from the master server to all site servers :-)

    This setup is running full-scale (i.e. in the complete Blood Donation Service of Bavaria) for about one and a half years, and it's running very well. No major problems. Even the 50+ secretaries didn't have any major problems (except for a bug in the Linux version of Acrobat Reader 5.0.x and PDF forms) ;-)