System76 Gazelle Pro review

February 2, 2014

In November I purchased a Gazelle Professional laptop from System76.  I’ve waited a few months to review it because I wanted to live with it for a while.  Since I may gush a little bit, I’ll note that this review is unsolicited and completely uncompensated; I just like to point out when a company’s doing something right.  I decided to go with System76 for my new laptop because of their dedication to open-source software — they use Ubuntu and only Ubuntu on all of their systems.  I went with the Gazelle Pro, well, because it was the cheapest.  At $749 it’s significantly less than the average Mac, but significantly more than a lower-end Windows system.  Since I was already using Ubuntu exclusively on my desktop and old laptop, it was a no-brainer for me.  The only extra I sprang for was an extra battery, since I’ve had problems with past laptops, but there are a number of fantastic upgrades, including SSDs at decent prices for being part of a prebuilt system.

The system boots to the login screen in about 20 seconds, with another 5-6 to load my desktop, which means from a cold start I’m up and running in under 30 seconds.  Shutdown takes significantly less time, about 10-12 seconds from the time I click the  Shut Down button.  The system also supports suspend/resume, but not hibernate.  Battery life during heavy use is a full 3-4 hours, with up to 6 for less power-intensive programs (e.g., web browsing).  I leave it suspended overnight on a regular basis, with no significant decrease in battery charge the next day.

The chassis is an attractive brushed metal finish (though actually plastic), gray with a slight purple tinge in color.  I’d prefer a heavier duty chassis for $700+, but I haven’t had any wear issues yet (maybe I’ll report back in a couple years).  I will say that the fact that the screen is set back from the body (it folds back behind the keyboard, rather than sitting on top of the body) leads me to believe that the hinge will hold up better under strenuous use than the Dells I’ve worn out before.  The 1920×1080 display is really, really nice, and since everything comes preconfigured I didn’t have to do any messing around with display drivers.  The 2MP built-in webcam works great, though I’ve had similar problems with Skype on this computer that I’ve had with other computers running Skype on various versions of Ubuntu (dealing with either echo or no sound at all, intermittently).  The built-in speakers are a little quiet for me, but of course with laptop speakers you’re not going to get great sound quality anyway.  I haven’t used them yet, but I like that the system includes an eSATA port and two USB 3.0 ports (plus an extra 2.0 one).

As far as software goes, the system has worked great so far.  Everything’s nice and fast, the graphics card handles HD video just fine.  I have had a little bit of an issue with software updates: whenever I try to use the graphical interface, it tells me to check my internet connection.  I haven’t investigated the issue further since I usually just use the command line for this anyway.  I’ve had no problems with wifi connectivity, and an improvement over my previous laptop running Ubuntu is that the connection is already established as soon as I open the screen, rather than having to wait for it to reconnect.  While I haven’t used the Bluetooth connection yet, I love that this is available.

Probably the only aspect I was underwhelmed by is the keyboard and the touchpad.  The chiclet-style keyboard (plus 10-key!) is nice, but the keys themselves feel fairly light (I’m talking about the keys themselves, not the tension, which is fine).  I usually like a little more substance in my keys.  I’ve also found that some of the keys don’t register if I touch them too lightly, especially the bottom row (okay, obviously this is theoretically true for all keyboards, but this is the first one I’ve ever had this problem with).  The touchpad is nice and big, with left and right buttons below.  However, I have two issues with it, both of which are related to my personal preferences.  I like side scrolling rather than two-finger scrolling, and it’s hard to zero in on the scrolling part of the touchpad when this is in use (possibly because the laptop ships configured for two-finger scrolling).  I also prefer tap-to-click, rather than always using the left button.  With the sensitivity configured reasonably for pointer use, I’ve found that I often end up clicking on things I didn’t mean to click on (especially when trying to scroll), or, conversely, it takes a few taps to actually get it to register a click.

Overall I’ve been very happy with this laptop so far.  Despite a few things I consider imperfections, I absolutely plan on going back to System76 for any and all future prebuilt systems (and of course I’d love to at some point try out their higher-end models).  It helps that they’re a company dedicated to great customer service and social responsibility (they spend a lot of time and money rehabilitating old laptops for underprivileged students).  I think the Gazelle Pro is also a great introduction to Ubuntu for people who are interested in switching from Windows or Mac but don’t want to have to install and configure the system themselves.


