#password #x11 #xcb #askpass

app xaskpass

A lightweight passphrase dialog

2 stable releases

1.8.5 Apr 22, 2021
1.8.3 Jan 9, 2021

#40 in Unix APIs

Apache-2.0

175KB
5K SLoC

Xaskpass

AUR version Crate Minimum rustc version

Xaskpass is a lightweight passphrase dialog for X11 with extensive configuration options that is implemented without relying on heavy GUI libraries. It aims to be a successor to the similar but now old x11-ssh-askpass. It aims to preserve a fast startup time while modernizing some features such as fonts. It also tries to make sure the password cannot leak from the program to where it shouldn't.

Different kinds of indicators to choose from:

Classic indicator Circle Strings/Disco

and others...

Colors and layout can be customized:

Building

If the stars are aligned correctly this should suffice:

cargo build --release

Make sure you have the following dependencies installed:

  • rust >= 1.45

  • libxcb >= 1.12

  • libxkbcommon

  • libxkbcommon-x11

  • libclang

  • cairo

  • pango

Optionally:

  • xcb-util-errors: for more user friendly error logging.

For example in Arch Linux you can run:

pacman -S xcb-util-errors libxkbcommon libxkbcommon-x11 libxcb pango cairo clang

The compiled file is so large that it might affect the loading time unless it is stripped of debug symbols:

strip target/release/xaskpass

Installation

You can for example inform ssh or sudo to use xaskpass by setting SSH_ASKPASS=/path/to/xaskpass or SUDO_ASKPASS (and using sudo -A) respectively.

Configuration

Xaskpass reads configuration file from $XDG_CONFIG_HOME/xaskpass/xaskpass.toml. A default configuration file with comments can be found here.

More help

See xaskpass --help and the comments in the shipped default configuration file.

Development

You can create directory pregen to speed up build.rs by letting it save the generated bindings there.

License

Xaskpass is released under the Apache License, Version 2.0.

Icon made by material-design.

Dependencies

~18MB
~374K SLoC