Guake / guake

Drop-down terminal for GNOME
https://guake.github.io
GNU General Public License v2.0
4.42k stars 574 forks source link

Guake interferes with password-store #2082

Open stderr-mila opened 2 years ago

stderr-mila commented 2 years ago

Describe the bug

It looks like guake is interfering with the password-store command line tool. Upon trying to run pass show -c path/to/whatever, the command hangs for several minutes/forever. The problem occurs regardless of the shell used (zsh, bash), it does not occur in Gnome terminal.

Expected behavior pass show -c whatever copies a string to clipboard.

Observed behavior Upon running pass show -c whatever from guake, the command hangs for several minutes, an app with the title "Unknown" is added to the dock (with a gear icon), clicking it "unfreeze" the command and the expected behavior finally occurs.


It stopped working as expected after upgrading to Ubuntu 22.04 from 21.04 this morning.

$ guake --support Guake Version: 3.8.5 Vte Version: 0.68.0 Vte Runtime Version: 0.68.0 -------------------------------------------------- GTK+ Version: 3.24.33 GDK Backend:
Additional environment info $ uname -a ``` Linux foobar 5.15.0-27-generic #28-Ubuntu SMP Thu Apr 14 04:55:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux ``` $ cat /usr/share/gnome/gnome-version.xml ``` 42 0 0 Ubuntu ``` $ zsh --version ``` zsh 5.8.1 ``` $ bash --version ``` GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ``` Gnome terminal version ``` Version 3.44.0 for GNOME 42 A terminal emulator for the GNOME desktop Using VTE version 0.68.0 +BIDI +GNUTLS +ICU +SYSTEMD ``` $ ps fauxw ``` \_ /usr/bin/python3 /usr/bin/guake | \_ /usr/bin/zsh | \_ bash /usr/bin/pass show -c path/to/whatever | \_ bash /usr/bin/pass show -c path/to/whatever | \_ wl-paste -n | \_ base64 ```
dehli commented 2 years ago

I'm also experiencing this on 22.04. Another way to get around this is to minimize guake (which seems to accomplish the same thing as clicking the "Unknown" notification). Usually when I want to use -c I intend to minimize anyways so it does work better for my workflow.

dehli commented 2 years ago

Wanted to follow-up that as of this morning I'm no longer experiencing this bug. I updated / upgraded various dependencies via apt-get and the issue has disappeared.

Davidy22 commented 2 years ago

Given the timings that this bug surfaced and disappeared for users, closing because this sounds like an ubuntu 22.04 issue

stderr-mila commented 2 years ago

Hello,

A couple of months and a series of system update later, I am still facing the exact same issue. As mentioned in my initial post, the issue does not occur in Gnome Terminal.

Is there any way that I could help debug this further?

@dehli could you share your output of the various commands in my "Additional environment info" section?

$ guake --support Guake Version: 3.8.5 Vte Version: 0.68.0 Vte Runtime Version: 0.68.0 -------------------------------------------------- GTK+ Version: 3.24.33 GDK Backend:
Additional environment info $ uname -a ``` Linux foobar 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux ``` $ cat /usr/share/gnome/gnome-version.xml ``` 42 4 0 Ubuntu ``` $ zsh --version ``` zsh 5.8.1 ``` $ bash --version ``` GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ``` Gnome terminal version ``` Version 3.44.0 for GNOME 42 A terminal emulator for the GNOME desktop Using VTE version 0.68.0 +BIDI +GNUTLS +ICU +SYSTEMD ``` $ ps fauxw ``` \_ /usr/bin/python3 /usr/bin/guake | \_ /usr/bin/zsh | \_ bash /usr/bin/pass show -c path/to/whatever | \_ bash /usr/bin/pass show -c path/to/whatever | \_ wl-paste -n | \_ base64 ```
dehli commented 2 years ago

Hi @stderr-mila, I unfortunately wiped my computer and reinstalled Ubuntu and am seeing the same issue as you as of today. I did some investigation this morning and it seems that the issue has to do with wl-clipboard. I upgraded from 2.0.0 to 2.1.0 and am still seeing the issue. I'll continue investigating and see if I can figure anything else out.

echo foo | wl-copy # This hangs for me until I minimize Guake
stderr-mila commented 1 year ago

Hey @dehli , echoing strings to wl-copy and minimizing guake does insert said string to clipboard.

But that is not the case with pass show -c path/to/whatever. Upon minimizing guake, pass does output Copied path/to/whatever to clipboard. Will clear in 45 seconds. like it actually succeeded but the clipboard is empty.

The only way for me so far to get the password copied to clipboard is to click on one of the "Unknown app" icon. Interestingly enough, sometimes there is only one ; other times, there are two "Unknow app" (indistinguishable) and only one of them triggers the copy.

Davidy22 commented 1 year ago

Reopening because original submitter is still experiencing issue. Probably the best way to figure out why this is happening is to install it myself, although I don't use it so may take a while to actually run into the issue.

stderr-mila commented 1 year ago

Adding up to the mystery: my usual setup is a laptop (single display), sometimes plugged to a USB-C hub with two external displays. Today, brought my laptop at work, plugged it to a smaller USB-C hub with only one external display, guake/password-store behaved as expected. Back to no external display, or back home (with 2), we are back to the above-mentioned issue.

This does not make any sense to me.

alexheretic commented 1 year ago

I am also seeing this on Arch.

Simple steps to reproduce using guake

$ wl-copy foo

This hangs until I toggle guake, when I return I see it has run.

$ wl-paste

Again hangs. After double-toggling I can see the output foo.

No hangs occur on my regular terminal emulator.

alexheretic commented 1 year ago

Disabling the Stay on top option allows this to work. Presumably this mode is preventing wl-copy from "stealing focus".

This is a decent workaround for me. Perhaps adding a warning on the Stay on top option when running in a wayland/xwayland session would help.

dehli commented 1 year ago

Thanks @alexheretic for the workaround! Just disabled that option and confirmed it works :+1:

tmplt commented 7 months ago

Can repro on NixOS with guake 3.9.0. Above workaround still required, but does work.