3

Especially for Rails, I've found that development on Linux is generally a lot nicer than on Windows. However, I still prefer Windows as my main OS.

So far I've tried 2 options.

Dual-Booting with Ubuntu: The problem with this is I don't like having to reboot just to use Ubuntu, like if someone just asked me a quick question about a project.

Virtualizing Ubuntu with VirtualBox: This is pretty damn slow and freezes up at times, even if I'm doing basic stuff like text editing.

Basically, I'm looking for something that doesn't need to be full-featured, but where I can fetch repository packages that I need such as programming libraries. I was thinking maybe there's a Linux distro that's less demanding than Ubuntu that I can use, or some way to run a decent Linux within Windows without virtualizing. Any suggestions?

4
  • I've had success with VMWare and Ubuntu personally. Nov 10, 2009 at 0:16
  • 1
    I've ran a VM with ArchLinux when I faced a similar situation: archlinux.org Nov 10, 2009 at 0:16
  • What linux tools do you need exactly?
    – hasen
    Nov 10, 2009 at 3:28
  • Currently using: ruby, python, C; then I may need firefox, an editor, and subversion if I can't use the windows counterparts, or if I can't see a webserver run in linux in a windows browser.
    – Karl
    Nov 10, 2009 at 4:12

16 Answers 16

7

Did you consider using Cygwin? I didn't test this myself but there are several resources mentioning this combo:

7
  • Thing is, I've seen cygwin in action before and it isn't quite what I want. I at least want to be able to run programs graphically and still be able to use a repository like the one on Ubuntu.
    – Karl
    Nov 10, 2009 at 0:29
  • You don't use a package manager with Cygwin but it does have a kind of repository. Regarding the ability to run programs graphically, What kind of programs? Can you clarify this? This is confusing, I don't know get you don't boot under Ubuntu then. What are you using Windows for? PS: I've read your concern about dual-booting but I don't get how a graphical environment allows you to give better answers. Nov 10, 2009 at 0:41
  • By the way, you can run a X server under Windows. See Cygwin/X. Nov 10, 2009 at 0:44
  • I was unaware of Cygwin/X. And I'm a bit ignorant about the thing in general, but I remember something about the cygwin python being outdated, and besides that issue I don't want to run the risk of that happening for other things I need such as ruby.
    – Karl
    Nov 10, 2009 at 0:54
  • You can mix and match Cygwin/X with python for Win32 and other non-cygwin builds. Personally I like the Win32 ZSH, but have stopped using cygwin in favor of either a virtualized unix environment or native windows tools.
    – dlamblin
    Nov 10, 2009 at 4:51
6

Have a look at what cygwin can offer you for a Linux- like experience on Windows.

Or: virtualize Windows (tm) inside Linux.

3
  • 1
    virtualizing windows in linux runs alot better than vice versa
    – ThePosey
    Nov 10, 2009 at 1:11
  • The other way around isn't a good idea, I've considered it but the things I run in windows are much more demanding than what I do on linux (Maya, Photoshop, Warcraft, etc.).
    – Karl
    Nov 10, 2009 at 3:28
  • Just for the record, Warcraft do run fine with Wine (I'm not playing anymore but I did so I know what I'm talking about). Nov 10, 2009 at 11:16
4

If you want Linux on Windows without virtualization, that sounds like coLinux to me.

1
  • 1
    Looked into this a bit and found andLinux (andlinux.org). Anyone have experience with that?
    – Karl
    Nov 10, 2009 at 1:00
2

Perhaps you need to upgrade your PC. Ubuntu+text editing shouldn't be a problem for VirtualBox or VMWare.

However, if you want a resource-lite distro, try Arch Linux + Xfce desktop.

2

You can install Ubuntu using a windows installer using Wubi. The result is a standard dual boot setup, but with a simplified method for installing ubuntu if you already have windows pre-existing on your machine. Switching between windows and ubuntu requires a reboot.

1
  • Isn't that essentially the same thing as dual-booting though? I'd still have to "reboot" to switch from one to the other, wouldn't I?
    – Karl
    Nov 10, 2009 at 3:25
1

I'd try to find another PC to put Ubuntu on. A relatively older one should run it fine.

You can join them together and share the keyboard/mouse with win2vnc or x2vnc.

1
  • Unfortunately that isn't that great of an option for me, since I'm using a laptop that I carry all over the place.
    – Karl
    Nov 10, 2009 at 3:26
1

You may be able to tweak VirtualBox to speed it up significantly. If you have a recent CPU, you can enable VT-x (Intel) or AMD-V, and possibly also nested paging. If your processor supports both of these, you should see a significant speed increase. As mentioned by others, you could always try making linux less demanding - use a lighter window manager, or use a distro like DSL or Puppy linux.

