Let’s say, you’ve been daily driving Ubuntu Touch for a few weeks and it kind of seems to work for now and around the same time on your PC you really miss grabbing windows easily so you’re returning from Gnome to KDE, which apparently also means going back from pass(1) and git(1) to KeePassXC and Syncthing.
Funny how one choice leads to a lot of others, sometimes.
Switching from KDE to Gnome early last year wasn’t because I found Gnome that much better. It was quite different from KDE, but it was the little annoyances, like not easily switching between audio outputs, that was so elegantly solved in Gnome, that made me bite the bullet and switch.
Selecting audio outputs in KDE
Using Gnome for about a year made its own little annoyances…
Let’s say, you’ve been daily driving Ubuntu Touch for a few weeks and it kind of seems to work for now and around the same time on your PC you really miss grabbing windows easily so you’re returning from Gnome to KDE, which apparently also means going back from pass(1) and git(1) to KeePassXC and Syncthing.
Funny how one choice leads to a lot of others, sometimes.
Switching from KDE to Gnome early last year wasn’t because I found Gnome that much better. It was quite different from KDE, but it was the little annoyances, like not easily switching between audio outputs, that was so elegantly solved in Gnome, that made me bite the bullet and switch.
Selecting audio outputs in KDE
Using Gnome for about a year made its own little annoyances surface. I was moving files by cutting and pasting instead of dragging them, and at some point I actually copied a file while trying to move a window. This madness has to stop, I heard myself thinking, and I installed KDE, re-logged and noticed that switching audio outputs was taken care of.
Pass is a command line password manager that uses git(1) to synchronise between devices. It stores each password in its own GPG encrypted file and uses a folder hierarchy for storage and fast and easy retrieval, especially with excellent fish (and bash) tab completion. For Android, there’s at least an unmaintained app that works. For Ubuntu Touch, there is one as well, UTPass. It is maintained, but for as long as I remember, it has a bug making it show just a white screen instead of its UI. Many of the apps for this platform are maintained by a single person. UTPass is no exception.
To my surprise, after logging into KDE, pass(1) didn’t really seem to work here either. Just doing a pass -c something popped up a window asking for my password (fair enough) but then pass(1) would just sit there without giving me my password or my prompt back, as if something was getting in the way.
Unsure what was going on, I took a long hard look at my phone laying next to the keyboard and decided not to spend the time troubleshooting why gnome-keyring was still active and probably screwing up ssh-agent, but to take the opportunity to again install KeePassXC, the last password manager I used before switching to pass(1).
Let’s go
There was one small problem though. While there are plenty of scripts to import passwords to pass(1), exporting from pass(1) to KeePassXC appeared not already facilitated. So I spend the afternoon creating a python script that traversed my ~/.password-store, decrypted all the GPG files and put everything in a CSV file that KeePassXC would accept. You can find it where I publish my code.
After some debugging, the script worked, and I could import my passwords into KeePassXC. I added a folder to the directory that I share with all my devices using Syncthing and put the password file there. Then I opened up the Open Store on my phone to install KeePassRX, finding that an update for UTPass had become available, fixing the white screen bug.
I wonder whether I will keep using KDE or that new or old annoyances will (re)surface, making me escape back to the windows with too crowded title bars and with corners that are so round that, a couple of years from now, they will probably be circular.