I've used only VMWare on my Windows 7 machine, but I'd like to use something on Ubuntu.
What software would you recommend to create other Linux and Windows virtual machines?
You also may use VirtualBox, which is named
virtualbox-ose in the repositories.
From the package description:
VirtualBox is a free x86 virtualization solution allowing a wide range of x86 operating systems such as Windows, DOS, BSD or Linux to run on a Linux system.
In case you like to install an OS that uses XServer 1.10 (e.g. Ubuntu 11.04) you need Virtual Box version >= 4.0.6 available under GPL v2 licence for download or in a repository maintained by Oracle. For full support of features we also need to install Guest Additions. For USB 2.0 or RDP support we can download and install the Extension Pack. This will make Virtual Box closed source (PUEL-version).
I previously used VMware on Ubuntu/Fedora (and shared VM's across Linux & Windows), for several years, but about a year ago I totally gave up on VMware. It just became too much of a hassle to get it to work after kernel upgrades. Now I just use VirtualBox everywhere (Winows, Ubuntu, MacOS X). (Note: this is assuming you want to use a free virtualization solution, and that you're not using one of the various paid versions of VMware.) I especially liked the (paid) version of VMware Fusion for MacOSX... but now I also just use VirtualBox there, too... and it works just fine.
But, back to Linux: Let's say you can actually manage to get VMware running on Linux -- after downloading custom 3rd party VMware source patches, uploaded to various internet forums, then recompiling odd bits of VMware to get it to properly install... Well, you still will have a slim to none chance of getting the VMware viewer (browser plugin) to properly work on Linux. The issue seems to be that it requires an older version of Firefox to run. You can use IE or possibly Firefox on Windows to "view" your running VM's on Linux, but, you know, what's the point.
Long story short, the free versions of VMware no longer seem to be supported or maintained, and this is especially evident & painful on Linux.
However, all is not lost... You can take your existing VMware images and actually open them in VirtualBox without converting the images to VDI (..or, you can convert them to VDI if you want, too.) (Frankly, for non-Windows VM's, it is probably just as simple to create a new image, since installing Linux from scratch is so simple. It's all the other software (databases, etc) that can be a pain to re-install, though.)
The one issue that I ran into when opening my VMware images in VirtualBox was that I originally split my VMware images into 2GB files; this won't work when opening them in VirtualBox. But you can use the VMware tools to convert them back to a single disk, e.g.:
c:/> vmware-vdiskmanager -r multipart.vmdk -t 0 single.vmdk
Then this "single.vmdk" can be designated as your disk for your VirtualBox VM. Odds are that any Windows image will have to be re-verified as "genuine"; it's easiest to do this online when setting up the VM, assuming networking is working. I think I first removed VMware tools from my image, and then installed the VirtualBox add-ons on the VM, and I think that was basically it.
Im case you are used to VMWare from your Windows machine you can run the VMWare Player on your Ubuntu box. Although I do agree with previous answers that Virtual Box is a very good Open Source alternative there is no need to switch systems. This is even more so as you can use your preexistent virtual machines by also running VMWare Player in Ubuntu. However if you want to create new machines you would need to run VMWare Workstation.
Despite Michael's problems with VMWARE I would absolutely recommend it for a number of reasons:
I use virtualbox as well, and I would say for most purposes it is as good, but you'll need to learn it.
To add to the list of solutions there also is a Linux version of the commercial Parallels Desktop.
Update 2020/08/07 to add alternatives (on Ubuntu and its flavours) not referenced in the previous answers
An alternative solution is GNOME Boxes. It is a system virtualization application (based on the QEMU machine emulator) that is a core part of the GNOME desktop environment. It is a virtualization app that allows you to quickly create a virtual system without fiddling with too many options and choices. It is not a highly sophisticated solution like Virtualbox, or VMWare, but it may fits your needs if your requirements are not so complicated.
sudo apt install gnome-boxes
For details: https://wiki.gnome.org/Apps/Boxes
Another alternative is Virtual Machine Manager app, that is a desktop user interface for managing virtual machines through libvirt (that primarily targets KVM VMs, but it is able to open the Gnome Boxes VM as well). Virtual Manager allows you to define the hardware properties of the VM through a graphical interface: the result of these settings is a description of the hardware in an XML format.
sudo apt install virt-manager
For details: https://virt-manager.org/