The Linux Diary

This is an experiemntal blog of Linux projects by Plum.

Plum

Cosmic Files

COSMIC Files (the file manager for System76’s new COSMIC Desktop Environment) is currently in alpha/beta development, and its Samba (SMB) support is a known area of active work with several reported issues. If your Samba shares are broken or won’t connect, here are the most common causes and fixes: Missing Dependencies On some distributions, COSMIC Files requires specific backends to handle network protocols like SMB. Fix: Ensure you have the necessary gvfs packages installed. [Read More]

Fixing Hugo Gallery and updating a Git Submodule

# fixing a submodule $ git submodule update --remote --merge I use the Hugo gallery theme It broke on my britishbogroll gallery which I think is due to an update to sasl which resizes/processes images and an obsolete reference. After a certain amount of faffing I re-pulled my repo and updated the git submodule - the theme which fixed it. As there are quite lot of pictures you sometimes have to be patient to alow Hugo to rebuild it which is probably how I broke it before. [Read More]
hugo  git 

Docker Cheat Sheet

Docker Cheatsheet:

# pull/update an image
$ docker pull ghcr.io/shaarli/shaarli:release
# run a container from an image
$ docker run ghcr.io/shaarli/shaarli:latest
# list available images
$ docker images ls
# list running containers
$ docker ps
# list running AND stopped containers
$ docker ps -a
# run a command in a running container
$ docker exec -ti <container-name-or-first-letters-of-id> bash
# follow logs of a running container
$ docker logs -f <container-name-or-first-letters-of-id>
# delete unused images to free up disk space
$ docker system prune --images
# delete unused volumes to free up disk space (CAUTION all data in unused volumes will be lost)
$ docker system prune --volumes
# delete unused containers
$ docker system prune

Emergency Docker Downgrade

Docker update screws up Casaos or some other application on your server and you need a quick Docker Downgrade? I had the same issue and just downgraded docker back to 28.5.2 and it instantly fixed the issue. Here are the steps if you need them for ubuntu: Stop Docker sudo systemctl stop docker Install the specific Docker version sudo apt install docker-ce=5:28.5.2-1~ubuntu.24.04~noble \ docker-ce-cli=5:28.5.2-1~ubuntu.24.04~noble \ containerd.io Prevent Ubuntu from automatically upgrading Docker: sudo apt-mark hold docker-ce docker-ce-cli Start Docker again sudo systemctl start docker sudo systemctl enable docker Verify the version docker --version You should see: [Read More]

Missing Git Submodules?

Here’s something I stumble over almost every time I clone a git repository with submodules. Those darn folders are empty and using the project fails. Here are two ways to fix that: Clone With The Recursive Flag When issuing your git clone, add a --recursive flag. It will look like this: $ git clone git@github.com:user/project.git --recursive And as easy as that, your submodules are there. If you cloned your repo and don’t mind starting over - delete the freshly cloned repository and add that --recursive to the command. [Read More]

Mount a remote rsync.net filesystem in Linux

Rysync.net rules for backups To mount a remote rsync.net filesystem in Linux, you can use the rsync command with the --mount option. This option allows you to mount a remote directory as a local filesystem, enabling you to access and manipulate files as if they were on a local disk. Here’s an example command: rsync -avz --mount --remote-option=--mount-options=sync=meta,attr rsync://username:password@rsync.net/path/to/remote/directory /local/mount/point Replace: username and password with your actual rsync.net credentials rsync.net/path/to/remote/directory with the actual path to the remote directory you want to mount /local/mount/point with the desired local mount point The --remote-option flag specifies the --mount-options option, which configures the mount. [Read More]

To enable copy-paste between a QEMU host and guest

To enable copy-paste between a QEMU host and guest, install spice-vdagent (or guest tools) in the guest OS, ensure it’s running, and use the SPICE display protocol for seamless clipboard sharing, often requiring the virtio-serial device and correct QEMU arguments in your setup. For Windows guests, you may also need to install VirtIO drivers, and for Linux guests, ensure the service starts correctly after X starts. For Linux Guests (e.g., Ubuntu, Fedora) [Read More]

Github pages, custom domains and Cloudflare

The steps to getting this on https://linux.plumocelot.uk as oppposed to the github page url badgergeddon.github.io: Set things up on Cloudflare with a CNAME reference linux.plumocelot.uk and point it to badgergeddon.github.io Select “DNS only” and not proxied for setting up otherwise ssl (https) will not work on github pages setup later. Go to your github pages repository and select settings>pages Enter your custom domain, e.g. mine was “linux.plumocelot.uk” Save and hopefully your domain will resolve. [Read More]

Using multiple github accounts with ssh keys

Using multiple github accounts with ssh keys. Generate ssh key pairs for accounts and add them to GitHub accounts. Edit/Create ssh config file (~/.ssh/config): # Default github account: oanhnn Host github.com HostName github.com IdentityFile ~/.ssh/oanhnn_private_key IdentitiesOnly yes # Other github account: superman Host github-superman HostName github.com IdentityFile ~/.ssh/superman_private_key IdentitiesOnly yes NOTE: If you use any account frequently, you should use the default hostname (github.com). Add ssh private keys to your agent: [Read More]
git  ssh  howto 

Buho CMS

BuhoCMS is a local Content Management System for static site generators. See BuhoCMS as a GUI for static site generators. Easily create or open a website, choose your theme and add your first posts. With BuhoCMS, adding and editing content is as easy as a few clicks. No more terminal commands, folder hunting or manual Front matter edits It’s available on Flathub under POP OS so it just really needs Hugo installed and it’s pretty much good to go. [Read More]