#x11 #password #xcb #askpass

app xaskpass

A lightweight passphrase dialog

18 stable releases

2.5.9 Sep 23, 2024
2.5.8 Mar 3, 2024
2.5.7 Jun 4, 2023
2.5.2 Dec 16, 2022
1.8.3 Jan 9, 2021

#46 in Authentication

Download history 58/week @ 2024-09-17 156/week @ 2024-09-24 19/week @ 2024-10-01

751 downloads per month

Apache-2.0

195KB
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 by preserving its fast startup time while modernizing some features such as fonts. It also tries to make sure the password stays in the memory for the shortest time.

Classic indicator Strings/Asterisk Strings/Disco

Installation and building

In Arch Linux the easiest way to install is to use the aur package.

If the C libraries are already installed, cargo install can be used to install in ~/.cargo/bin/xaskpass:

cargo install xaskpass

To build from the repository, use:

cargo build --release --locked

Make sure rustc is 1.74+ (reason) and you have the following C libraries installed:

  • libxcb >= 1.12
  • libxkbcommon
  • libxkbcommon-x11
  • clang >= 5.0
  • cairo >= 1.14
  • pango >= 1.50

For example in Arch Linux you can run:

pacman -S libxkbcommon libxkbcommon-x11 libxcb pango cairo clang

Setup

To make ssh or sudo use xaskpass set SSH_ASKPASS=/path/to/xaskpass or SUDO_ASKPASS (and use sudo -A) respectively.

Configuration

Xaskpass firsts tries to read configuration from $XDG_CONFIG_HOME/xaskpass/xaskpass.toml. If not found, $XDG_CONFIG_DIRS/xaskpass/xaskpass.toml is tried. A default configuration file with comments can be found here.

To make the startup time faster, for example, the font file used can be specified with

[dialog]
font_file = '/path/to/fonts/TTF/DejaVuSansMono.ttf'

More help

See xaskpass --help and the comments in the 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.

Dependencies

~22–35MB
~624K SLoC