Total lazy web question.
If I were setting up a Linux machine for web development, specifically to learn and code with Ruby on Rails, should I go with Linux Mint or Ubuntu Desktop (or some other distro)? And why the specific distro?
Looking for some feedback in the comments.
I’m moving from Windows to Linux and Ubuntu is low frition to setup. It has both server and desktop implementation, making dev enviorment and production enviorment as equal as they can be.
Large community. All packages are more or less there. Good documentation.
That’s why I choose Ubuntu.
Great rationale indeed, Emil. Thanks.
I’m using openSUSE, but you will find more guides, packages and generally support on the net for Ubuntu.
Ubuntu is a great way to start, especially if its your first time diving into development in Linux. Fedora is also great if you’d prefer to go with RedHat.
My personal set up is an Arch Linux system, but would only dive into that if you’re really comfortable setting EVERYTHING up yourself.
Yeah it’s been way too long since I used Linux regularly. Need to the n00b setup for sure.
Oddly I’ve been finding this out myself the past couple of days. I’ve chosen KDE desktop (Sid distro).
It has Ruby 1.9.3 and Vim (vi) installed by default.
NodeJS was a apt-get away.
The terminal and ui was easier to configure than Ubuntu 12.04 which was nothing but a nightmare to deal with.
But this experience is only based on me side loading Linux on a Google Chromebook, so it might not be wholly accurate. Take my comments with a pinch of salt.
*buntu is a good choice. Personally, I use Xubuntu, an Ubuntu derivative (http://www.ubuntu.com/about/about-ubuntu/derivatives) as I can’t stand Unity.
If it helps, I’ve published a basic, quick start guide for setting up *buntu for web development at https://github.com/betweenbrain/linux-stuff/tree/master/xubuntu-12.04-web-dev-setup
Thanks Matt!
If you’re developing for enterprise (i.e., need to replicate Red Hat environment), use Fedora. If it’s less stringent, Ubuntu Server, then add a lightweight graphic environment (e.g., Xfce) if you like.
Mint has the advantage of cinnamon, which you can install over ubuntu unity anyway.
Ubuntu 12.04 is still the lts version, but it doesn’t play nice with AMD drivers. Not legacy ones at least.
Besides the desktop manager, there’s little or no difference between ubuntu, mint or even debian. Imho.
Mint is based on Ubuntu but comes with extra goodies. It’s all the same under the hood. If you have the time try a couple of live CDs, and see which UI you like better, then install that.
I’m concerned about compatibility more than anything. i.e: making sure that things work. Seems Ubuntu is mentioned regularly when compat comes up.
I would say that Ubuntu would be the best bet. It provides easy transition with lots of documentation for both the desktop and server. I love it!
I use a virtual machines hosted on my pc, it makes it portable and allows to replicate our production environment.
VMs of which OS?
VMs of Debian, installed headless, no graphical interfaces. I really like the separation between desktop and server functions.
If you do any serious Ruby/NodeJS work then forget built-in packages. Ruby has been notoriously bad for distro packagers (http://www.lucas-nussbaum.net/blog/?p=617) and NodeJS is moving too fast to newer versions at the moment. You are likely to need run multiple versions of them which is not possible with most package managers. Distro packages are meant to be stable (read: ancient) dependencies for other packages.
You will need a good stable base system and the best text editor you can get. And get a 64-bit system then you can run docker containers. These are like virtual machines with almost no overhead. Docker makes it possible to install various combos of apache/nginx/mysql/mongodb/redis/nodejs/ruby/rubygems without them screwing up each other or your base system. I strongly recommend to check it out.
My choice for distro/text editor has been Slackware/Kate. I deploy to Debian and Slackware in production. For dockers I use Ubuntu as the base image.
Will check out Docker for sure. What about RVM though? I thought that was supposed to manage Ruby versions.
RVM would probably work for Ruby. These days I do not do much Ruby work. Most of it is just maintaining a Redmine installation for myself and my clients. There is also bundler which manages gem sets but makes basic commands more complex. RVM does not seem to use bundler but manages gem sets itself so it might be better.
How about Elementary OS? It’s beautiful. :)
Looks nice but never heard of it. What’s the level of support/compatibility for Ruby on Rails and Node?
There’s little or no difference between ubuntu, mint or even debian.
I’d also suggest going with Ubuntu and in particular a LTS (long term support) version.
Ubuntu 12.04 will be supported out to 2017 I think.
I’d also suggest if you have a beefy enough machine to setup inside a VM. This way you can easily try various distros and figure out which one you like. I just got a new laptop and went through a bunch – Crunchbang, Elementary, all the Ubuntu offshoots (xubuntu, lubuntu), CentOS, etc. Ended up going with a vanilla Ubuntu 12.04 install – boring but it’s stable and it works :)
Jim, did you go with 12.04 because of LTS? Why not 13.10?
Checkout elementryos.com.
Such a pleasure.
A big factor is the server environment you’re targeting while trying to get better desktop user support for everyday use.
Some distros put more emphasis on server use (including being commercial options) while others concentrate on a better desktop experience, hence the following pairs:
Red Hat -> Fedora or CentOS
Debian -> Mint
SUSE -> openSUSE
Ubuntu was a great beginner’s choice back in the day, but since Canonical started to screw with things just to put their own mark on it I personally avoid it like the plague.
In the end it all comes down to personal preference if you don’t have to target any existing servers.
For me, I prefer to roll my own distro through linuxfromscratch or SuseStudio where I can focus everything to what I want and not worry about anything else. However, as everyone above is pointing out, it is all down to personal preference.
Personally I find Mint to be a bit more lightweight than Ubuntu.
But if you are starting I would suggest Ubuntu just cause of the ease and getting used to apt-get to install stuff.
Jetbrains rubymine also runs on Ubunutu, and using rvm to mangage ruby version is fairly simple on Ubuntu. Node runs fine on Ubuntu also.
Why you want to switch to *nix?
For me Windows 8 with Hyper-V (for some testing VMs) and Aptana studio are nice and working solution for Ruby developing (using for developing Chef cookbooks).
Also, using VM for nodejs or any other testing environment is easier – you can go back in matter of seconds with snapshot revert. It’s better than using your physical machine (especially *nix where dependencies are changing and once update some package you don’t know what will be broken afterwards)
I used Ubuntu for years, but to me Unity has become the greatest UX disaster of this decade. Tried other desktop envs (this useful graphic should help : Memory Usage in Ubuntu Desktop env – https://pbs.twimg.com/media/Bf8IuZ8IYAArrJQ.jpg). Finally switched to OS X + vagrant (ubuntu server). Never found such a great env: It just works, & I just work.
I have been doing web development for a long time, using openSUSE Linux: Extremely Stable, Powerfull, All Packages you really need in the Repositories, very friendly support in the forums from some high-power techs.
I also test the sites using the MS-supplied VirtualBox VMs with various IE and Win versions.
I use several Linux versions (most of the ones mentioned here, and several others) for differing purposes.
By far, most satisfaction from openSUSE. Use it for lots of Multimedia and Photography work, as well.
Gerry
Fraser-Bell Info Tech
Well, if it’s for a quick and proper working experience, ie. you got not time to fiddle and twiddle around with it, then choose Linux Mint. Extreme fine-tuning can still be done afterwards.
But if you’d like to play around a bit more, then try one of the many toasts of LinuxBBQ. IMHO, the base Trollinger and its successor plus the XFCE-based varations should work best. Another valid option also would be Crunchbang Linux.
Personally I’m using Linux Mint 11 on my workstation, and GNU/Debian 6.0 on my notebook. The latter one will probably soon be updated with LinuxBBQ or Crunchbang. If that works out well, my main system (first one, ie. the workstation), is going to be updated with one of them as well. Prolly with a XFCE base thou – so far that has been the best compromise between performance, proper window management and the regular windoze-ish interface we all learned to love. Or at least, not hate ;)
cu, w0lf.
ps: Screenshot of my current work enviroment: XFCE in black and some opacity: http://oxygenius.deviantart.com/art/Desktop-2013-07-26-388289571
pps: My regular IDE (Geany): http://oxygenius.deviantart.com/art/Current-favorite-source-code-editor-388286257
Hi Rey:
I’m not a coder or programmer (since my Fortran circa 1970 doesn’t count these days), but I have played around with several Linux distros over the past 8+ years.
For a solid, highly-compatible distro with superior & friendly user support (via Forum), frequent & effortless updates (and with quarterly iso releases) with 32- and 64-bit architectures and multiple window-manager choices, there’s none better than PCLinuxOS. It is indeed true to it’s “Radically Simple” tagline.
I use the Full KDE 64-bit variant of PCLinuxOS. They have LiveCD (d/l the iso you want -> burn to DVD) you can try w/o install, and when you’re ready, boot the LiveCD and run the installer.
The laptop I’m writing this from is triple-boot: Win7 x64, Win8.1 x64, and PCLinuxOS x64 KDE (w/ Win7 x32 Enterprise running as a VM inside VBox). Of course, PLinuxOS is my preferred OS on this lappy – runs great!
I suggest you wait a few days for the 2014.3 (1st quarter) PCLinuxOS ISO releases to come out (they’ll have all the updates since December 2012.12 baked in), then grab the PCLOS variant of your choice via bit-torrent. Enjoy!
http://www.pclinuxos.com 100% FREE too!