watch catting together HTML head/foot and MySQL information_schema.processlist

This came up back on August 9th 2020 in #lobsters on freenode. They were doing a system upgrade and providing a report by using `watch` to `cat` together a HTML header and footer with `mysql -e ‘select * from information_schema.processlist’` to provide a status report. Thought that was a neat hack.

Bridge sniffer

I’ve been having trouble getting my Pioneer FreedomBox to work and I found myself wanting a network protocol analyser so I could see what was going on.

I got myself two of these Simplecom USB 3.0 to Gigabit RJ45 Ethernet LAN Adapters and attached them to my MacBook Pro, like this:

network sniffing setup

Then I spun up a Kubuntu system in a VMWare Fusion virtual machine and created a bridge like this (thanks to my mate Raz for the instructions):

   ifconfig eth0 up
   ifconfig eth1 up
   brctl addbr br0
   brctl addif br0 eth0
   brctl addif br0 eth1
   ifconfig br0 up

Then I was able to run WireShark to monitor traffic across the br0 bridge which helped me to diagnose the issues I was facing.

…and in the end I got my FreedomBox operational, so got to be happy about that! :)

The problem I was having was that my FreedomBox would work okay for a few minutes and then lose network connectivity. I confirmed this with my WireShark logs. You could see the DHCP and MDNS working at first and then see things stop working after some time.

The problem turned out to be related to the fact that I was running an old version of the FreedomBox software. The reason my software was out of date was that I had downloaded a “nightly build” which was well out of date. I think maybe the nightly builds are no longer maintained. After I upgraded to a stable build my networking problems went away.

Installing Kubuntu

So basically I want to run KDE Plasma under Ubuntu and this can be called Kubuntu.

This article is a little bit cargo-clutish. I.e. “I did this and it seemed to work.” and “I don’t do this because it didn’t seem to work.”

I have a pretty heavy reliance on Salt Stack for system configuration. My salt config is all built around Ubuntu 18.04 LTS.

When I need to install a Kubuntu desktop, this is how I do it:

  1. install Ubuntu Server 18.04 LTS from live installer
  2. apt update && apt dist-upgrade && apt autoremove && reboot
  3. apt install kubuntu-desktop && reboot
  4. apt install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11 && reboot
  5. apt install salt-minion
  6. vim /etc/salt/minion_id
  7. vim /etc/salt/minion.d/minion.conf
    • master: salt.staticmagic.net
  8. service salt-minion restart
  9. salt-call state.highstate

Note that if your Kubuntu install is a VirtualBox guest you need to start it with a normal start if you want the shared clipboard to work. If you start headless or detachable the shared clipboard will not work (in my experience).

If your Kubuntu install is not a VirtualBox guest you can skip the virtualbox-guest-* package installation above.

Shared clipboard for Ubuntu 18.04 guest in Ubutnu 18.04 host under VirtualBox 6.0

My shared clipboard wasn’t working for my Ubuntu 18.04 guests running on my Ubutnu 18.04 host under VirtualBox 6.0.

To fix first make sure that the shared clipboard is enabled in VirtualBox for the VM. The setting for that is under General -> Advanced -> Shared Clipboard.

Then try running these commands in the guest:

  • sudo apt install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
  • sudo reboot

These steps (or something similar) got the shared clipboard working for me. Hooray!

Note that these instructions will vary if you’re running a HWE kernel.