client: "quit" doesn't actually quit keybase

A core tenant in building trust with the software you run is being able to tell it what to do, and to have it respect your wishes. Given the critical nature of what Keybase does for its user, I only want to run keybase when I am actively using it. EG, I don’t want it running idle when I’m not looking to use keybase.

Thus, when I am done using the keybase GUI, I tell it to “quit”, but this doesn’t actually quit Keybase, it only closes the GUI. After using the “quit” button in the GUI’s menu, I still see the icon in my desktop panel. This erodes my trust (I’m telling it to quit, but it hasn’t actually quit). Further, I then see that the icon in my desktop’s panel has a menu, and there is a “quit” button here… but when I tell it to “quit”, while the icon disappears, ps tells me it is still running:

ᐅ ps aux | grep Keybase -i
... keybase -d --log-file=/home/user/.cache/keybase/keybase.service.log service --auto-forked
... kbfsfuse -debug -log-to-file /keybase

If I tell keybase to quit, I expect it to quit everything and completely shutdown. I should not have to use kill to get keybase to stop running.

Given that we’re talking about GPG and crypto, I’m sure you understand the importance of trusting the software you run. While I have a great deal more trust for keybase than I do other software, the stakes are high and so are my expectations. Given those circumstance, rather than just being a little bit annoyed, this type of issue makes me skeptical of the keybase client.

Is there a significant reason to justify the app’s quit not completely killing the software? Eg, is this “by design”?

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 19
  • Comments: 23 (10 by maintainers)

Most upvoted comments

Right let’s get straight to the point here. There are multiple issues now, concerning the disingenuous behaviour of the Keybase app. It does not quit when asked too.

https://github.com/keybase/client/issues/10787 https://github.com/keybase/client/issues/3773 https://github.com/keybase/client/issues/9709 https://github.com/keybase/client/issues/9008 https://github.com/keybase/client/issues/4721 https://github.com/keybase/client/issues/4715

Moreover on the Mac which I’m using, the Keybase menu app continues to run and we then have to quit that too. Let’s be clear that I never requested for the menu item to be installed either.

https://github.com/keybase/client/issues/13530 https://github.com/keybase/client/issues/8819

I’m going to come out and say it: As far as I can tell the developers of Keybase have no intention of changing this behaviour - this issue has been open for 2 years. It feels deliberate to me.

I agree with @ketzacoatl that “A core tenant in building trust with the software you run is being able to tell it what to do, and to have it respect your wishes”.

Well you’ve lost my trust.

Additionally, I’ve just discovered that the Keybase app adds itself as a Login item when I quit the main app. And if I remove the Login item after the main app is quit, and then quit the Menu / Helper item too, that also re-installs the Login item as it quits. I really didn’t expect this kind of sneaky background behaviour of doing things without telling me, but I’ve seen enough now to get the measure of the organization behind keybase, which has also been borderline spammy with its emails to me.

https://github.com/keybase/client/issues/9406

But there’s good news: Rest assured, guys that you won’t be seeing anymore complaints from me here, because I’m deleting Keybase from my system. I won’t be using it again.

I uninstalled keybase after I saw this behavior. It’s especially troubling / hard to understand if one is only using the command-line.

Still hitting this problem on Mac. I can quit the app and it looks like it’s quit but if I use Spotlight or Alfred to launch the app again it takes me back to where I was in the UI, it clearly had not quit.

I have to use Force Quit to actually quit it.

Is this really intended behavior?

I tried File > Quit in the GUI. The I tried sudo systemctl stop keybase.mount, which did something… Then, as a last resort, killall kbfsfuse; killall keybase; killall Keybase. That did it.

For starters, please provide a shell script for properly shutting down all keybase-related processes.

Another data point: I just found keybase ctl stop, and that stops/kills the client, but doesn’t do anything about kbfsfuse.

@ketzacoatl Yes, this is a bug that was fixed. Please upgrade (keybase version should return 4.0.0) and try again.

Keybase 4.0 has a Quit Keybase button in the main app in the GUI.

2019-05-08-164233_367x601_scrot

Also, keybase ctl stop should work as expected on Linux.

It was an unintentional bug / side effect of Linux builds only.

That’s the assumption, but assumptions are problematic, and not good enough when we’re talking about the level of trust that we need for software that does what Keybase does.

I want to believe (and do!) the devs have good intentions, but please, just look at the history in this ticket… it doesn’t quite align with what you would expect from a small mistake that is actually extremely significant. This also isn’t the first day we’re opening and commenting on this issue… and look how many other users created their own versions in the 2 years since I opened this issue. So, for those reasons, I don’t find your comment all that compelling.

@scottlowe If you open the popup via the system tray, there should be a hamburger menu at the top right with an option for “Quit App”. After you click that, does ps aux | grep -iE 'keybase|kbfs' show any output for you?

I agree that having the panel icon’s Quit button quit all of Keybase would be better. That’s actually what we do on Windows and Mac. We don’t do it on Linux because we haven’t integrated with a supervisor (like systemd) yet. We plan to do something like that in the future, though.