If you just want the solution, you can skip this part. But for the curious, I'll explain the problems we face:
KeePassXC creates an UNIX socket in $XDG_RUNTIME_DIR/kpxc_server for applications to listen too. keepassxc-proxy is started – via native messaging – by the browser (triggered by the add-on firstname.lastname@example.org, i.e. KeePassXC-...
This is a very brutal, dirty, and probably very wrong way to do this, but after struggling with unlocking my keyring over SSH for a while, I came up with this little script:
echo 'NOTE: This script will only work if launched via source or .' >&2
echo -n 'Login password: ' >&2
read -s _UNLOCK_PASSWORD || return
killall -q -u "$(whoami)"...
i3 has no 'maximize' function, you want to focus your window and you might want to make the window fullscreen.
You can use this snipped:
winid="$(printf "%u\n" $windowid 2>/dev/null)
i3-msg "[id=\"$winid\"] "focus; fullscreen"
How you get the windowid from the pid is described in this question.
An easier solution than Jan's (the accepted answer) is to use the -a (attribute) option as follows:
keepassxc-cli show -sa password database entry
-s will display the password instead of "PROTECTED" , and -a password will output only the password. This way, you will not have to pipe it through additional programs.
Unix, unlike Windows, allows files to be deleted while they are open and in use by an application. It is even more likely that KeePass has just read the file into memory, and is not holding the file open because the on-disk data is encrypted, so the contents are decrypted into memory and then the file is closed.
There may be any number of different reasons ...
I had a similar issue with KeePassX. My understanding is that it's due to the QT theme, which is configured in .config/Trolltech.conf for QT4. If you set it to GTK+, the application will be themed as a GTK application:
This is for QT4 thought, if KeePassXC is using QT5 the theme configuration is done differently it seems. There's some info ...
The only form of two-factor authentication supported in KeePassX is a password and a key-file; quoting the features:
access to the KeePassX database is granted either with a password, a key-file (e.g. a CD or a memory-stick) or even both.
If you want to add U2F support you'll have to code it.