Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cygwin vs Linux Virtual Machine for Development?

< skippable part >

I work in IT (mostly desktop support and network administration) in a Windows environment, and I occasionally program.

A couple weeks ago, I decided I couldn't be as effective as I want to be without a Bash environment for my command prompt needs. This is especially true when I am using Ruby and git. I used Msysgit for a while, but I just didn't like how it wasn't extensible like Linux. So, I installed Cygwin and played around with that for a couple weeks.

As great as Cygwin is, it seems like it is meant to be a suped up command prompt, and its compatibility with Linux is just a pleasant side effect. This especially became evident when I tried to upgrade Ruby to 1.9.3 (it worked, but it wasn't straightforward), install rvm (never worked), and install RMagick (may or may not work, but looks like a headache).

So, now I'm considering running Linux in a virtual machine. But I'm worried that might be another can of worms and I'll have wasted hours before I find that out. I like that Cygwin runs in Windows and I get to use my IDE, user folder, and more with it. But I don't like that support for it is not as thorough as for a major distro.

< /skippable part >

  1. Does anyone here have insight on using Cygwin vs running a Linux virtual machine?
  2. Any advice on setting up a Linux development environment in a virtual machine within Windows?
like image 571
erictheavg Avatar asked Mar 19 '12 21:03

erictheavg


People also ask

Is Cygwin virtual machine?

As far as I am concerned, Cygwin is a different concept. Unlike virtual machine it provides an DLL which emulates an Linux environment/layer, which can run and build linux program on a windows machine.

Is Linux better for virtual machines?

When it comes to Linux, it is usually a better performer as a virtual machine when compared to other operating systems. Even if you hesitate to install Linux on bare metal, you can try setting up a virtual machine that could run as you would expect on a physical machine.

Is Cygwin same as Linux?

Cygwin is a Linux-like environment for Windows. It consists of a DLL ( cygwin1. dll ), which acts as an emulation layer providing substantial POSIX (Portable Operating System Interface) system call functionality, and a collection of tools, which provide a Linux look and feel.

Is virtual machine better than WSL?

If you need more direct access to the operating system itself, you should install Linux in a virtual machine under Windows. You'll have more control over the system this way. For those who just want to use the command-line tools under Linux while still using Windows, WSL is a better bet.


1 Answers

I have faced common issues before, and the best solution according to my experience is just 2 workstations :).

Apart from that having Linux running in a virtual environment is way better. First of all, you will have full Linux capabilities (except 3d acceleration, but you probably don't need that). You will have the capability of creating snapshots and revert back to them when things go wrong! You can start multiple environment using templates, which is very convenient.

The only downfall I can think of is performance issues of the host machine. If it's a normal workstation/PC, an IDE + one virtual machine + a 100+tabs browser just makes it slow.

like image 74
hovanessyan Avatar answered Nov 01 '22 17:11

hovanessyan