Operating Systems

Item Version License Notes

Windows

10

commercial

As it happens, most of my daily work is on Windows, so this is the starting point.

WSL

n/a

commercial

Inside Windows, I run the Windows Subsystem for Linux with a simple Ubuntu 18.04 LTS installation. Good to test if software and build processes work here, also a good alternative to run a UNIX system on th Windows platform. Wikipedia has also more information and links.

Cygwin

2.897

various: GPL, LGPL, X11

I use that as an easy and fast way to run UNIX software, and to write scripts. Most of my makes/builds are run on Cygwin first. Requires some attention to file/directory names, since some programs are executed in the UNIX world and some in the Windows world.

Ubuntu

18.04 LTS

various FOSS

My preferred Linux distribution. I only run Long-Term Support versions. My usual install is a simple client with simple X11, then a lot of extra packages. I run most of my bash and LaTeX processes here.

Other UNIX

n/a

FOSS

There are more UNIX/Linux distribution I am using, most of them in specific contexts

  • Alpine, for use in containers

  • Debian, to build PPA distributions and to test software

  • Redhat, to test software

  • Raspian, on my PIs of course

My Ubuntu Installation

I use Xubuntu desktop, 64-bit, as the start of an installation. This comes with a lighter X11 than the normal client/desktop version. I usually use a 30GB main partition plus 20GB fur /usr/local. The main partition takes all standard installations, the other my own work and software.

After installation, add the universa PPA and the important packages:

sudo apt install firefox

sudo add-apt-repository universe
sudo apt update
sudo apt upgrade

For TeX/LaTeX, install PerlTK first, then download Texlive and install. Texlive installation notes are good further help. TexStudio as editor (or LaTeX IDE).

sudo apt install perl-tk
# get Texlive, then
intall-tl --gui -> create links at end
sudo apt install texstudio --no-install-recommends

More important software for development: maven, git, gradle, asciidoctor.

sudo apt install maven git
sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update
sudo apt upgrade gradle
sudo apt install asciidoctor

Some good tools for terminals.

sudo apt install xfce4 xfce4-terminal
sudo apt install gnome-terminal terminator

Sometimes I do need keyboard settings:

sudo dpkg-reconfigure keyboard-configuration
sudo dpkg-reconfigure console-setup
sudo udevadm trigger --subsystem-match=input --action=change

Sometimes I need timezone settings:

echo "Europe/Dublin" | sudo tee /etc/timezone
sudo dpkg-reconfigure --frontend noninteractive tzdata

Usually, I use OpenJDK for Java on Ubuntu (and Oracle JDK on Windows). Some Ubuntu’s get Oracle, for testing (Java 8):

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install --no-install-recommends oracle-java8-installer
java -version