lxqt-openssh-askpass
is a GUI to query credentials on behalf of other programs.
As indicated by its name it's primarily targeted at ssh-agent
, the SSH agent
of OpenSSH, but it works with other applications like e. g. EncFS as well.
It was considered to abandon the tool in favour of KDE's ksshaskpass
and
lxqt-openssh-askpass had temporarily been declared deprecated for this reason.
But it turned out the close bond of ksshaskpass
to KWallet conflicts with LXQt's
design goals so it's all but certain the replacement will happen.
See lxqt/lxqt#362.
The only runtime dependency is liblxqt. Additional build dependencies are CMake and optionally Git to pull latest VCS checkouts.
Code configuration is handled by CMake. CMake variable CMAKE_INSTALL_PREFIX
has to be set to /usr
on most operating systems.
To build run make
, to install make install
which accepts variable DESTDIR
as usual.
Official binary packages are provided by all major Linux distributions like Arch
Linux, Debian (as of Debian stretch only), Fedora and openSUSE. Just use your
package manager to search for string lxqt-openssh-askpass
.
First of all it must be ensured ssh-agent
is running in LXQt sessions. This is
basically beyond this document's scope but can e. g. be achieved by a user
systemd unit
[Unit]
Description=Some arbitrary description
[Service]
Type=forking
ExecStart=/usr/bin/ssh-agent -a /run/user/<ID>/ssh-agent
[Install]
WantedBy=default.target
where ID corresponds with the respective user's UID as displayed by $ id <user>
.
Environment variable SSH_AUTH_SOCK
must point to the socket of ssh-agent
as
e. g. stated by option -a
in the systemd unit depicted above. Environment
variable SSH_ASKPASS
must be set to lxqt-openssh-askpass
to indicate this
binary should be used.
Both variables can be set in section "Environment (Advanced)" of configuration
dialogue LXQt Session Settings
of lxqt-session. Changes apply upon the
next login only.
Note binary ssh-add
which is used to register keys with ssh-agent
will use
GUI tools like lxqt-openssh-askpass
only when it is not attached to a terminal.
So lxqt-openssh-askpass
will not be used when ssh-add
is launched from a
terminal emulator like QTerminal even when everything is configured as stated
above. lxqt-openssh-askpass
will be used when the invocation of ssh-add
is
handled by an autostart entry which can be configured in section "Autostart" of
"LXQt Session Settings" or when a desktop entry file is used to invoke the tool
from menus.
Simply hand lxqt-openssh
to binary encfs
by option --extpass
, like in
encfs --extpass=lxqt-openssh-askpass <rootdir> <mount point>
.
In contrast to ssh-{agent,add}
this works when encfs
is launched from a
terminal emulator, too.
Translations can be done in LXQt-Weblate.