The ODROID-U2 is an ARM development board with a quad-core Exynos CPU and 2GB of RAM that I’ve been using since early 2013 to do software development of various kinds. Despite its powerful GPU, I run it headless and access it (much more conveniently, it must be said) via VNC.
I run an ultra-minimalist, extra-light desktop environment on it using
lxterminal– it’s the exact same environment that I use inside my Vagrant boxes, and it has served me well over the years.
The machine is fast enough to run NetBeans, Chromium and my usual toolset, and I take advantage of a little-known feature in the
vnc4server package to resize the desktop according to what client device I’m using (ranging from 1024x768 from an iPad mini or phone to full-blown 1920x1080 from a desktop PC).
Resizing the display
You need to launch
vnc4server with multiple
--geometry options, like so:
vncserver -depth 16 --geometry 1024x768 --geometry 1280x720 --geometry 1280x800 --geometry 1600x1200 --geometry 1920x1080 --geometry 2048x1536
…or put those resolutions in your
Those resolutions correspond to the various “thin clients” I use to get stuff done on it: my iPad mini, an Android device, a MacBook Pro, a retina iPad (where I use 1600x1200 quite often), and a regular desktop PC. Whenever I switch clients, I use
xrandr to switch resolutions to match the physical display (all the VNC clients I use seem to support this these days):
$ xrandr SZ: Pixels Physical Refresh 0 1024 x 768 ( 260mm x 195mm ) 60 *1 1280 x 800 ( 325mm x 203mm ) 60 2 1600 x 1200 ( 406mm x 305mm ) 60 3 1280 x 720 ( 325mm x 183mm ) 60 4 1920 x 1080 ( 488mm x 274mm ) *60 5 2048 x 1536 ( 520mm x 390mm ) 60 Current rotation - normal Current reflection - none Rotations possible - normal Reflections possible - none $ xrandr -s 4
I’ve recently reinstalled mine to run Ubuntu 14.04 off an 8GB EMMC with an 8GB Class 10 MicroSD Card for extra storage off
# cat /etc/fstab UUID="1E66-94B1" /media/boot vfat defaults 0 0 /dev/mmcblk1p3 none swap 0 0 UUID=074e71d6-ddce-47d5-b3e4-949ef0029619 /opt ext4 defaults 0 0
One of the essential tweaks I do to any Linux system I have to deal with on a regular basis is to install the Infinality font rendering packages, which do away with all the nastiness usually associated with what passes for typography in X11:
Install base packages
apt-get -y update echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections apt-get -y dist-upgrade apt-get -y install htop tmux vim rsync python-dev python-setuptools libev-dev apt-get -y install sqlite3 imagemagick bzip2 ttf-mscorefonts-installer sudo fc-cache -f -v sudo easy_install virtualenv
Set up Infinality for better font rendering
if [ ! -d /etc/fonts/infinality ]; then sudo apt-get install -y build-essential devscripts git-core debhelper sudo apt-get install -y docbook-to-man libx11-dev x11proto-core-dev quilt cd ~/Development git clone https://github.com/rcarmo/debian-infinality.git cd debian-infinality/freetype-infinality/ ./build.sh cd ../fontconfig-infinality/ ./build.sh cd .. sudo dpkg -i freetype-infinality/*.deb fontconfig-infinality/*.deb cd /etc/fonts/infinality sudo ./infctl.sh setstyle osx fi