Recently, kio-fuse got installed on my system by an OS update (Fedora 33). Since then, opening man: (and also info:) URLs no longer works with my default browser set to Firefox (I assume the same might apply to any non-KIO browser).
STEPS TO REPRODUCE
1. Set your default browser (or association for text/html) to Firefox
2. Bring up KRunner using Alt+F2 and enter "man:bash" OR run "xdg-open man:bash" in a terminal OR run "kioclient exec man:bash" in a terminal
3. Observe Firefox opening a completely blank page
Firefox navigates to file:///run/user/500/kio-fuse-EzPluU/man/bash, which is a nonexistent file. There is just one file in /run/user/500/kio-fuse-EzPluU/ called "man" (it's not a directory). This file contains the top-level index of manual sections, with links to URLs like "man:(1)". Attempting to open one of these links fails just like the "bash" example.
A HTML rendering of the requested manual page opens in Firefox, with working hyperlinks to other manual pages (man: urls; this requires associating man: in Firefox with /usr/bin/xdg-open). Disabling kio-fuse (systemctl --user mask kio-fuse.service) makes this work like before: The man kioslave produces a temporary HTML file in ~/.cache/kioexec/krun/8312_0/bash, which is then opened by the browser.
(available in About System)
KDE Plasma Version: 5.20.5
KDE Frameworks Version: 5.78.0
Qt Version: 5.15.2
A possibly relevant merge request was started @ https://invent.kde.org/system/kio-fuse/-/merge_requests/51
(In reply to Tomas Trnka from comment #0)
> OBSERVED RESULT
> Firefox navigates to file:///run/user/500/kio-fuse-EzPluU/man/bash, which is
> a nonexistent file. There is just one file in /run/user/500/kio-fuse-EzPluU/
> called "man" (it's not a directory). This file contains the top-level index
> of manual sections, with links to URLs like "man:(1)".
Yeah, that's the problem. According to KIO::stat, "man:/" is a regular file
(you can "kioclient5 cat man:"), but listDir is also implemented. It's not
really possible to support that in kio-fuse, so the MR linked above detects
that behaviour and causes mounting to fail, triggering a fallback to the
Git commit b1dfbaa60b3f38e0890cc4c17b0fd9d663e6eedd by Fabian Vogt.
Committed on 21/02/2021 at 21:02.
Pushed by asaoutkin into branch 'master'.
Error out when ioslaves state that / is a regular file
Reject mounting slaves with this incompatible behaviour, it can't be mapped
to FUSE semantics completely.
M +11 -0 kiofusevfs.cpp
M +20 -0 tests/fileopstest.cpp