Five ways to use Windows apps in Linux

1. Use an open source alternative instead

When someone asks me if they can run "Windows Application X" on Linux, the first thing I tell them is to look for an open source alternative. For most Windows applications, there will be a high-quality open source alternative that can meet their needs. The biggest hurdle for non-Linux people is simply knowing that these alternative exist and how to find them.

The best place I have found to search for these applications is at www.osalt.com. On that site, you can enter the name of the Windows application and it will list the open source alternatives that provide similar functionality. Be sure to check it out.


2. Buy a commercial product that was designed for Linux

If you cannot find an open source alternative, and you have not already purchased a Windows application, then you should consider purchasing a commercial product that was designed for Linux.

Here is a story of a civil engineer who wanted to find an open source replacement for AutoCAD. He tried several applications, but he could not find one that met all his requirements. So this engineer decided to use a commercial CAD application that was designed for Linux. He purchased a copy of "BricsCad", which worked well for him AND it cost a lot less than AutoCAD.

3. Use Wine to run the application in Linux

If you cannot find a suitable open source alternative and you have already purchased a Windows application, then you might be able to run the application in Linux using Wine. Wine is a tool that simulates the Windows environment. Since I had already purchased a copy of Warcraft 3 for Windows, I have configured it to run on Linux using Wine.

However, your success with Wine will vary depending on the application. It is best to search the Wine Application Database to find out if your application will run well under Wine.

4. Run Windows in a Virtual Machine

Before virtualization was widely available, people would dual-boot their machine if they wanted access to both Windows and Linux. Whenever they needed to do something in the other operating system, they would have to close all their applications and reboot into the other operating system.

This time-consuming process can now be replaced by running Windows in a virtual machine on a Linux system. For instance, you can install the open source VirtualBox application which I have written a review about. Once that is installed, you can install Windows and Windows applications inside a virtual machine. Now you can use that virtual machine to have instant access to any of your Windows applications.


5. Run the application on a remote Windows system

The final way that you can run Windows applications is to run the application on a remote Windows system and control it from your local system. This is often called "Terminal Services", which runs on a Windows server.

This method can be as simple as connecting to a Windows XP Pro workstation using rdesktop. However, you may have many Linux workstations that need to run Windows applications using this method. In that case, there are software options available that provide more scalability and features. The biggest name in this market is Citrix, but there are also others such as Propalms.

Here is a screenshot of Citrix providing Macromedia Dreamweaver, a Windows application, to my Ubuntu Linux desktop.

