Closed doron1 closed 5 years ago
cc @oconnor663
This has come up for a few people recently. @doron1 what distro are you running? (I do most of my testing on Arch, which doesn't seem to have a fuse group.) @strib, can you think of a reasonable way to launch kbfsfuse and determine something like "it started successfully" without blocking forever?
@oconnor663: Depends how you want to define successfully, but yeah you can just try cat /keybase/.kbfs_status
(which blocks on a network call to the bserver) or something like cat /keybase/.kbfs_profiles/block
(which, ironically, doesn't block).
Update on this: We're going to ship systemd support soon. (See here.) As part of those changes, the run_keybase
command now runs this:
systemctl --user start keybase.service kbfs.service keybase.gui.service
The first two services there are Type=notify
, which means that errors during startup should cause run_keybase
to report an error.
(That said, FUSE failing to mount might not prevent startup from succeeding, so it's possible that this specific case would still be hard to report. @strib would know more.)
Exit code is still zero (some systems don't need/want/can't use the mount) but run_keybase
should print the error if it did fail to mount now.
run_keybase reports success (including successful mount) even though the mount fails. In my case it failed cuz the shell user was not part of the "fuse" group - a requirement of the /bin/fusermount setuid bits. I was going sideways in figuring out why I can't even get the thing started, since there is no error (actually explicit success message) when run_keybase is run.