#title Software from other operating systems [[/PageDiscussion|Discuss this page]] || {i} This page is part of the UserDocumentation series of index pages. Please read the WikiGuide prior to making changes.|| ||<>|| = Software From Other Operating Systems = Consider if you really need to run that software: in most cases, its functionality is provided by a free Linux program, see SoftwareEquivalents. {{attachment:SeamlessVirtualizationResized.png}} You can run applications created for other Operating Systems inside Ubuntu using two different approaches: * Running a complete operating system inside a [[VirtualMachines|virtual machine]] container. * Using the free [[Wine]] to run applications directly * Using the commercial [[Crossover]] to run applications directly Virtual machines have the advantage of providing full compatibility, however Wine offers more performance and the ability to render 3D graphics. Crossover is a commercial version of Wine, and is available within Software Center. [[SeamlessVirtualization|Seamless Virtualization]] shows how to make applications from virtualized Windows OS appear directly on the Ubuntu desktop. Wine applications will integrate without additional work. == Playing Windows Games == 3D games will generally not work in virtual machines, however many work in Wine or Crossover Games. Some Windows games have a Linux installer included on the installation CD, such as Unreal Tournament 2003 and 2004. These games do not need Wine. == Wine AppDB == You can often save yourself a lot of time and trouble by checking if an application is known to not work in Wine by using the [[http://appdb.winehq.org/|Wine Application Database]]. == Available Methods to Run Software from Other Operating Systems == ||'''Tool'''||'''Run'''||'''Requires Hardware Virtualization'''||'''Open Source'''|| ||[[Crossover]]||Windows games||No||No|| ||[[KVM|Kernel Virtualization]]||Any x86 OS, including Windows||Yes||Yes|| ||[[MacOnLinuxHowto|Mac on Linux]]||Mac OS X (PPC) only||No||Yes|| ||OpenVZ||Linux||No||Yes|| ||[[WindowsXPUnderQemuHowTo|QEmu]]||Any OS, including Windows||No||Yes|| ||[[VirtualBox]]||Any x86 OS, including Windows||No||Yes|| ||[[VMware|VMware Player, Workstation, or Server]]||Any x86 OS, including Windows||No||No|| ||[[Wine]]||Most Windows Programs||No||Yes|| ||[[XenVirtualMachine|Xen]]||Any x86 OS, including Windows||Yes, unless running Linux||Yes|| = Dual-Booting tricks = == Switch to Windows shortcut == If you have your computer set up to run two operating systems (you can find more information about this at [[DualBoot/Windows]]), you can set up an icon that will switch you into Windows from Ubuntu by following these instructions: First, we must edit the GRUB menu and see what menu number the entry for Windows is. Run: {{{ gksudo gedit /boot/grub/menu.lst }}} ''Warning: Be careful editing this file, making a mistake will potentially make your system un-bootable until you fix it with a LiveCD'' Look at this file, after the comments, you should see a line that says ''## ## End Default Options ##''. The actual menu items are located after this line. Count them, and make a note of where the Windows entry appears. Keep in mind that GRUB starts counting from 0, so don't start at 1. In my case, the entry for Windows is number 5. ''Note'': Be sure to count ''every'' entry that has a "title" line, including the one that says ''Other operating systems:'' if you have it. Before we are done with the menu, we must change the default settings and change the Windows entry so that it automatically resets the default to Ubuntu. This will allow us to simply reset the computer from Windows and have Ubuntu load as it normally would. To do this, look for the line that starts with ''default'', near the beginning of the file. Change it so that it says {{{ default saved }}} ''Warning: RAID users should heed the warning in this file'' Next, we must change the line ''savedefault'' under the Windows entry to ''savedefault 0'', where 0 is the number of the Ubuntu entry. Your number may be different, but likely not. Save the file, close gedit, and move on to the next step. Now, we need to create a script that will set the default operating system to Windows, and then reset the computer. First, we need to allow normal users to run the ''grub-set-default'' and ''reboot'' commands, which normally requires ''sudo''. To do this, run {{{ sudo visudo }}} Add the following lines to the bottom of the file - {{{ ALL ALL= NOPASSWD: /usr/sbin/grub-set-default ALL ALL= NOPASSWD: /sbin/reboot }}} '''Warning:''' If visudo complains about syntax errors when you exit the program, do '''not''' ignore them! Go back and look at the file and see what went wrong. If you mess up the sudoers file you might not be able to run sudo at all, which you'll need a LiveCD to fix. '''WARNING:''' This will allow any user on your computer to reboot the computer. Normally, any user can use the menus to do this, but '''if you allow users to remotely connect to your computer''' you may want to consider the idea that any of them could reset your computer at any time, so this might not be something you want to do. Now, run ''gedit reset-to-windows.sh'', and put the following lines into it, replacing 5 with the number of the Windows entry in the GRUB menu: {{{ #!/bin/sh sudo grub-set-default 5 sudo reboot }}} Save this file, and make it executable and system-wide by doing the following: {{{ chmod a+x reset-to-windows.sh sudo chown root reset-to-windows.sh sudo mv reset-to-windows.sh /usr/bin }}} Great! Only one last step: right click on the desktop and select ''Create Launcher''. Name this launcher ''Switch to Windows'', and set the command to ''/usr/bin/reset-to-windows.sh''. Select an icon if you'd like. Now, you can use this icon to reset the computer, and it will come back up in the Windows operating system. Later, if I can get my hibernate to work, I will show you how to use this technique to hibernate Ubuntu instead of resetting.