diff --git a/readpass.c b/readpass.c index f160f866..c2b90c8e 100644 --- a/readpass.c +++ b/readpass.c @@ -140,10 +140,10 @@ read_passphrase(const char *prompt, int flags) } } - if ((flags & RP_USE_ASKPASS) && getenv("DISPLAY") == NULL) + if ((flags & RP_USE_ASKPASS) && (getenv("DISPLAY") == NULL || getenv("WAYLAND_DISPLAY") == NULL)) return (flags & RP_ALLOW_EOF) ? NULL : xstrdup(""); - if (use_askpass && getenv("DISPLAY")) { + if (use_askpass && (getenv("DISPLAY") || getenv("WAYLAND_DISPLAY"))) { if (getenv(SSH_ASKPASS_ENV)) askpass = getenv(SSH_ASKPASS_ENV); else