Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been a Windows C++/.NET developer for a few years, and would like to start C++ programming in Unix environment.

What I think I have to do is to create Virtual Machine, install the version of Unix I would like to programm against, install C++ compiler and the rest of the development environment.

I would also like to be able to login into this Unix virtual machine using some kind of remote desktop access application (I use Remote Desktop Connection on Windows, but I heard that on Unix there is a thing called X-Window which to be used for the same purposes).

Would be gratefull if you could point be to a web site or perhaps outline all the steps I have to perform to get my Unix development environment set and running.

I am planning to do development on Solaris with Sun Studio C++ - but I have been told that these are the commercial products - so if it is true - could you recommend me some opensource counterparts - I guess some version of Linux + gcc C++ compiler would do nicely.

Thank you.

share|improve this question

migrated from Dec 4 '09 at 4:38

This question came from our site for professional and enthusiast programmers.

The key problem here for you is getting the Linux version going. Once that's functional, programming will be simple. I'm going to vote to move your question over to, since it fits in better there. – Paul Nathan Dec 4 '09 at 4:01

Check out VirtualBox for the virtualization environment. Ubuntu should do you fine for the Linux side of things. You can use VNC for remote access to your virtual machine.

Coming from a Windows programming background using IDEs, I think you'd feel comfortable with the Eclipse CDT. If you still enjoy .NET programming, you can do that on Linux too. Install MonoDevelop and the Mono runtime and you're good to go!

share|improve this answer
why is this comment marked up when the user clearly wants to use Solaris and Sun Studio? – Matthew Talbert Dec 4 '09 at 6:02
because if you actually read the rest, you'd see he's also interested in other open source counterparts. – John T Dec 4 '09 at 6:21

Both Solaris & Sun Studio are "free as in beer" to use. You only need to pay for support if you want/need it. You aren't forced to purchase support to use the software, and aren't restricted to "personal" use, either. The "official" Solaris right now is Solaris 10, the "semi-official Solaris" is OpenSolaris, and Sun Studio is also supported on some versions of Linux.

My personal choice for Linux/C/C++ is OpenSuse & Netbeans. I was using VirtualBox for this, but decided to move to a dual boot configuration for better Linux performance since my machine is resource limited.

share|improve this answer
Just to be clear, OpenSolaris is free as in libre. – Richard Hoskins Dec 4 '09 at 6:03

A lightweight solution could be cygwin, which would not require a VM or dual boot. It has gcc, emacs, and other dev tools, but not big IDE's like eclipse and netbeans.

share|improve this answer
If you want to dip your toe into the water, follow John's advice and start with Cygwin. You can program against Posix (?) without having to install a whole OS. – Steve Rowe Dec 4 '09 at 8:14

Any standard Linux distro will have all the developer tools you require. There is nothing special you need to do to RDP in the Linux server. Most come with RDP software as well and you would just need an RDP client to connect to it. Even without RDP you would be able to use an ssh or telnet client to get a terminal on the server.

You can use Netbeans or eclipse as an IDE instead of sun studio

share|improve this answer

Choose one of the major Linux distributions such as Ubuntu, Redhat, or Fedora. Download and install it beside windows—or, better yet, on another system. These distributions all come with g++ standard. If not, just issue yum install gcc as root, or use the package manager to select and install it.

Running Linux in a virtual machine will eventually aggravate yourself trying to use it as a server. It'd be better to run Windows in a Linux virtual machine. And much better to use separate physical machines. To run a X server on windows which provides a Linux GUI desktop on windows (among other things), check out Xming.

share|improve this answer
Why do you prefer Linux as the host? I prefer running *NIX VM's on windows to get better seamless window support. – prestomation Dec 4 '09 at 4:56

For remote desktop access, there's a great product called NoMachine NX. It's free for most uses I believe, if you don't fall under the free category, I heard Google was making an open source version. The server exists for Linux & Solaris (not Windows, as it uses a tweaked version of the native X protocol), but the client is available for Windows as well. I've tried Windows' Remote Desktop and VNC, and NX performed better than both.

As for C++ development, I use OpenSUSE & KDevelop, but C++ is not my primary development language, so better listen to others about this :)

share|improve this answer

The xrdp server for linux allows you to use mstsc.exe /v:LinuxMachine to access your Linux machine from windows.

On fedora: yum install xrdp chkconfig xrdp on service xrdp start

If using VirtualBox, then it can activate port 3389 for you with a checkbox, so that is even easier.

yum groupinstall "Development Tools" //Installs a whole bunch of tools quickly and easily. But wait! There are even more development tools waiting in the repositories.

i can't recommend xming because it seems to have been abandoned and seemed to require you to run as an administrator on windows. One of the biggest advantages of Linux is that programmers do not have run as administrator. It has always been that way.

share|improve this answer

You must log in to answer this question.