RT Cunningham

Blogging For As Long As I'm Able


notes You’ve obviously stumbled upon a link at the bottom of the page. While the notes I’ve recorded here may be useful to you in some way, they’re way more useful to me. Normally, I would just add them to a relevant article (and some articles already contain variations), but most of these notes are too short to add to anything.

More than anything, they’re ready reference notes I can fall back on when setting up different linux distributions.


When I installed Linux Mint on my mini PC, which has an Intel processor, Bluetooth didn’t work. Based on web references, I had to obtain the files named ibt-0040-1050.sfi and ibt-0040-1050.ddc from https://anduin.linuxfromscratch.org/sources/linux-firmware/intel/, and place them on my PC, in the /lib/firmware/intel directory. Bluetooth worked after I rebooted.


I use this BASH script with UFW, on the remote computer:

CURRENT_IP=$(dig +short $HOSTNAME)
if [ ! -f  ]; then
    /usr/sbin/ufw allow from $CURRENT_IP
    echo $CURRENT_IP > $IPFILE
    OLD_IP=$(cat $IPFILE)
    if [ "$CURRENT_IP" = "$OLD_IP" ] ; then
        echo IP address has not changed
        /usr/sbin/ufw delete allow from $OLD_IP
        /usr/sbin/ufw allow proto rom $CURRENT_IP
        echo $CURRENT_IP > $IPFILE
        echo iptables have been updated

I’m using Dynu as my dynamic DNS service because Duck DNS is unreliable at times. I use the curl command to update my IP address, on both computers:

curl "https://api.dynu.com/nic/update?hostname=sub.domain.com&password=password" > /dev/null 2>&1

I have this running as a cronjob every five minutes, with the correct hostnames and passwords, of course.


MP3Gain can be installed from Debian sources, using the APT package tool:

sudo apt install mp3gain

Once it’s installed, move into the directory where your mp3 files are stored and run this command in the terminal:

find . -name '*mp3' -exec mp3gain -r -k {} \;

I did this with over 2000 files. It reduced the volume in most of the files, and only raised it in a few. This is how normalization works.

Raspberry Pi

The Raspberry Pi foundation doesn’t support the Cinnamon desktop environment. I installed Raspberry Pi OS Lite and then installed Cinnamon. Later, I installed xrdp on it so I could use Remmina to connect to it using RDP.

I found out that I could not connect to the default user on the Raspberry Pi until I edited /etc/lightdm/lightdm.conf and replaced

# user-session = Session to load for users
user-session = Cinnamon

I was happy it worked, so I didn’t bother to check to see if it needed be capitalized or not.


Rsync from directory to directory on the same computer:

rsync -a src/ dest

Rsync to another computer through SSH:

rsync -avzh -e ssh /home/localusername/directory/ [email protected]:/home/remoteusername/directory/ --delete


Trim, the fstrim command, won’t work on an external USB SSD without a change to the provisioning mode:

if [ "cat /sys/block/sdb/device/scsi_disk/*/provisioning_mode" != "unmap" ] ; then
    echo unmap | tee /sys/block/sdb/device/scsi_disk/*/provisioning_mode

I have the BASH script, in a file, called from a cronjob every five minutes on any distribution booting from an external USB SSD. The “sdb” in the first two lines must be changed to “sda” if booting from a USB SSD with no internal drive (like the Raspberry Pi).


Some things won’t work right unless you add your username to the “vboxusers” group. This is the way I did it:

sudo usermod -a -G vboxusers 

I could probably could have combined the -a and -G as -aG, but I didn’t.

Windows Product Key

The product key is in the firmware for most computers when Windows comes preinstalled. To obtain the key, run this:

sudo cat /sys/firmware/acpi/tables/MSDM

If that doesn’t work, and you don’t have a sticker or certificate with the product key on it, you have to contact the company that sold it to you. That’s what I had to do with my mini PC so that I could activate Windows in a virtual machine.

Image by OpenClipart-Vectors from Pixabay