As in the previous article, this is basically just a list of steps I took to set up my Ubuntu workstation/testbed so that I can reinstall it more easily if need be.

Beginning with a bare install of Ubuntu Server with openssh enabled.

System Configuration:

  • /etc/lvm/lvm.conf
    • snapshot_autoextend_threshold = 75 # This enables thin snapshots
  • /root/bin/snapshot
    #!/bin/bash
    lvcreate -L1G -s -n "root-"$(date +"%Y%m%d-%H%M") vg0/root
    
  • dpkg-reconfigure unattended-upgrades
    • /etc/apt/apt.conf.d/50unattended-upgrades
      Unattended-Upgrade::Remove-Unused-Dependencies "true";
  • /etc/default/grub
    GRUB_DEFAULT=saved
    GRUB_SAVEDEFAULT=true

System utilities:

  • apt install htop
  • apt purge btrfs-tools // I am running ZFS RAID for the time being.
  • apt purge mdadm // I am running ZFS RAID for the time being.
  • apt purge apport # Crash reporter
  • apt purge bluez bluez-cups bluez-obexd libgnome-bluetooth13 # bluetooth
  • apt purge rfkill # Wireless devices management tool
  • apt purge colord # color profile daemon for photo viewers
  • apt purge lxd lxd-client# virtual VMs
  • apt purge snapd ubuntu-core-launcher squashfs-tools #
    Ubuntu’s snapd
  • apt install p7zip-full
  • apt install ssmtp # This is needed for administrative emails (i.e. for smartmontools)
    • mailhub=mailserver:587
    • AuthUser=emailaddress@server.com
    • AuthPass=mypassword
    • UseSTARTTLS=YES
  • apt install smartmontools
  • apt install hddtemp
  • apt install gcc
  • apt install make
  • /usr/local/bin/compile
    g++ $1.cpp -o $1 -Wall -Werror -Wextra -pthread -std=c++0x
  • apt install lm-sensors
  • apt install samba
    • /etc/samba/smbd.conf
      [homes]
      comment = Home Directories
      browseable = no
      read only = no
      

GUI + RDP

  • apt install lubuntu-core # Lubuntu desktop without all the bloat
  • apt install x11vnc
    • /lib/systemd/system/x11vnc.service
      [Unit]
      Description=Start x11vnc at startup.
      After=multi-user.target
      
      [Service]
      Type=simple
      ExecStart=/usr/bin/x11vnc -nopw --auth guess -forever -loop -noxdamage -repeat -rfbport 5900 -shared
      
      [Install]
      WantedBy=multi-user.target
    • systemctl enable x11vnc.service
  • apt install xrdp
    • echo lxsession >~/.xsession
    • echo lxsession >/etc/skel/.xsession
    • /etc/xrdp/xrdp.ini
      [xrdp1]
      name=Guest
      lib=libvnc.so
      ip=127.0.0.1
      port=5900
      username=na
      #password=ask
      password=na
      
      [xrdp2]
      name=Login
      lib=libvnc.so
      username=ask
      password=ask
      ip=127.0.0.1
      port=-1
      
      [xrdp3]
      name=Reconnect
      lib=libvnc.so
      ip=127.0.0.1
      port=ask5900
      #username=ask
      password=ask

GUI Software

  • apt purge xvt
  • apt install xterm # Lightweight terminal
    • ~/.Xresources
      xterm*foreground: Gray
      xterm*ScrollBar: true
      xterm*savelines: 1024
      xterm*rightScrollBar: true
      
  • apt purge byobu
  • apt purge vim
  • apt purge gnome-screenshot
  • apt install diffuse # Graphical diff
  • apt install gedit # Text editor
  • apt install chromium-browser # Web browser
  • apt install lightdm-gtk-greeter-settings # For setting login screen wallpaper
  • apt install software-properties-gtk # Installs some mystery “unknown: unknown” driver, no idea what for
  • apt install gnome-mplayer

Productivity Software

  • apt install monodevelop
  • apt install libclc-amdgcn mesa-opencl-icd opencl-headers ocl-icd-opencl-dev
  • apt install qemu virt-manager
  • apt install libreoffice-writer libreoffice-calc
  • gpasswd -a username libvirtd

Bugfixes:

  • Diagnose startup service failures: systemctl –state=failed     service [service] status
  • /etc/pulse/default.pa // fix pulseaudio not working after a while
    #load-module module-switch-on-port-available

To Do:

update-initramfs -c -k all

  • fix error connecting on xrdp logon