Comments

  1. I'd rather run an windows application via WINE than buy an proprietary (I don't think "commercial" is the word. MySQL is a commercial software and it is open source) software for Linux.

    Why I adopt such a strange preference? That's because most proprietary applications for Linux which I have used does not work well after a couple of years. Kernel, APIs, system libraries, they all change, and it is a pain to make that "once working proprietary software for Linux" work again.

    Sometimes, it is even easier to make WINE run an Windows app than make an old proprietary Linux app on a modern distro. Remember Kylyx? Thanks, but no thanks.

    ReplyDelete
  2. The example of Bricscad is somewhat different then how you present it. Currently only version 6 of BricsCad is available for linux (version 7 is out for windows) and it requires Wine to run. So it really isn't a Linux port, its just a version that can run in Wine. It isn't designed for linux, it was designed for windows and possibly had some additional development to get it running in Wine.

    This is the same approach that Google took with Picasa.

    Not that this is a huge deal, but just to clear up the statement.

    ReplyDelete
  3. I have a question: Would it be possible to play games through Terminal Services?

    ReplyDelete
  4. it would be possible to run games via terminal services...but you may see a performance decrease.

    internally it may be fine, but if you try to remote in from outside your LAN i doubt it would be good quality game play.

    never tried, though.

    ReplyDelete
  5. Hi Tristan! This is a very interesting post but I have a question for you: citrix architecture is composed by a web server (or more) to accept user connection to the system and one (or more) app server where applications resides. Users can access to the applications that are in the app server(s) through a web interface provided by the web server. I thought that citrix only run with windows, but in your post you said that you're running citrix on linux. So, can you describe the architecture you use please?

    Thank you, Simone

    ReplyDelete
  6. Hey there Trristan.

    My query is similar to Simone's question above. My Lovely (The Lovely Sarah) uses c\itrix to log into her firm's corporate networ; the link on the login page refers to "Citrix NFuse", and it appears to use Citrix's ICA client (that is certainly installed on our machines)

    Is this the 'Citrix' you're referring to in your post (jeez I hope so... it is the one thing which prevents us from ditching Windoze for good on The Lovely's machine).

    I also have Tradestation (a futures trading platform) and some software (windoze only) for my satellite internet connection (no ADSL in the deepest French countryside). D'ýou think something like WMWare could do the job?


    Thanks in advance,



    GT

    ReplyDelete
  7. Simone and Gt,

    I believe that Citrix servers only run on Windows operating systems. However, you can access the applications on those systems by using a client that runs on Linux. There is even a java-client option that doesn't require installing anything to access Citrix applications in Linux.

    Gt - The virtual machine (VM) option allows you to run a Windows system exactly as you would run one on real hardware. So, yes, you can run your stock trading software on Windows inside a VM. Just be sure your system has enough resources, especially memory, because your hardware is running two operating systems at the same time.

    Good luck and thanks for the great questions!

    ReplyDelete
  8. The BEST way to run windows apps flawlessly is to have a windows machine next to your windows machine. You can use both computers from a single mouse/keyboard. Search for x2vnc, win2vnc, or something similar. Plus you will never want to go back after you ahve all the extra desktop space, I promise you.

    ReplyDelete
  9. You forget a great tool called CrossOver Office (http://www.codeweavers.com). Although it's based on wine it makes life so much easier!

    ReplyDelete
  10. If you do opt to run two machines side by side there's another great piece of software called Synergy. It allows you to share a keyboard and mouse; even between differing OSes.

    ReplyDelete
  11. If you have two PCs with two monitors and want to share the Keyboard and mouse, theres also X2VNC or Win2VNC at http://fredrik.hubbe.net/x2vnc.html

    ReplyDelete
  12. very good article straight to the point with out any stories

    ReplyDelete
  13. simple and straight to the point and i am trying to put virtual box into my fedora i you could helo me with that it would be nice

    ReplyDelete
  14. Comment on this if you would please. We have an old Clarify in-house app that we need to run from two locations, and the bandwidth at the remote site makes some kind of terminal services necessary. The app works flawlessly over a share at the main office and Windows Terminal Server at the other one. However, the cost of terminal server CAL's is over $100 per user. I will be testing the app in WINE this weekend, to see if I can use a linux server instead of the Windows2003 machine, so that the access will be free. However, is there any other solution you guys can think of?

    I thought maybe a linux machine at the home office could connect to the app on the 2003 server, and allow users to remote in and run it from there in WINE with a mounted SAMBA share to the 2003 box. Virtual machine came to mind, but I fear I would need a lot of ram and horsepower for 8 or 9 people to run it at the same time. Would it be kosher to rdesktop to the linux box, and terminal from there to the 2003 machine next to it? Is it one machine-one license, or one user-one license?

    This is a governmental agency, so the legality matters, but we are a poor rural county, so the cost is especially important too. Thanks in advance for any ideas.

    ReplyDelete
  15. Firstly, you have a screnn shot of VMWare, not Virtualbox.

    Second, what about KVM, the traditional way of sharing Keyboard, Mouse, and screen.

    ReplyDelete
  16. I would like to run Tradestation and Scottrade Elite without having to use Windows. Has anyone been succesful at this. They are the only two programs that keep me from dumping Windows.

    ReplyDelete
  17. Paul, I just installed Scottrade Elite with Wine and it worked without a hitch. Take a look at http://www.winehq.org/

    ReplyDelete
  18. Thanks. This was very informative!

    ReplyDelete
  19. To run several computers from one machine, therefore using just one OS and one copy of each software program, try Ncomputing L230. You can run up to 30 different keyboard, mouse, screens off one computer and share the OS and software. $220 each but think of the savings in software.

    My whole office is run from one machine.

    www.tigerdirect.com has them or www.ncomputing.com for more info.

    ReplyDelete
  20. Try out opensuse distro. It has several packages. Nearly every M$ app. has a solution. I, being a school student, have to strictly use apps similar to ones they use in school(M$) and opensuse has made my life simple, and compatibility issues are minimum. I use virtual-box for apps which are strictly M$-specific such as visual-basic and the Guest-packages extras are splendid! VMware didnt give compatible solution to my on-board grafx crd(VIA technologies).
    1gb ram isnt costly these days in contrast to 40gb for dual-boot.

    ReplyDelete
  21. I am first time watching the Linux out of curiosity. This seems a new world.
    Why all the names are not in plain English. They sound like some menmonics or code langualge ehat scinetists /too techie geeks use. Can a very common family housewife work on linux as easy as with windows.

    Thanks,
    Vj

    ReplyDelete
  22. Thanks for the link to osalt.com.

    ReplyDelete
  23. Hi, Great blog. Talking about windows, there is something I have to say. Recently I decided to change windows in my house. Looked through numerous companies and could not decide which to choose. I went to this great site www.pissedconsumer.com to read customers reviews. And I should say it was very helpful. I made the right choice and I am completely satisfied with it.

    ReplyDelete
  24. Thank you so much for this!
    you saved my life this has been so so helpful! Thank you for sharing your knowledge, very generous of you!

    Cheers,
    Ran

    ReplyDelete
  25. bumer guys.. when i use wine on linux will the windows viruses work and makes my pc slower , or crashing? plz help..

    ReplyDelete
  26. Points 1 and 2 are NOT a way to use Windows apps in Linux like the post title indicates. The 3 to 5 are good though.

    ReplyDelete
  27. I hate to burst your crazy Linux bubbles but linux is junk. It is like the hotrod that has all these fancy stuff that keep changing with the day's fashion, but never really works, never gets out of the garage, anyone who has one has a different one, and it is only admired by car junkies. The rest of us mortals do not buy a car to look at it, talk to it and talk about it, clean its tires, or just wipe its windsheild twice a day. We buy a car to get us from point A to point B safely, efficently, and comfortably, with the least amount of maintenence required along the way. We also like it when we get out of one car and into another, and everything is where it should be. We don't need to relearn the whole entire complete way to drive starting with how to open the car's door and going all the way through. Windows is not perfect by any strech of the imagination, but at least it is usually consistent and somewhat intuvitive. That is, you sit behind a new computer and you know how to work it. You want to do a new thing and you kind of guess how it should be done and most of the time you are right. Linux is like the hotrod that is parked in the garage, because it looks and sounds powerful but you can't really use it to go anywhere unless you are a top of the line dedicated car mechanic. And the next version or the one your cousin has is totally different in all aspects. A program that runs on Ubuntu 2.1 (who came up with that stupid name?) does not work on the 2.2 version, the linux Opensuse does not recoganize it as a program, and the linux Fendora does not even recognize the file and thinks its open space. There is zero consistancy, rules, guidelines, or standards of any sort in the Linux programing it seems. I don't see why they are all called "linux" in the first place. It looks as if it is an OS that kind of does something, has no set programing rules, and the simplest and most fundamental words and commands used in its programing are constantly and arbiteraryly changed from day to day then it is referred to as a Linux Operating System with Linux programing language. For the aveage computer user the computer languages and operating systems are a means to acheaive a specific goal like surfing the internet or graphing a set of scientifc data or just watching a movie. For the Linux crowd just playing with and changing the programing language constantly is the goal. Above you mention the program WINE to be used to run Windows programs on Linux. What you don't mention is that depending on the program and depending on which Linux OS you use and, get this one, depending on which version of Linux OS you use you need to use a different WINE program that you need to specifically rewrite to each time you want to play a different Windows based program! That is pure Lunicy and you folks in the Linux world have got to step back, take a long look at the Linux mess, and then get together and fix it. And I tell you right now: randomly changing another few words in the core of the linux language or the commands used in the Linux language is not going to fix the problem; it will only add to the problem.

    ReplyDelete
  28. thank you, running windows programs on ubuntu right now

    ReplyDelete
  29. To anonymous who rants about Linux = hotrod: In early 2000's I would agree. But with newer distros and Live CD's, Linux ain't your father's Linux anymore. I know an older lady (early 60's) who wanted to get more life from her aging laptop. All she wanted was e-mail and web surfing. On her own, with no techie help (and she is definitely no techie) she Googled around, found and downloaded Puppy Linux live CD ISO file, burned it to a disc, and booted her old laptop on it. She couldn't be happier! She spends hours on the thing, and has even started using the word processor that comes with Puppy to open Word files she gets as attachments.

    There is absolutely nothing about Linux that precludes it from being user-friendly. Remember that Mac OSX is based on a Unix variant rather similar to Linux, and look what Apple did with it.

    There are very large moneyed interests, such as a little upstart called, um, IBM -- who are pouring millions into making Linux as friendly as possible. This is because IBM and others have realized that the price they pay to be locked-in to the most proprietary of vendors -- Microsoft -- is far higher than the cost of contributing to Linux. Yes, much of the work they do has to be contributed back to the Linux community due to the GPL. But on the flip side, they have full access to 100% of the source code, from the bare metal all the way up. You just can't buy that sort of access with virtually any proprietary system.

    Yes, I believe systems like Windows do have their place in the computing world. However, I believe that Linux does as well. Further, I think that eventually proprietary locked-in systems will become the minority.

    Once an open-source system like OpenOffice exists and is out there, it can never be destroyed. If the original vendor goes away, the source is still there for another vendor to develop.

    Think about it. When you buy a car, the blueprints, diagrams, schematics, etc. are all available, so you don't have to go to the dealer for every repair. Imagine if your PC OS was the same.

    ReplyDelete
  30. Such a useful webpage this one was!! A waste of time. Oh you forgot the 6th way of doing it, "you can forget running the program on Linux and instead go have Tea!"

    The only worthwhile answer was to Use Wine to run your program, but remember that Wine has an extreeeemly limited capabilities. It can only run windows programs that also have a freeware Linux version already available. So why not use the linux version? because it is impossible to install linux programs, unless they already came with your linux distribution. 99% of the Windows compatible programs do not run on Wine no matter what you do. Also you would have to be a PhD in computer sciences to install a program on Linux and there is no way on Earth to Uninstall most programs off of Linux if you don't want them, or to find out where the heck they got installed into, and there is noway to Roll-Back the Linux installation. If you are used to how easy it is to do just about anything on Windows-OS, then don't even try Linux. In linux nothing is where it should be and it is impossible to get it to do even the most everyday tasks like: run, install or Unistall programs, and finding certain files or folders, or quitting a program if it crashes the Linux OS.

    ReplyDelete
  31. Oh come on guys linux is not windows live our linux alone actually im new linux user and agree windows is way user friendly but yep open source and speed are all linux talking about and yep pretty stable and yeah wine ain't a good solution sorry just won't work for what you need!

    ReplyDelete

Post a Comment

Popular posts from this blog

Using the Cisco console in Linux

Linux NIC teaming recommendations

What it takes to make Ubuntu ready for use