SSH (Secure Shell) is a method of connecting to a computer remotely, giving you (depending on user permissions) full access to the files on that computer.  Obviously this is a huge security risk — if someone cracks your password, they’ll have complete access to your computer.  For this reason is generally recommended not to use passwords at all with external SSH connections, and so I’ll just be mentioning using SSH to connect to other computers on your local intranet.  Why use SSH?  While Windows has all sorts of relatively easy (and head-bashingly buggy) tools like “Network Discovery”, Ubuntu doesn’t default to easy intranet sharing like this.  In fact, this was one of my biggest frustrations when I first switched to Ubuntu, until I found SSH.

To install SSH, simply type “sudo apt-get install ssh” at the command line.  As usual you’ll be prompted for your root password.  Unless you already have ssh installed you will be prompted to download and install the package.  Once the ssh package is installed, you can use it either from the command line or directly from your workspace.  Unlike many utilities, I don’t usually use ssh from the command line.  I like visual file managers, so I like being able to use Nautilus to browse the files on the computer I’m connecting to.  To connect, I select “Connect to Server” from either my workspace or a nautilus window.  Then I enter the IP address of the computer I want to connect to.  This is information you can get via ifconfig on the computer in question, and will probably (depending on the size and topology of your network) be something like or 10.0.0.x, etc.  For “type” I select “SSH”; doing this automatically fills in the default port number of 22.  I leave the folder as root (/) and enter my username and password for the computer I’m connecting to.  I click “Connect”, and nautilus opens a window showing the file structure of the computer.  That’s it!  Now I can open and edit documents on the remote computer.

I’ve found this to be the easiest way to read and edit files on my desktop computer.  Certainly there are other ways, but if I use SSH to connect to my desktop, say, from my laptop in the living room, I can easily access everything I need, not just files I’ve put in a shared folder.  The method for connecting to your computer from outside your local network is more complicated and much more dangerous.  Typically if you’re going to try this you want to use keys instead of passwords and possibly also change the port used for SSH on the computer you’re connecting to.  I’ve never actually tried this, but it will be something I cover in a later post when I get around to working through the process.

restarting network-manager

August 17, 2013

When you boot up your computer, there are a lot of programs running behind the scenes that start up to govern all sorts of background processes.  Most of these aren’t “programs” that you can open and close, so when something goes wrong with one of them, it’s not as simple as clicking a button to close or restart the service.  These, one of the most vital on a Linux system is network-manager.  This is the service that controls your network connections and gives you a graphical interface to select wireless networks, enter passwords for secured networks, etc.

The other day my network-manager suddenly stopped working.  While I do a lot of networking stuff from the command line, I almost always use the GUI for connecting to and disconnecting from wireless networks.  This time, clicking on “Disconnect” or “Connection information” didn’t do anything.  Luckily, it’s easy to restart the network-manager service if it stops responding for any reason:

Open the terminal and type “sudo service restart network-manager”

It’s as simple as that.  This is also the syntax for restarting most any misbehaving service or program.

LaTeX on Linux

June 8, 2013

As I’ve mentioned in previous posts, I use TeXWorks for pretty much everything other than taking brief notes.  However, if you’re going to use it for much more than basic formatting, you’re probably going to need to install some extra packages other than the preloaded stuff that comes with TeXWorks.  The best package for Ubuntu, and the one that includes most of what you might use on a regular basis (including tipa, a package for typesetting IPA symbols, which is probably my most frequently used package), is the texlive-full package.  To install this in Ubuntu, you can open the terminal and type “sudo apt-get install texlive-full”.  This will prompt you for your sudo password and then install the package, which might take a while since it includes a whole bunch of stuff.  Remember that the apt-get service is the same as the Ubuntu Software Center service, so you can’t be running both at the same time; you’ll have to exit the Software Center if you want to install something with the command line.

I won’t go into a whole discussion of how to use TeXWorks here, but I’ll just add a reminder of how to use a package in LaTeX.  Extra packages you want to load have to go in the preamble/header, right after the \documentclass{} command.  So, for instance, to use the tipa package, I add \usepackage{tipa} immediately after my \documentclass{} declaration.  Some packages are picky and need to loaded before or after other packages, because of definition updates run by various packages.