1
  • I'll take a good at this options, I didn't mess with them at first because I didn't know what they did.
    – Karl
    Nov 10, 2009 at 3:24
1

I've found virtualizing Windows XP pretty sluggish with a full dev environment running, but maybe that's just because I do that for Flex development which requires Flex Builder which almost instantly consumes all of my VM's allocated RAM. Virtualization is really demanding on your hardware, my next build is going to have 16GB of RAM so that I can virtualize in peace.

I think it would be faster to run a minimal Linux distro like Arch in VirtualBox and use that for running the servers and things like the console commands that generate your skeletons. I use git for all my source control and just push and pull from a remote repo to share code between my VMs, it's just easier that way than setting up something special.

Good luck. I think this approach is much more reliable and straightforward than cygwin or other POSIX implementations on Windows; it generally takes significant fiddling to get those things to work correctly for more than a couple of applications, and I assume if you're going to be running a server you'll have some issues with it.

1

Boxes are cheap, especially something to run Linux on. I have a wimpy little garage server that has only 256MB on it and it runs Ubuntu 9.04 server just fine. You can always network the filesystem so you can use whatever on your Win box to edit, but when you run the code, you are actually running in a Linux environment, no games, no compromises.

Once you've taken the plunge (please return it by Tuesday) you'll find that Linux is far more interesting as a server environment. You can try out nginx, or play around with iptables, or ... The point is, just get a separate Linux box and all of the problems are "solved." And you will be building marketable skills in the process.

2
  • Sounds like a good idea for the future, but for now I'll stay on one machine. I'm not really rooted to one location right now, so then the network lag could become an issue.
    – Karl
    Nov 10, 2009 at 4:11
  • I have websites on dedicated servers on 3 continents and via SSH I can't really tell which is which without looking at my command prompt (which shows the hostname). If you're trying to run X windows over a long/slow connect, then yeah, you'll see a difference, but if you go Old School (vi, tcsh, and a bunch of gopher's spinning in their cages) then there's not much difference between a 15 msec ping and a 150 msec ping. (You can tell by the speed of my response I don't check SuperUser too often). Dec 9, 2009 at 4:38
0

Try VMWare player. It's free and really nice. You can drag and drop between your windows environment and Linux. It's quite easy to use aswell. I'm running Ubuntu and OpenSUSE on top of my Windows XP.

0

Download and run the POSIX subsystem for Windows. It's kinda like Linux.

0

You could stick with Ubuntu in a VM (keep the benefits of broad community support etc.) and try a less demanding windowing environment than Gnome or KDE. Wmii and awesome are, from what I've heard, pretty good. (edit) Forgot about Fluxbox, there's an intro to using it on Ubuntu here.

0

If you're just looking for a "linux-like" development environment, MSYS provides a bash shell and a good handful of development tools that run natively in Windows. Combined with MinGW, lets you compile and install plenty of open source packages.

Alternatively, Cygwin provides an emulation layer which lets you compile and run most linux programs. A bit slower than the native Windows programs you get with MSYS, but better selection of libraries/software that have don't have good Windows ports yet.

0

Why not just develop in windows. Most of the standard opend source tooling Apache, perl, php, ruby, sqlite, Mysql, vim, Eclipse etc. etc. come nicely packed as windows ".exe" install files (in may cases much more nicely packaged!).

The only real pain is occasionally you may have to write a ".bat" file which I thought was pretty awful attempt at a shell for an 8 bit machine and has not improved one bit in the last 20 years.

1
  • Ruby/rails is really sluggish in Windows, and the binaries are a bit outdated. It also gives me weird console issues. I actually started just using Windows but I got annoyed really fast.
    – Karl
    Nov 10, 2009 at 3:23
0

I personally can get by with msysgit, which is a fork of msys, which is a fork of cygwin. Depending on what exactly you need I'd say one of those. it's unfortunate that I've noted incompatibilities between msys and msysgit. I'm not sure if there's a binary incompatibility with mingw and msysgit, but in theory they should work together so I would go with that. Given it doesn't have a package manager... but is enough unix for me on windows... depending on what you really want/need. Otherwise go with a virtualization product.

0

I recommend using Lubuntu http://lubuntu.net/ instead of Ubuntu when running Ubuntu in a VM environment.

I also do not like the speed of normal Ubuntu. Lubuntu is faster especially in a VM. It also just needs about 256MB of RAM to run good.

Only downside: There are no long term releases of Lubuntu. That means you need to upgrade Lubuntu maybe once/twice a year (which is easy with Ubuntu based systems).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .