Tag Archives: ubuntu

A little bit about Diodon and it’s future

The first release of Diodon clipboard manager got released almost 16 years ago. The Linux desktop has changed quite a bit since and it is a positive surprise that Diodon is still being used by users today after so many years whereas the concept of Diodon hasn’t really much changed.

The motivation to start Diodon in the first place was, that the clipboard manager I used at the time was not maintained anymore and I also wanted to have a project of my own to tinker with different development technologies.

I was amazed how well Diodon was received and many popular Linux blogging sites posted about the new clipboard manager in town from very early on. Some links of those blog post are referenced in the Wikipedia Diodon page which also got created by some enthusiast.

My goal from the beginning was to build a community around Diodon but I only partially succeeded. Diodon certainly got well promoted on many different corners of the internet. I am also very thankful for the many translators who translated Diodon into their language. There were also a few commits of some contributors now and again but no-one stayed around for long. A honorable mentioned is RedHatter which developed some very useful diodon-plugins which I think are still used by some up to today.

Unfortunately in 2026 Diodon is showing its age. There is only partial Wayland support, it is based on the old GTK3 framework and relies on Zeitgeist which is not really developed anymore. Even though users have been using Diodon in many different desktop environments with the help of the application indicator, Diodon’s main focus was to integrate well into the Unity desktop back in the day, which, of course, mostly died long time ago and is now only a niche. To bring Diodon into 2026 a lot of work behind the scene would be needed.

I haven’t really had much time to show love to Diodon tough and I actually myself moved away to a different clipboard manager which only works on GNOME. As of late I also received some very low quality AI pull requests which took my attention but also made me think on how to continue with the Diodon project.

I have now decided to move Diodon into what I call “low maintenance mode”. Following points I will still try to address as long as it is feasible:

  • packaging issues, so Diodon will remain in the Debian and Ubuntu repositories
  • Updating of translations
  • Addressing of security issues

Other issues I will not have the capacity to address. In case someone wants to pick up the torch and bring Diodon forward feel free to contact me and we can discuss it.

This said I have released a new Diodon version 1.14.0 which includes following changes:

  • Updated translations
  • Allow cross building
  • Improved meson build tool compatibility
  • Improved performance when handling large clipboard items

To get the new version you can either download the new release per tarball or install it through the ppa with the following commands:

sudo apt-add-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon
# and for all Unity users there is also a scope
sudo apt-get install unity-scope-diodon

Thanks for all faithful users of Diodon over the many years. I hope that this “low maintenance mode” helps the users who still happily use Diodon on a daily basis to continue to do so. For the ones which have issues this should clarify that those issues won’t be looked into and it is most likely better to find an alternative.

Another Diodon milestone released

I am happy to announce another Diodon milestone 1.1.0 being released today.

You can download it as tarball here or if you use Ubuntu simply install it with the stable ppa:

sudo add-apt-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon unity-scope-diodon

Due to changed dependencies will this version only be available for Saucy 13.10 and Trusty 14.04. Of course for older flavors there will still be an older version available in the ppa and also as tarballs.

This new version finally removes the limitation of maximum 100 items in the clipboard history and therefore brings with it a much more powerful Unity Scope integration and lots more.

If you want to know more in detail what has changed read the following posts:

This milestone is only a start creating the foundation for future improvements such as better integration into other desktop environments and more. I keep you posted.

With this in mind… Happy copying.

Mounting external usb drives automatically to its label

I am maintaining a file server running Ubuntu 12.04 in my company and was faced with the problem how to backup my system easily and on a low cost. As we have a huge amount of data and a rather slow internet connection I have made the decision to backup onto external hard drives which we will rotate frequently. In the end USB drives are still the cheapest option to backup your data… ;).

This blog post is though not about backing up your data but rather how to mount a USB drive automatically when connected to a server and access it with its label. This helped me to have a specific mount point for backup hard discs but won’t interfere if anyone else needs to connect another USB drive to the server. I am sure you might have different use cases for such feature as well. I have tested following configuration on a Ubuntu Server 12.04 but it should run on other Debian based operating systems as well.

OK this said let’s get started with the configuration then.

While I was looking for a tool to automatically mount my usb drives I found usbmount which was very simple and pretty much worked out of the box.

You can install it with the following command:
apt-get install usbmount

After usbmount is installed you can simply connect your usb drive to your server and usbmount will automatically mount it to /media/usb0. When an additional drive is connected it will be mounted to /media/usb1 and so on.

That’s a good start… but there is a draw back that every drive connected to the server will be mounted to /media/usb0 so we cannot really distinguish the different drives from each other. But usbmount has a feature for this that it creates a symlink for each drive in the folder /var/run/usbmount.