using the terminal

June 2, 2013

One of the things that scares a lot of people about using Linux, and one of the things that makes it such a flexible and powerful set of operating systems, is the command-line interface or terminal.  As I mentioned in a previous post, I’ve never been scared of a monochrome blinking cursor, and I loved using DOS when all I knew was how to type “cd”, “dir”, and the few programs I ever used in the 80s (ah Wordperfect 4.1).  That’s a good thing, because you absolutely have to use the terminal if you’re going to use Ubuntu or any other Linux distribution as your primary operating systems.  Things will go wrong, you’ll have to compile from source code, you’ll accidentally set recursive file properties on your system files, and even if you don’t want to, you’ll have to use the terminal.  So I thought I would give a brief description of the last 3 commands I’ve used in my terminal on Ubuntu.

First things first: in most version of Ubuntu (and several other distributions), you can open the terminal with the keyboard shortcut Ctrl+Alt+t.  You can also access it by clicking on the Dash (if you’re using Unity as I am) and typing in any portion of “terminal”.  When you open it you’ll see something of the form <user>@<machine>.  For instance, if your username is cthulu and your computer’s hostname is rlyeh, you’ll see cthulu@rlyeh.  The default default location (not a typo — I mean the system default for the default folder you’re in when you open the terminal) is your home folder, so after a colon you’ll see ~, which is shorthand for your home directory.

We don’t want to be limited to our home directory, so I’ll introduce the first basic command, which easily enough is the same as for Windows: “cd”, which stands for “change directory”.  For instance, if I want to change into my Downloads directory, which resides in my home folder, I could type “cd Downloads” (remember: commands and folder names are case-sensitive).  If I want to get back to my home folder from anywhere, I can just type “cd”.  Okay, now I want to actually see what’s in my Downloads directory.  This command is different from Windows: “ls”, because we’re listing the contents of the directory.  By default ls only lists non-hidden files and folders, so if you want to see everything you’ll have to do “ls -a”.  This shows all files and folders.

Okay, now I’m bored and want to actually do something instead of just listing files.  The utility I use probably more than anything (including cd and ls) is ping, which sends ICMP packets to a target IP address and logs how many of them were returned and how long it took them to get back.  ping is used to test network connectivity.  For instance, if your computer won’t connect to the internet, and you want to know if your computer is properly connected to the router, you could ping the router.  If you’re connected, you should get all or most of the packets back, and the times should generally be 5-10ms if you’re using wireless and are some distance from the router.  Less than this is great, much more typically indicates radio interference or network congestion.  If you’re on a home network, the router IP address is probably, though it may also be  In my case it’s the latter, so if I want to test my connectivity I type in “ping” in the terminal, and I start getting responses like “64 bytes from icmp_req=1 ttl=255 time=1.43ms”.  The most relevant part of that for our purposes is the last bit: “time=1.43ms”. This means the time it took my computer to send an ICMP packet to the router and get a response back was a little over a thousandth of a second: great!  The default for Linux systems is to continuously ping, so if you enter the above command, it’ll just keep going forever and ever.  To stop this (or any other running process in the terminal), you can hit Ctrl+c — which, incidentally, is why you can’t use keyboard shortcuts for copying and pasting in the terminal.  If you want a specific number of pings, for instance the Windows default of 4, you can use “ping -c 4”, where 4 is the number of ICMP packets that will be sent.

Okay, we’re done!  Now I type “exit” and the terminal closes itself.

I started using LaTeX while working on a qualifying paper as a graduate student at Rutgers.  At that point I was still using Windows and Word, and I just couldn’t get the paper to look like I wanted it to in Word, despite having used it for a decade and having taught it to high school students for a year.  That’s not to say that I couldn’t have done it in Word, just that even after a decade I found Word completely unintuitive and difficult to customize.  Switching to LaTeX made it possible for me to end up with a document that looked professionally typeset and appeared exactly as I wanted, with little explicit formatting on my part.  LaTeX also eased my transition to Ubuntu, since I could continue using TeXWorks, whereas I wouldn’t have been able to continue using Word (at least not without Wine).

