marnen: (Default)
2014-03-21 01:35 pm
Entry tags:

Get my Rails development environment set up on Elementary OS

I'm getting my Rails dev environment set up on Elementary OS. That means SublimeText, RVM, PostgreSQL, Git, and Zsh.


These are some quick thoughts about the installation.


SublimeText downloads a usable binary, but there's no automated way to get it into the application launcher menu (which I believe needs creation of a .desktop file). Fortunately, a Web search turned up both some .desktop files for SublimeText and something even more convenient: a PPA that automates the whole process.


RVM and Zsh also installed easily. I also installed GNOME Terminal (because it's more configurable without resorting to editing config files) and App Grid (because Software Center is slow and crashes).


I tried to install PostgreSQL 9.3, but kept getting postgresql-common version conflicts. After a lot of time wasted in Web searching, I finally wound up forcing compatible versions by doing sudo apt-get install postgresql-client-common=154.pgdg12.4+1 postgresql-common=154.pgdg12.4+1 postgresql-9.3. Why did apt-get have to be so boneheaded? Why couldn't it determine that version 154 was available in the sources it had?


PGAdmin installed well, and I was able to use it to connect after configuring the Postgres superuser to have a password (why isn't Postgres installed like this out of the box?).


I also installed gitg, which looks like a nice replacement for GitX on Mac OS, though I'd prefer that the branches were in a sidebar, not a menu.


Ruby gems mostly installed as expected. I had to install the libxml2-dev and libxslt1-dev packages to get Nokogiri to build, and Curb (unsurprisingly) required libcurl4-openssl-dev. The pg gem, of course, required libpq-dev so it could talk to Postgres, and RMagick required libmagickwand-dev.


At this point, VM performance was getting kind of bad, so I raised the RAM to 1.5 GB. Hopefully that will help.


When I tried to run Rake on one of my Rails projects, I found that it needed a JavaScript runtime. Information I found on the Web led to me installing the nodejs package, which did the trick (and also means I can play around with Node development, which I've been wanting to do).

marnen: (Default)
2014-03-19 06:17 pm
Entry tags:

Tweaks!

There are a couple of things I'd like to change about the look of Elementary OS. In particular, while I like Droid Sans, I think it's too narrow to look good as the title bar font on Mac-inspired windows (compare to the Mac default of Lucida Grande, a much wider font). So I'm gonna install Elementary Tweaks and play around!
marnen: (Default)
2014-03-19 03:01 pm
Entry tags:

Chrome and fonts

One of the first things I did after setting up the Elementary OS VM was to install Google Chrome, my favorite Web browser. As I would have expected from Google, installation was a snap: the Download link on the website downloaded a .deb package file, which opened in Software Center and automatically started installing like any other self-respecting Ubuntu/Debian package, creating an icon in the Applications menu when it was done.

Neither of the supplied themes looked that good, though, so I went looking for others. I eventually found the eGTK Chrome/ium Theme, which is designed for Elementary OS and looks pretty good.

But there was still the problem of fonts. Elementary OS Luna, like every other Linux distribution I've seen, comes with a strange selection of fonts, and many Web pages look terrible as a result (Liberation Sans and Mono are especially ugly). As a first step, I thought I'd see about installing the Microsoft Core Fonts for the Web.

As a zeroth step, though, I realized that I wasn't sure what fonts I had. Luna doesn't appear to come with a GUI font management utility, so I installed Fontmatrix from the Software Center. I was pleasantly surprised to find out that I had more fonts installed with the OS than I thought, including some nice script and display fonts.

Anyway, the Core Fonts are available as the ttf-mscorefonts-installer package, and so I tried to install them through Software Center. The package hung about 2/3 of the way through, though, and Software Center became unresponsive. When I right-clicked on the Dock icon for Software Center, I got asked if I wanted to force-quit it, so I did.

When I relaunched Software Center, it took longer than usual to be ready for input (I assume it was recovering from an inconsistent state), but then surprised me by saying that the package had actually been installed. Turns out that package is only the installer for the Core Fonts, and it doesn't create an icon in the Applications menu, so I attempted to run it from the command line. But there was no executable in my path called ttf-mscorefonts-installer.

I removed and reinstalled the package. This time it appeared to work, but Fontmatrix didn't show the fonts. From some of the reviews, I believe that the package requires acceptance of a license agreement, but I can't find a way to do that in Software Center (so why did it say that the package installed?).

I tried removing and reinstalling from the command line (after editing the sudoers file to let me run sudo) and that worked. I was going to take a before-and-after pair of screenshots, but here I ran into an interesting problem.

You see, Luna has a lot of useful keyboard shortcuts, but they're not all that well documented. I finally found out that PrtSc will take a screensshot on Luna, but I'm using a Mac keyboard without a PrtSc key. I searched through the forums and asked on IRC to find out if there was another way. It looks like someone suggested Cmd-P as an alternate key, but I don't think this was ever actualy implemented.

However, it looks like the Keyboard pane in System Settings will do the trick. I remapped all the screenshot keys to various combinations involving Cmd-P: Elementary keybindings

And so now I can make screenshots before Before Core Fonts and after After Core Fonts installing the Core Fonts. Looks much better, no?

marnen: (Default)
2014-03-19 02:28 am
Entry tags:

Elementary OS VM installation

Liveblogging my installation of Elementary OS. (Well, almost live: I'm editing as I go, but not posting till the process is complete.)

Note: Download times shouldn't be taken as gospel. I'm using the public Wi-Fi at King Sauna, and who knows how fast that is? Also, the act of blogging slows everything down a bit.

12:21 a.m.
Start downloading VirtualBox so I can create a VM.
12:24
Download done.
12:26
VirtualBox installed.
12:27
Click "New" in VirtualBox to create a guest image.
12:29
I picked Linux, but then it asked me what type? The logical choices seemed to be either Ubuntu (which Elementary is built on) or "Other Linux". No useful info on the Web, so I'll go with Ubuntu and see what happens. Also going with the recommended settings for RAM (512 MB) and virtual HD (8 GB, VDI format, dynamically allocated).
12:32
VM created. That was painless. Now, do I have to start it to install the OS from an ISO image? I'll check on this while downloading the ISO image.
12:34
Downloading what they describe as the 64-bit build of Luna. Uh oh, the file has "amd64" in its name. Will it work on my Intel Mac, or will I have to get the i386 build instead?
12:36
OK, apparently I can install an ISO image before starting the VM. I think I knew this at one point, but had forgotten it. :P
12:41
Insert newly downloaded ISO image into VM's virtual CD-ROM drive; start VM.
12:44
01 Booted
VM booted with no problem. Now to run the Luna installer.
12:50
Installed as follows:
  • 02 Install 1
    Checked the options to install updates and possibly proprietary Flash and MP3 players (neither was checked by default).
  • Allowed the installer to erase the entire virtual HD and partition it the way it wanted.
12:56
03 Crashed
WTF? The installer crashed.
1:03
A quick Web search suggests that this is not an unheard-of bug in the Ubuntu installer, but I haven't seen a solution yet. When I clicked to dismiss the crash messages, eventually I wound up in a live desktop session so I could diagnose the problem…
1:06
Performance in the live desktop session is so abysmal as to be unusable (I suspect that this is an artifact of VM performance, not of Elementary itself). Gonna reboot the VM and retry.
1:08
VM rebooted. This time, I'm going to run a live desktop session first, so I can make sure that things are working OK.
1:09
Looks good. Performance is incredibly snappy, and I was able to open Midori (the included browser, WebKit based) and load Web pages. Great. Retrying installation. If that doesn't work, I'll give the VM more RAM.
1:11
Hmm. As soon as I ran the installer app, performance went all to hell. Maybe there's a VirtualBox issue.
1:13
Same crash. Doubling VM RAM to 1 GB.
1:17
I guess that was the problem. Installer is now working.
1:19
Nice. There's even a "detect keyboard layout" tool that has you press some keys and answer questions about your keycap labels. (Of course, I have a boring US English keyboard…)
1:23
04 Installation progressThat's kind of annoying. I clicked the disclosure triangle during installation, but it doesn't look like the terminal-like window that shows up is actually expandable to the point where I can see what's going on.
1:26
Installation complete. I still have to add VirtualBox Guest Additions so I can make the Documents folder on my Mac visible to the VM.
1:28
On reboot, I had to virtually eject the virtual installation CD before Elementary would finish booting. :) Once that happened, boot and login proceeded flawlessly.
1:30
Shutting down VM so I can install Guest Additions.
1:31
Hmm, maybe I didn't have to shut down. So how do I install the additions?
1:32
The OS alerted me that I needed to update language support modules. Nice.
1:35
Following the instructions to install Guest Additions.
1:36
apt-get returned a surprising error: dpkg: error: dpkg status database is locked by another process. Retrying…
1:38
Worked on retry.
1:40
05 File managerNice file manager! Looks like the Finder and saves me from having to mess with mount points. But why isn't it in the Dock by default?
1:43
I had to run the Guest Additions installer with sudo. Not too hard to figure out, but I wish the instructions had said so.
1:44
Guest Additions installed.
1:53
Got my shared folder automatically mounting.
2:00
I need to add myself to the vboxsf group so I can read the shared folder. I'd like to do this without the command line, but there's no group manager in the System Settings application.
2:02
Ah, I found the User Accounts pane. I'm just not used to the way scrolling works here yet.
2:03
User Accounts doesn't do anything with group membership. Grrr.
2:05
I could do this from the command line, but it's a good excuse to look for other tools in Software Center. I like the Apple App Store-type interface, and I found an application called KUser that looked promising, but the reviews suggest it isn't worth it.
2:09
sudo usermod -a -G vboxsf marnen
2:11
But I still can't read that directory unless I'm root, even though I'm in the right group and permissions are rwxrwx---. Why not?
2:12
Apparently group membership is read at login. In 2014, why do we still have operating systems that work this way?
2:14
Logging out and in did the trick. Now, can I make a symlink to it in the file manager the way I can in the Finder with Cmd-Opt-drag?
2:23
Gah! Why is Files so poorly documented? And there's no OS help center the way even KDE had years ago?
2:25
Giving up and making the link from the command line.

OK, that's enough for basic OS and VM installation. Elementary looks good, but documentation is a little sketchy. At the same time, this is more usable and more attractive than any Linux I've so far worked with. We'll see how it performs over the next month.

At some point I should boot my Mac from an Elementary live CD to make sure it can see my Wi-Fi device…

marnen: (Default)
2014-03-19 12:13 am
Entry tags:

Can I get rid of proprietary software yet?

I've long since stopped using virtually all commercial software on my computer; there's so much good open-source stuff out there that I don't really feel like I need to spend money for software anymore (if anyone wants a list of what I use, let me know and I'll put one together). What isn't open-source is at least free as in beer (e.g. SublimeText and Chrome). But I still use Mac OS X. Why? Well, because it's very good. It gives me a full BSD Unix environment, with a GUI on top that was designed by people who actually care about making usable GUIs. I've never that much liked any of the Linux GUIs I've tried.

But I don't like some of the changes Apple is making in Mavericks, notably the fact that I understand contacts will only sync from my iPhone if I use iCloud (please correct me if I'm wrong about this). I already use and love Google Drive; I don't need an iCloud account too, do I?

So in looking around to see about current open-source GUIs, I came across Pear OS, which looks like a wonderful Mac-like desktop environment for Linux. Unfortunately, it was taken away recently (how can an open-source project be taken away, anyway?!?), but there's also Elementary OS Luna, which looks great.

In order to test this out, my plan is to install Elementary OS in a guest VM on my Mac. Then I'll see how much I can do without switching out of the VM, and how much I like the user experience. If I like it, I'll probably reformat my Mac hard drive to boot Elementary OS, with Mac OS X in a VM.

I'll try to work with Elementary OS for a month or so at least, and I'll attempt to blog about my experiences here (though I'm notoriously bad at keeping blogs up to date…). Watch this space!