Such symlink can look like the following:
lrwxrwxrwx 1 root root 11 Apr 11 10:53 SAMSUNG_HM160HI_1 -> /media/usb0

The name of the symlink is built by using the vendor, model and partition number. So accessing the hard disc you simply access it using this symlink. This is great when you want to identify a specific hard disc. There is still one problem with it though when I want a group of hard disc to be accessed the same way I cannot really use this symlink.

So my idea was why not using the volume label and when I format hard drives I simply give all those drives the same volume label.

This can be done for instance with following format command using ext4 as an example (of course you can change ext4 to whatever file system you need):
mkfs.ext4 -L VOLUMENAME /dev/sdb1

Unfortunately usbmount doesn’t create any symlink of drives by its volume label. I therefore created following script to do this:

#!/bin/sh
# This script creates the volume label symlink in /var/run/usbmount.
# Copyright (C) 2014 Oliver Sauder
#
# This file is free software; the copyright holder gives unlimited
# permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
#
set -e

# Exit if device or mountpoint is empty.
test -z "$UM_DEVICE" && test -z "$UM_MOUNTPOINT" && exit 0

# get volume label name
label=`blkid -s LABEL -o value $UM_DEVICE`

# If the symlink does not yet exist, create it.
test -z $label || test -e "/var/run/usbmount/$label" || ln -sf "$UM_MOUNTPOINT" "/var/run/usbmount/$label"

exit 0

This script you have to save to /etc/usbmount/mount.d/01_create_label_symlink and do not forget to add executable rights to it (chmod +x /etc/usbmount/mount.d/01_create_label_symlink). usbmount will run this script whenever a hard disc is connected.

Beside creating this symlink we also have to make sure that the symlink will be removed when the hard disc is disconnected. usbmount already has a script which removes symlink from /var/run/usbmount but we have to adjust it as it only removes the first link and not all. We can simply open the file /etc/usbmount/umount.d/00_remove_model_symlink and remove the break statement in line 19.

The script will then look like the following:

#!/bin/sh
# This script removes the model name symlink in /var/run/usbmount.
# Copyright (C) 2005 Martin Dickopp
#
# This file is free software; the copyright holder gives unlimited
# permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
#
set -e

ls /var/run/usbmount | while read name; do
    if test "`readlink "/var/run/usbmount/$name" || :`" = "$UM_MOUNTPOINT"; then
        rm -f "/var/run/usbmount/$name"
    fi
done

exit 0

So now when we connected a hard disc to the server there will be a symlink created /var/run/usbmount/VOLUMENAME and such path we can then use to point to for backups or whatever other use case you have.

Hope this was helpful. While working with usbmount I have found some more articles which might be helpful for you e.g. when you have issues with permissions or want to use ntfs as a file system.

Clipboard Unity Scope with its full potential

Test version of Diodon with its new Zeitgeist integration has been out for a while. In the first test version there was only a limited version of Unity Diodon Scope available. We have been working on improving this integration to bring the Unity Scope to its full potential. In this post do I want to describe what new features have been integrated and how you can testrun those before we hopefully release them soon.

When the Unity Scope (resp. Lens back then) has been introduced in Diodon version 0.4.0 it was fairly limited and it was only possible to search in the recent clipboard history which had a limit of 100 items. With the recent change of Zeitgeist and infinitive clipboard history this limit has been removed and makes the Unity Scope more powerful itself.

But there is more like the new filters for category (Text, Files, Images) or time when a clipboard item has been copied.

Diodon Unity Scope Filter

With this filter and text search available you hopefully find any item you have copied before. There is also a preview available when you click on a clipboard item. The preview will show you the full content of the item (especially helpful when verifying a longer piece of text) with additional information what application the item has been copied from and the date copied.

Unity Diodon Scope Preview

You can open Unity Diodon Scope with the hotkey <Super>b or simply by pressing the clip icon on the right hand side on the dash and start search your clipboard history.

The Diodon Scope used to be an plugin which caused some issues as Smart Scopes service was not able to start and stop it itself. We therefore have now turned the scope into its own service as it should be which also gives the advantage that the scope can be closed when not needed to safe resources, but started as soon as requested.

This brought about some changes in the packages to install it – we have removed the package diodon-plugins (will be added again as soon as we have other plugins available again) and added a new package unity-scope-diodon. As soon as you have installed this package and logged in and out again the scope will be available. No need to activate it as before.

If you are interested and want to test it use the following commands:
sudo add-apt-repository ppa:diodon-team/daily
sudo apt-get update
sudo apt-get install diodon unity-scope-diodon

Let us know what you think and report a bug if you find any glitches or have suggestion to improve it.

I herewith also want to thank all translators who took the time to update the Diodon translations. Great work. There are still some translations which are not quite up-to-date yet. Have a look whether you can help out.