How to search from F39

,

I need a way to search files for strings. Fedora 38 included an app called something like Search for Files, and it had several useful capabilities. F39, after a clean installation, doesn’t seem to have anything for the purpose. Neither does the Software app.

I installed the Mate Search Tool, but I don’t have the Mate desktop and don’t want to change desktop environments, and maybe that explains why I can’t find the app.

I installed KFind, but then I couldn’t find KFind on my machine, so I couldn’t start it. (I think the Software app may have a button for starting a newly-installed app, but I thought of that only too late. I suppose I could uninstall and reinstall it the next time I’m online, thus exposing a Start button, if there’s ever one.)

Then I installed Konqueror. It’s supposed to have KFind in the Tools menu as Find File, at least if KFind is installed, but there was no such command in any menu.

Then I uninstalled and reinstalled KFind. I still couldn’t find it. I cold-rebooted. The Software app says it’s installed, but my desktop, even with Show Apps, doesn’t show it. Konqueror doesn’t show it in any menu.

I guess Files/Nautilus will search for a file or a folder, but not for a string inside a file.

Since most of my files that I’d need to search are in external storage, I could reboot into another OS, like from a live disc, and search from that OS, but that’s a lot of trouble and time every time.

How can I search inside my files from within F39?

There are a couple of ways to search files for strings.
The first that comes to mind is grep which works well for text files to find anything you specifically look for.
The second is strings which is usable on binary files.

Use the man pages for each to see the details.

Those two commands lack some of the options that Search for Files (or whatever it was exactly called) had. (I read the helps and the man pages but not the full manual (for grep but apparently unavailable for the strings command).) They’re also more complicated for most users because it has no GUI and for Fedora to be more popular Fedora depends on ease of use. Most users won’t even look for the help output, it’s not user-friendly, and most are not experienced with using the CLI and so many will get it wrong.

If maintainers believe that the old program was awful, okay, but we need a replacement with many of the capabilities we used to have.

You can try recoll, a desktop full text search tool with Qt GUI

For more information

dnf info recoll

The built-in search uses Tracker, which by default only indexes some of the directories under your $HOME. Maybe Gnomes’s How can I control what tracker indexes? will allow you to index external storage.

Indexing apparently wasn’t necessary in the past. I want to be able to search for contents, not just for files’ existence. With tracker or an equivalent, I hope there’s an indexing setting that supports searching everything regardless of whether it has seen a particular storage medium before, and is persistent through cold boots; I looked up the documentation and in 2 recoll dialogs, but I’m not clear that such a setting is available.

I hope that when Fedora updates it updates recoll, too. Since the Software app doesn’t list recoll, maybe Fedora doesn’t know when to update it. recoll doesn’t look user-friendly, which may make Fedora less useful to people who are not geeks and expect the computer to just work. dnf info recoll was slow and didn’t say much that nongeeks would want to know.

I suppose I could install the Mate desktop environment to coexist with Gnome and then, when I want to search, log out as a Fedora user and log in again if the login process lets me select a DE, then log out again and relogin to the Gnome DE. That’s cumbersome and probably requires closing and restarting other apps, too.

I gather the program we used to use with Gnome is now orphaned, unmaintained. I didn’t look for bug reports, so I don’t know if it has a critical problem, but I didn’t notice a problem with it on my earlier platform.

Is there a way to expose KFind either as a standalone app or in a Konqueror menu? Having to uninstall and reinstall KFind each time is not good because I’d have to be online to install (I don’t usually have the Internet for my laptop) and that would be a slow way to search. Sometimes the Software app offers an Open button for an already-installed app, but it doesn’t always, and it doesn’t with KFind.

If you have kfind installed, could you try running it from the command line by entering:

kfind

I thinkkfind does not create a desktop file in GNOME DE, so you may need to manually add it yourself. Create a file kfind.desktop with the following content in ~/.local/share/applications:

[Desktop Entry]
Exec=kfind
Type=Application
Terminal=false
Name=kfind

Additionally, you do not need konqueror for kfind to work.

1 Like

On recoll, kfind, and indexing:

First on kfind (e.g., @yuntaz):

I installed kfind, and the Software said it’s installed. But when I ran the CLI, I got this:

<localhost>:~$ kfind
bash: kfind: command not found…
Similar command is: ‘find’
<localhost>:~$

I tried find but, for it to be useful, I’m going to have to learn it.

Konqueror, whether I need it or not, still doesn’t show kfind in any menu or submenu.

I made the desktop file and put it in the folder you said to (home/.local/share/applications/ where Home is, according to the Files/Nautilus app left navbar tooltip, for “Open your personal folder”), but I don’t see kfind on the desktop, either in the dash or through the Show Apps button, either as the new folder or as something that says it represents kfind.

Now on recoll (e.g., @thuongnhieng):

recoll works and has a GUI but is cumbersome to use. I’m geeky and it took me a while to figure out how to use it. Some dialog pages are too tall for my laptop screen, they don’t have vertical scrollbars, and I can’t resize them or drag the top above the viewport, so I can’t see their bottom controls except by rotating. The search button comes before where we enter the search term, which is not intuitive or traditional. I’ll get used to recoll, but many non-nerdy users will need a course in using it, and that’s a burden not needed with some other search services I’ve seen. I hope a better choice comes along.

And on indexing (e.g., @gnwill):

I wonder why a search program even needs an index. I bring this up here as being relevant to choosing a future search service for Fedora. Apparently, recoll’s index can require a lot of storage, and it carries a security risk in where confidential data is stored including given that it might not be deleted when a primary file is, and I found that recoll apparently stores Web pages I’ve visited even though I set my Firefox browser not to do that. I doubt all search services require separate indexes; for example, a browser’s simple string search method probably doesn’t. Searching more files takes more work but might not need an index.

It’s possible that the version of KFind installed on your system is the Flatpak version, rather than the traditional RPM package. This could be the reason why Konqueror is unable to locate KFind.

To determine if the Flatpak version of KFind is installed and operational on your system, you can try the following command in your terminal:

flatpak run org.kde.kfind

If you successfully launch the KFind GUI, it confirms that the Flatpak version is installed and functioning correctly. In this case, you can create a desktop file in ~/.local/share/applications to launch KFind directly from application menu.

[Desktop Entry]
Exec=flatpak run org.kde.kfind
Type=Application
Terminal=false
Name=kfind