Before I switched to TeX I was afraid it would be difficult to compose in, since TeXWorks and other TeX editors aren’t WYSIWYG, so you don’t see things like italics or font faces in the document you’re editing.  However, for me it didn’t take long to adjust to typing in the editor on the left side of the screen and hitting Ctrl+t whenever I wanted to see what the formatting looked like (Ctrl+t typesets the document and also saves it).  Another nice feature is that converts from WYSIWYG editors don’t have to give up their little red underlining for misspelled words.  You just have to have to right spelling dictionary installed and then tell the editor to use that dictionary (under Edit > Spelling).  Unfortunately, the current default version of TeXWorks for Ubuntu only comes preinstalled with spelling dictionaries for British and South African English (who knows why — the last default package had only Canadian English).  Oh noes!

Luckily it’s not difficult to install a new spelling dictionary.  What I was looking for is the US English dictionary — en_US.  This consists of two parts: en_US.aff and en_US.dict.  These files are included in the OpenOffice en_US spelling dictionary available here:  You’ll have to download the file, then extract the contents using, e.g., Archive Manager.

Once you have the two files (en_US.aff and en_US.dict) you’ll have to copy them to the correct location.  For Ubuntu this is /usr/share/myspell/dicts.  Copying to this directory requires administrative privileges, so I recommend copying them using the terminal (I’ve gotten myself into trouble using the Nautilus file browser as root).  To do this you’ll use the copy utility: sudo cp <file location> /usr/share/myspell/dicts.  In my case I had the files in my Downloads folder of my home directory, so the exact command I used was sudo cp ./Downloads/en_US.aff /usr/share/myspell/dicts.  Do this for both files, and you’re done!  After restarting TeXWorks you’ll be able to select the en_US spelling dictionary and spellcheck your work in US English.


May 18, 2013

One of the big changes for me when I was switching from Windows to Ubuntu was finding a new mp3 player.  I’ve always favored small, lightweight programs rather that the clunky stuff that comes bundled with pre-built computers and Windows (e.g., Windows Media Player).  I used Winamp for about 10 years, and loved it.  I organize my mp3s in individual folders because I have an inherent distrust of logical organization like virtual libraries or databases used by programs like iTunes and RhythmBox, so I wanted something simple like Winamp.  For this reason I was immediately attracted to Audacious (available through the Ubuntu Software Center), which has a Winamp mode that looks and feels a lot like Winamp.

Ultimately I abandoned the Winamp emulation for the standard Audacious skin.  It’s lightweight and easy to use, and you can easily customize what information about the song it shows.  Like Winamp, it has a small optional visualization app that sits in the corner of the program.  One of the key features I require in an music listening device (hardware or software) is EQ.  The main reason I never use any kind of cloud music apps or internet radio is because I can’t stand anything under 192kbps, and I can’t stand not being able to adjust the EQ on a song.  Audacious has a good 10-band equalizer and preamp, with sliders at 31, 63, 125, 250, 500, 1k, 2k, 4k, 8k, and 16kHz.  (If anyone’s curious, my current adjustments are +1, +1, +1, 0, -1, -4, -2, -2, +1, +1.  I listen to a lot of metal, so I tend to smile the EQ on anything I use.)

Audacious also comes with a number of built-in effects, with more available in the plugins section.  The two I use are the Crystalizer (set at the default 1.3), which makes the sound a little crisper, and the Extra Stereo plugin (also at the default 1.3), which increases the L-R panning just a little bit to give the music a bit more breathing room.  While I missed my old Winamp for a while, I’ve come to rely on a number of features the Audacious has that Winamp either doesn’t do or doesn’t do as well.  One I use all the time is the ability to have multiple tabbed playlists, modeled after tabbed web browsing.  And while I don’t have to worry as much about system crashes now that I use Ubuntu, it’s nice that Audacious continually updates its configuration settings, so if the program or even the OS crashes I don’t lose a single setting or unsaved playlist.  I’ve even reinstalled Ubuntu without losing unsaved playlist data.

While Audacious doesn’t have as many features as some of the heavier programs like iTunes or RhythmBox (which I use for organizing my iPod), it’s definitely my favorite program for just listening to music.