Earlier this month I celebrated my birthday and received a Chromebook Pixel as a gift. If you haven't ever considered one of these machines, I'd highly recommend it. I've been using the machine for personal use as well as work. The average engineer's set up here consists of getting an AWS instance and using that to build/test/develop on. We use a lot of terminals and ssh sessions, and of course a VPN.

ChromeOS, while in developer mode allows the user to run a pretty normal shell session. Even if you are not in developer mode, you can still get to the crosh terminal via Ctrl-Alt-T. This opens the Chrome OS SHell (crosh). help lists the basic commands, and help_advanced will list the advanced commands. SSH is available in crosh, even without developer mode enabled. There is also a Chrome Secure Shell App (provided by Google) that includes a terminal emulator if you prefer. Personally, I'm fine with SSH in crosh.

If you have developer mode enabled, you can run the command shell in crosh to get dumped into the bash shell. This allows you to run commands like vim and openvpn. I was only able to get vim to work by enabling nocompatible mode (set nocp in my vimrc). This seems to have fixed all the keybinding issues for me. Additionally, OpenVPN's command line client does NOT seem to work unless you are logged in a root. You cannot sudo it, you actually have to log in as root. Not sure why, but this was the only way I could get it to run for me. I also had to pre-create the tunnel and then instruct OpenVPN to connect to that specific tunnel. Pre-creating it would work, but OpenVPN would try and create a new one unless I told it to use the one I just created. Again, not sure why, but this was the only way I could get the VPN connection to work (The options in the GUI are horribly insufficient for my purposes; they don't allow you to import a .ovpn file). To create a tunnel with open vpn, use --mktun --dev tunX. I always use tun0, but you might have a reason to use another one. To connect with that tunnel, again use --dev tunX when connecting with your config.

These are just a few things I've had to mess with since I got the device. As I encounter other things I think worthy of mention, I'll post them.