Ask HN: Linux on Windows?

6 points by jfdi ↗ HN
I work on my windows (7) laptop for job #1 and find myself constantly missing having unix behind the scenes like on my powerbook to just pull up a terminal and go.

I need to be able to do my work on windows but would like to have a unix terminal around in the background. Cygwin doesn't do it for me, it's not full bodied unix experience - i miss seamless package management, certain resource & network toolchains, and other things critical to effective hacking.

What I really want is linux running behind the scenes (virtualbox, but hidden?) with the option to pull up a terminal (putty?) and crank. VIM inside and a few symlinks & scp ops later I basically can get in & out with whatever I need to.

Is there such a solution? Is the best thing really virtualbox running some really basic batteries excluded (except apt, gcc, etc) version of linux? Which distro would that be do you think? I'm thinking maybe I'm missing something and there's a better answer.

11 comments

[ 3.6 ms ] story [ 34.5 ms ] thread
Would running Windows in Virtualbox be an option? Then you have the full power of a unix-like system, yet, you still have access to windows.

If not, and you really wish to go the other way around, then Debian is the distribution you're looking for. It has all the basics, apt included, without all the bells and whistles you don't neccessarily need (but, if you do want them, they're an apt-get install away).

I do believe that a linux host, with a windows guest would feel superior, if you were missing the unix background.

As long as you don't really need to interact with windows more than a shared folder I'd go with virtualbox headless.

Since it is a laptop you can set it up to have one network card be NAT for the internet and the second be host only so you have a dedicated local ip to hack on no matter what network you are on.

I believe my setup when I did this was the first card was NAT with dhcp and the second card was a static ip and I believe all you needed in debian was to specify the address for card 2.

vmware has the option to start on boot though and it might work better for headless servers, I haven't used that in a long time though.

What I do is run VirtualBox all the time. All my code and other things live on the VM, and I mount a bunch of network drives via Samba. I get the ability to use both windows and linux tools, with minimal overhead.
If you wanna run Linux inside a VM then you should definitely consider Arch Linux.

It's got all the basic Unix tools you've mentioned plus an extremely simple package management system. Most of the system configuration lives in a single file (/etc/rc.conf). If you need help, there are lots of very high quality articles on the Arch wiki (http://wiki.archlinux.org), and the folks at #archlinux on irc.freenode.net are super helpful.

just like your doing with virtualbox. thats fine

next do this

* make sure you're using bridget network adapter (in the vm settings inside the virtualbox gui)<br \>

boot your linux image in virtualbox. login root , set up a ssh server.

> if deb apt-cache search sshd , if rhel/centos yum search sshd, then go ahead install...

obtain the IP: (type ifconfig) and then you may go ahead , minimize the virtualbox (like hidden),

* crank up a putty terminal via ssh and login baby!

Related to the VirtualBox recommendations: Take the time to read the VB manual. It's actually fairly well written. Get to know the VB networking options; they're fairly extensive.

(And, of course, make sure you're not committing a "termination offense" with your set-up (and/or that you can maintain security as well as live with any personal consequences) nor are you forgoing any needed licenses or running afoul of licensing implications.)

I have been in your situation and used VmWare Player + Ubuntu Server with a PuTTY session(s) for terminal access. It worked really well for me.

If you have good internet access, then running an AWS micro-instance can be a very good alternative. The nice feature of that arrangement is that you can do some heavy duty processing without bogging down your windows laptop.

I haven't tried it myself but I think you may try Ubuntu Windows Installer (http://www.ubuntu.com/download/ubuntu/windows-installer).

This is what they say on their website :

If you’ve got Windows, you can run Ubuntu within your current system with the Windows installer (Wubi). That way, you can install and uninstall Ubuntu in the same way as any other Windows application. It's simple and safe.

>need to be able to do my work on windows but would like to have a unix terminal around in the background.

I am running ubuntu now this way. But you have to be either in the ubuntu environment or the windows one....not both.

However http://www.andlinux.org/ should solve this.

Use VirtualBox + your preferred Linux distro (I use Linux Mint).Once you have Linux installed on VB just switch to Seamless mode, this will somehow integrate the 2 operating systems. Google for VirtualBox seamless mode and you will find more details.

For e.g. you will be able to see on top of your Windows 7 desktop a Linux Terminal.