client: Quitting Keybase doesn't kill the keybase process

The title really says it all in this one. You have to kill or pkill the process with a signal of SIGKILL to actually kill it.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 42 (13 by maintainers)

Most upvoted comments

This made me uninstall Keybase. I expect a software to quit when I choose ‘Quit’ 🤔

I wouldn’t consider this an issue as it is commonplace in software these days. If you’re worried about it, make a shell script to terminate the necessary processes with killall.

Please fix. Quit should stop all software related to keybase. Close minimize to system try. Thanks.

Platform: Linux Mint 19.

Currently: Close minimizes to systray. Quit minimizes to systray.

By quitting all three components:

  • The electron-based gui (either /usr/bin/electron /usr/share/keybase-app or /opt/keybase/Keybase depending on whether you use the Arch Linux package with system electron)
  • The keybase command-line daemon (/usr/bin/keybase)
  • The kbfsfuse command-line daemon (/usr/bin/kbfsfuse)

Most likely it will be getting started through systemd, so you can do this with:

systemctl --user disable --now kbfs keybase keybase.gui

Then make sure you don’t have an autostart entry telling the GUI to start up anyway.

I can’t believe there is any disagreement on this.

I’ve got a new question: how do I properly quit/exit/shutdown keybase, so that none of it is running? No daemons, no clients. (keybase doesn’t start automatically on my machine, nor should it.)

@dabura667 I don’t use MySQL Workbench, but I doubt that it started Mysqld in first place. That’s not the case for keybase-gui. Is spawns all the daemons, and thus you’d expect it to close them too, or at the very least have an option to quit them.

@junderw If what you want is to have your directory always syncing, then you probably didn’t need to start the GUI in first place. Just make sure you have kbfsfuse starting and forget about it. How can you refer to the two processes as separate ones when one starts the other without telling you even? Without an option not to turn the other one on?

I honestly don’t know what are people talking about when they refer to this as common behavior. I can’t come up with other apps that behave this way.

My usage pattern for Keybase is simple - I fire it up, send some messages, then quit it expecting I’m back to the state I was before launching it. I’m not using kbfsfuse, and even if I would, I would expect it to stop syncing when I close the app that started syncing, just like my Torrent app does, my Soulseek app does, my… everything does.

We’re working on the gui part: https://github.com/keybase/client/pull/16949. In the meantime run_keybase -k will shutdown everything (let us know if it doesn’t).

try calling keybase ctl stop that makes the background process stop.

So that’s how you do it.

An additional quit button on the system tray icon in Ubuntu that fully exits all background processes would be really helpful.

image

@dabura667 One would expect mysqld would be on a remote server you’re temporarily connecting to to manage. Keybase is a much different scenario. When you close it, you expect it to stop running.

It’s not at all common. It’d be one thing if I were talking about the “Close” option, but I’m talking about the separate "Quit’ option.

On August 9, 2016 11:13:43 PM EDT, J R notifications@github.com wrote:

I wouldn’t consider this an issue as it is commonplace in software these days. If you’re worried about it, make a shell script to terminate the necessary processes with killall.


You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/keybase/client/issues/3773#issuecomment-238754770

John M. Harris, Jr. PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

I see

This is only the first 5 pages of search results for “quit” with the word “quit” in the issue title.

There does seem to be a common thread with people having difficulty quitting among the past issues.

I don’t see anything that seems specific to my request for the system tray.

Thank-you, on Ubuntu 16.04.5 LTS after today’s Keybase update run_keybase -k work nicely.

I was also able to use systemctl --user stop keybase.gui keybase kbfs keybase-redirector to terminate everything.

One thing that is not clear is what happens if an operation was in progress. I.e., do we end up with half-uploaded files, lost chat sends, etc. Ideally all operations should be atomic and queued for a retry but maybe not while we are still in beta.

Software should definitely not obscure what it does from the user. If a user chooses to “Quit” an application, they obviously want it to quit running. If they close the window? Sure, close the window and keep running in the system tray. That’s fine, and a lot of excellent software does that.

My favourite example would be Konversation, which even informs you the first time you close the window that the default behaviour is to keep running in the system tray. However, when you go to File → Quit in Konversation, that does indeed cause the process to exit.

Quitting the client leaves quite a few processes running, including kbsfsfuse and even electron.

Well yes, “quitting” the client should leave it running in the background as a system tray icon. I know lots of software that does that.

Unless I’m misinterpreting what you said?

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.

Uhh guys, but why File->Quit (Ctrl+q) still doesn’t work in GUI. As I understand there are two options in menu. Close and Quit. Close should minimise to tray and Quit should do similar operation to run_keybase -k. But whatever I choose it always minimise to tray.

(On Linux) After the latest update, run_keybase -k will shut down all Keybase processes unconditionally (service, kbfs, gui, redirector).

If you’re using systemd (check with systemctl --user status keybase), you can use it to stop and start the four units independently.

systemctl --user stop keybase.gui

just stops the gui. The other ones are keybase, kbfs, and keybase-redirector.

Additionally, if you’re using a graphical DE and you want to turn autostart off, you can do this in your DE settings or in

keybase ctl autostart --disable

There’s more information available at https://keybase.io/docs/linux-user-guide. Let me know if these features aren’t working for you or if you have a question or suggestion.