I run Mylar on my Xubuntu server to manage my comic collection. I found out recently that there's a tool that can convert the embedded .jpgs to .webp to save space, but it only works on cbz files and not cbr (zipped vs rar for those who don't know). I wanted to convert all of my cbr to cbz so that I could run the tool on all my comics, so I needed to search hundreds of subdirectories for them and move them to the same folder to be processed.
Under Windows, I'd just type *.cbr into the search bar built into Explorer from the root comic directory, hit enter to get a list of files, select them all, and move them to the new folder. On Xubuntu, it's nothing like as simple.
I found the search option in Thunar which opened Catfish, typed in *.cbr, and got a no files found message. After looking through the very limited options, I started searching for a way to do it. About thirty minutes later I'd found dozens of links telling me to use different, Terminal only, tools, but nothing about how to search subdirectories from the Catfish GUI. Purely by accident, I found a post from 2012 that mentioned the fact that Catfish doesn't use wildcards, so just search with .cbr, something that's not mentioned in the official docs.
I tried it, and it searched the subdirectories too, and found my files! Except there was no way to copy or cut and paste, just open, show in file manager, copy location, save as, or delete. No good options for almost 500 files across several dozen locations.
I ended up asking Chat GPT how to do it, and doing it through the Terminal, using this:
Anyone expecting to use Linux the same way they are using Windows, without any changes, is going to be disappointed. You cannot reasonably expect to keep the same learned workflows from one system and use them on a completely different system without having to at least tweak some of it.
Learning is part of such switchovers, and loudly complaining that "Thing X is not working like I know it to, this is why people don't like Linux" is not making anyone more likely to help you nor is it going to solve your problem. I'm glad that you managed to find a way to do what you need in any case, and maybe that command will stick around in the back of your head for when you need something similar sometime in the future :)
Right, but this is fundamentally at odds with the 'Linux for everyone', 'Linux for gaming', and 'Linux can replace Windows for most use cases' rhetoric.
If you enjoy Linux for its own sake and you like fiddling around with it and learning its ins and outs, it's fantastic. But if you just want the OS to get out of the way so you can get back to what your were doing, it leaves some room for improvement.
We can't have both, and that's fine. There's also an argument to be made for people getting used to dealing with a command line because it's something of a prerequisite for getting away from increasingly shady corporate overreach. But that doesn't help me when the solution to getting my extra mouse buttons and precision mode is to create a well documented bug report for Solaar and then wait. I just want my push to talk to work, you know?
That gap is definitely shrinking as time goes on, but it's still an obstacle and it'll always be part of the conversation around GNU until it's no longer a concern for one reason or another.
The problem here is not that things work differently, but that GUI programs are often just dumb, or have the functionality but in a very strange way. And I'm not a new Linux user.
You're missing my point. It's not a case of me wanting to do something in the same way that Windows does it, it's a case of the Linux way is massively over complicated for no good reason.
Yes, the terminal is vastly more powerful, but there's no reason at all that you should be forced to use the terminal for something as simple as this.
Terminal isn't over complicated, it's the most basic interaction with operating systems and was the first mainstream UI to ever exist because it's a natural extension of what interacting with a computer truly is.
Terminal has very basic, particular syntax:
Command [required parameters]
It has some useful additions as well, like
| to pass the output of the precious command to another command
> to write to a file
< to read from a file
This basic structure allows additional tools to be installed and run without having to learn a unique GUI with all the quirks of the GUI designer for each application. You just add new commands and move on with your life, maybe referencing the manual page to check which parameters you need.
Windows has a very particular GUI design that everyone knows because of the way Microsoft captured the market in the early days, before laws prevented them from doing so. Windows is esoteric, it has a variety of GUI philosophies all jumbled together. Explorer/control panel exists next to "Metro" apps, now "Windows apps" and they both do separate things without ever integrating the two properly.
Windows is arcane and understanding it fully is thousands of hours of practice, if you actually try new things. Linux is perfectly usable from command line with just a few dozens of hours of practice.
I say all this as a primarily Windows desktop user who uses Linux when it comes to actually getting things done. If we taught Linux to our children in schools and if businesses provided as much Linux training to workers as they do windows training, the discussion we'd be having would be about how windows is too complicated and just needs a UI similar to the ones available with Linux.
It's not complicated though. It's just different than windows. It's also not an issue with Linux. Thunar just doesn't behave the way you want it to. Files in GNOME works fine, but wildcards don't require a * to search.
It's not complicated -- it's familiarity. I have used Linux as my daily driver for quite a few years now, so the moment I read your problem I was already crafting the find / mv command in my head as how I would resolve the problem. I am more familiar with it, it doesn't feel complicated at all to me -- I'm telling the computer to find a pattern, and then move the results (literally the name of the commands!). That feels really straight forward to me because I'm used to it and it's in my comfort zone. Because I don't use Windows much (really only at work, and only to run Word or Excel) it actually took me a second to figure out how I would do it in Windows (at first, I was thinking a Powershell script), and I didn't even realize that when you search in Explorer you could bulk-move the results (although I should have, that's pretty logical functionality and like I wrote I do use Windows at work albeit in a non-technical way!). Essentially, often when I have to do anything even marginally complicated on Windows, I feel the same frustration you do because it's not intuitive (to me) and it would be so much easier if I was only using the system with which I am more familiar.
I won't suggest that the Linux console is easier for most users, the way we use technology in our lives (and not just desktop processing) automatically makes the Windows interface more familiar to most people. I do totally recognize that if we do want Linux for the masses or whatever cute phrase is being used to promote Linux desktops for mom and dad and business then we have to adapt to what most users are familiar with.
That isn't even a Thunar issue anymore, it was fixed in the last version half a year ago. It's more about stable release distros provide inferior experience yet again.
This will search through whatever directory you select (and all subdirectories) for cbz, cbr, zip, or rar files. It will check the contents of each file to determine if it contains any jpg or png files. For all cbzs with jpg or png files, it will extract all data to a temp folder, convert the jpgs/pngs to webp images, and then create a new cbz file with the converted images. Any other contents of the cbz (such as ComicInfo.xml) will be retained. The final file will overwrite the existing file, so ensure you have a backup first.
All that for something that was unnecessary in the first place. The tool you're trying to use already supports the file format you have and works recursively. No need to move files or convert them first.
Yep, and that's very frustrating. I replied to someone else while you were writing this, but the gist of it is, I read somewhere else that it couldn't handle cbrs yet, and did the prep before I checked. I should have done it the other way around, but it's done now :/
If you are expecting a more windows-like experience, I would suggest using Ubuntu or Kubuntu (or any other distro using Gnome/KDE), as these are much closer to a modern Windows GUI. With Ubuntu, I can use the default file manager (nautilus) and do Ctrl+F and filter files via *.ext, then select these files then cut and paste to a new folder (drag and drop does not seem to work from the search results). In Kubuntu, the search doesn't recognize * as a wildcard in KDE's file manager (dolphin) but does support drag/drop between windows.
I don't want a more Windows like experience, I'm just shocked that something as basic as moving files requires the terminal in Xubuntu. It's just Ubuntu with a different desktop environment, it shouldn't force me to the terminal for basic tasks.
Catfish lets me find the files in the same way as you said Nautilus does in Ubuntu, but it doesn't let me do very much with them. It seems pretty pointless.
Unfortunately the choice of desktop environment matters a lot when talking about features like this
I suggest trying KDE instead, as XFCE is far from the user friendly interface your used to with Windows. Some DEs are good for new users, XFCE isn’t one of them
Whoever suggested Xubuntu for a Windows user is a bit optimistic
What I find befuddling about this is, you figured out what you needed to do, ie, you had a victory and discovered something new, and you find that somehow bad. You just did some practical console magic. By design, GNU/Linux can do a whole lot more with just the console and piping. Dive in.
I knew there would be a way to do it through the terminal, but I was disappointed because what should be a simple file operation couldn't be carried out with the file manager and search. It's a very basic task, but I had to change the way I was working to do it. As I've said in my other replies, I've been running my media server for years, and switched my laptop to Mint full time about two years ago. I grew up on DOS, and am happy using the terminal, but didn't like the fact that there was no way to do it through the GUI.
This is the sort of thing that newcomers to Linux are constantly complaining about, and I've had a thread full of replies basically saying hur dur, Linux is different, deal with it (not from you, just to clarify).
I kinda said that too actually, just maybe in a little more of a supportive, you-got-this way. You came to Linux because you wanted something different, and while the Linux desktop does continue to improve overall, what you did is always where the action will be for operations like the one you did.
It's not that it's the easiest way, full stop - it's the easiest way to do very complex and powerful operations on the fly, very quickly. If you lean into it for a while it does actually get easy, even.
I'm sorry to see so many "Don't expect Linux to work the same way" responses.
Have you tried logging a bug requesting the functionality? It seems reasonable.
I'd like you to consider another workflow, too - if you take the knowledge that you've gained about using find and -exec you might find that you don't even need to move them all to one place to preprocess - you could probably find, convert to cbz, and run through the webp conversion all in-place. You could probably even use find ... | xargs and some trickery to do it in parallel quickly.
It's not unreasonable to expect bash skills on a server; it's incredibly uncommon for servers to even have GUIs, and your use case probably hasn't been considered by the developers.
I would just mention 'I want to select and copy/move multiple search results' as the bug and ignore your specific context though. :)
Edit:
It's the rather snappily named cbz_jpg-to-webp by azuravian and the Github page is here:
I’m sorry to see so many “Don’t expect Linux to work the same way” responses.
Thank you, it is a bit infuriating. There's a definite feel of if you don't like how something works, you're not a part of the clique, and must be a Linux bashing noob.
The reason for moving them was that I use Mylar. It processes comics and should automatically convert them to cbz and move them back to the correct directories. Part of the workflow should be that it tags them and updates the comic info too. I had some files that I'd put in place before turning that option on in Mylar, but it only converts files that it thinks are new, hence the move.
I’d suggest reading the docs though; it supports cbr and cbz.
Somewhere on a forum or another site, I'd read that the cbr support wasn't working properly yet, but didn't think to confirm it before trying to convert the files. I've been burned by comic converters in the past, so wanted to prep everything first. Lesson learned though :)
Shell commands are vastly more powerful than mouse actions.
It's like the difference between being able to speak to someone using a shared language, versus only being able to point and grunt to get what you want.
The more you learn about using the shell, the more you'll be able to do things very quickly and flexibly, without having to find an app that someone else has already written to do the precise thing you want.
Native speakers of the Unixish language (as it were) wouldn't expect to use a mouse-clicky tool to do this sort of operation, because the shell is always there.
Don't think of the shell as an exceptional tool that you should only use when other things fail. To develop fluency in the system you've chosen to learn, reach for shell commands first.
I haven't learned a new skill, I just copied and pasted some commands from a website. As it is, I've been using Xubuntu on this server for a few years, and Mint on my laptop (on my PC now and then too, and permanently once I can get rid of Adobe), and I'm comfortable with the terminal. I grew up using DOS, and could set up gaming boot disks in my sleep. I just think it's silly that to do something as basic as copying files, I had to resort to this. Someone new to Linux coming from Windows is not going to have a clue how to do it, and is likely to go back, all over one of the most basic operations a GUI should be able to do.
Someone new to Linux coming from Windows is not going to have a clue how to do it, and is likely to go back, all over one of the most basic operations a GUI should be able to do.
If they don't want to learn the basics perhaps they should?
If you keep trying to use GUI to do what you want you're gonna have a bad time. The majority of Linux users doing power stuff like this will use the terminal. Because of that, the GUI is unfortunately underdeveloped.
It's good once you learn it though. Let's say that tool never existed. I could easily write a bash script to compress images in cbr or cbz myself. Or autoconvert all cbr files to cbz. Or watch my downloads directory for new files and do that automatically. It's very flexible and empowering if you learn it. Nobody can make a GUI for every single thing people want a script for.
Thunar is currently on 4.16.10. I just checked for updates, and Thunar isn't in the list. It may be part of one of the other packages that are available, but I haven't had a chance to check properly yet.
It's good to know that Catfish is being phased out though, I'm not a fan of it.
I assumed Xubuntu to have the latest xfce version since Linux Mint updated their not so long ago, but it seems they did it on their own.
4.18 is a really good update for xfce and especially Thunar - search for files in subdirectories is as simple as to press ctrl+F and start typing. I really hope Xubuntu will get it soon.
So your solution on Windows requires me to move all my files out of where they belong to process them? How do I get them all back when I’m done?
I knew how to write that find command. Didn’t need to search for anything. And because I know how to do that, I can also search for every pdf file modified since last month. I can spit out a list of the gps coordinates for every photo I’ve taken, ordered by latitude. I can find every Python script on my computer that uses Pandas. I can do a million things that boil down to "find every file that matches some complex filter and do something to it", and I learned one tool. I don’t need to learn one point and click app that converts comics, one that messes with photo metadata, etc.
I can sympathize with the idea that there’s a high learning curve. And there’s nothing wrong with trying to provide ways for people to use their computer that require less knowledge. But recognize that you’re asking for a crutch here.
I agree with a lot of what you say, but when you are handicapped (by lack of knowledge), it's ok to ask for a crutch. Maybe you only need it temporarily, but it's a massive help while you need it.
I've tried switching to Linux several times, but there seems to be a lot of gatekeepers who just say (essentially), "you're doing it wrong!".
I just want my computer to do what I want, without needing to use up hours trying to figure out some quasi-coding terminal command. Maybe I'm not the intended user, or something.
I agree with you. There's nothing wrong with not knowing how to do something. We all start basically every endeavor not knowing how to do it. My complaint is specifically with people who march into that thing they haven't learned yet with an attitude of "and you're all wrong and stupid for not fixing it for me".
Your title is a bit provocative but I feel you. The biggest plus for Linux is also a bit of a negative: there are so many different ways to do things. There are multiple file managers for example, that all behave differently in some ways. So at the beginning it can be frustrating at times to figure out how things work and how to accomplish your goal.
Despite the apparent theme here of others assuming that complaining means that I don't know what I'm doing, I've been using Linux on and off since at least Ubuntu 6.something, and have had my server and laptop running Xubuntu and Mint for the last few years.
I don't even know where to begin. First of all if you want Linux to be Windows you're going to have a bad time, the sooner you accept that Linux is a different OS and does things differently, the sooner you might start to learn it. This is one of the most common mistakes, with people trying to download .exe to install things to people expecting every single tool to behave the same. Not to mention xfce is not the only DE and Thunar is not the only file explorer, unlike Windows you have options to choose if you're not satisfied with a specific program, even file explorer.
Secondly that way is stupid even in windows, you're destroying all of the organisation you had with no possible way of recovering it. How do you plan on putting the comics back into the folders they were on before you moved them all to a single folder?
Thirdly and perhaps the most important advice I can give you, don't run random code you find on the internet, especially true for AI generated content.
How would I had done this? A quick search in Google for convert cbz JPG to webp showed me this script https://github.com/azuravian/cbz_jpg-to-webp/blob/main/cbz_JPG-to-WEBP.py which might be what you're using, looking at the help of that script it seems it acts recursively on folders and subfolders and also works with CBR. Unfortunately for you you tried to use it the windows way and so we're limited to whatever GUI is written for it. In fact most scripts would accept a parameter for the file to convert, so a small knowledge in terminal would allow you to do this for EVERY script.
The terminal is not your enemy, you're hampering yourself because you're trying to do complex stuff in the GUI which is not capable of complex stuff.
Finally, you say the documentation of Thunar does not mention wildcards as a point in your favour of "this is confusing", it's not, when a documentation doesn't mention something in general that something is not supported. If I had tried to use a proper regexp on windows finder I couldn't point to the docs not mentioning it to say "it's confusing that they don't mention they don't support regular expressions". The reason Thunar doesn't bother is that 99.999% of the time when a user searches x what he means is really the regexp .*x.*, so that's what it does, if you want something more advanced there are other tools for the job.
I didn't say at any point that I want Linux to behave like Windows, I just used Windows as an example of how easy it should be to use a GUI file manager to carry out very basic file operations. Why do people on this community sem to assume that just because I don't like the way that something works that I don't know how to do anything? It's quite condescending.
Secondly that way is stupid even in windows, you’re destroying all of the organisation you had with no possible way of recovering it. How do you plan on putting the comics back into the folders they were on before you moved them all to a single folder?
No, I didn't. My first sentence says that I run Mylar to manage the comics. I moved the files into Mylar's watch folder so that it would pick them up and process them again. Since I added the cbr comics, I've turned on an option in Mylar that automatically converts new comics to cbz. While doing this, it renames them according to the name of the comic series, and adds metadata to the cbz file that is not in the cbr. While I probably could have found another way to do this, I already have Mylar up and running. Why would I make more work for myself when I have an existing tool that does it automatically and to my pre set preferences?
As far as running random code goes, I'd already found several examples of find being used to find files, and mv is a pretty straightforward command. While I could have put the string together myself with a little bit more searching, I tried Chat GPT to see if there was a GUI based way to do it. Not because I don't like to use the terminal, but because I thought I must be missing something. Basic file operations are pretty much the whole point of file managers, so finding out that Thunar and Catfish couldn't perform a basic task was a bit of a shock. It's not a complex task for a GUI, and other OSes, and apparently other file managers according to some of the replies, can do this very easily.
The script you found is the one I will be using, but I haven't done anything with it yet. I was doing what should have been basic maintenance on the files I wanted to convert. I did make a simple mistake, in that I read somewhere else that the script couldn't handle cbr files, and didn't double check before I started getting everything ready.
It was the Catfish documentation that doesn't mention wildcards, and I didn't think that was odd because wildcards are used pretty much everywhere, plus, the documentation didn't cover very much.
The reason Thunar doesn’t bother is that 99.999% of the time when a user searches x what he means is really the regexp .x., so that’s what it does
That's part of the problem. They know that wildcards are so commonplace that they assume that it's what someone means. In itself it's not a major problem, but a message saying something like 'You searched for *.cbr, did you mean to search for .cbr?' might have been more helpful than just a blank results screen.
Why do people on this community sem to assume that just because I don’t like the way that something works that I don’t know how to do anything? It’s quite condescending.
Probably because many of us have seen really snide "This is why nobody uses your stupid shitty OS!!" posts/comments so much that "Here's why people don't use Linux" for 2435808th time this month just sounds like another condescending prick come to tell us how stupid we are for using "bad" software that doesn't work like they expect it to. I see that you seem more reasonable than that but I've also seen others around here with really crappy attitudes and ideas who've maybe stirred up a bit of a defensive mood that your phrasing stepped on.
...Now I've got to go before I also go off on a rant. Here is a virtual pancakes: 🫴🥞
First of all I owe you an apology, you don't seem to be the type of person that usually writes posts like "This is why people don't use Linux: it doesn't do everything exactly the same as Windows", and my response might have been overly harsh from past experiences.
I understand it wasn't your intention to say that, but that's quite literally what people understand when you say "I tried to do X the Windows way and it didn't worked". And this is kind of what people are trying to get you to see, it's not that the file manager has or doesn't have that feature (which BTW I would also expect it to work, and I checked on my computer and it does in fact work so I'm not sure why you couldn't select things from the search result and drag it someplace else), the thing is that you went about this with the thought "this is how I would do it in Windows", and refused to accept that people who use Linux would look at this in a different light, i.e. think about how to modify things in place instead on how to move everything to a single folder. In other words what you WANTED to do was convert all images inside cbz and CBR files to webp, so instead of asking yourself how do I run this on all of these subfolders you asked how do I move all of these files into a single folder, and that's the Windows mentality creeping out, you shouldn't need to move things around.
Yes, Mylar will rearrange the things, but here's the thing, if you had gone with the Linux mentality you would have learned how to run things in folders in place, which would have allowed you to convert the cbr to cbz in place, and then convert the images on those cbzs also in place, without needing to rely on the script supporting either CBR or recursion in the folders nor on Mylar to rearrange things. Also, just thinking about this, how would you have done it? Move CBR to black hole folder, then get them imported as cbz, then move all cbz to a different folder, then run the script, then move everything from that folder into the black hole folder and hope that Mylar doesn't decide "I already have that comic, delete the one in the black hole since it's lesser quality than what I already have stored". Instead of just running the script in the terminal passing the root comic folder, do you REALLY think that your way is simpler?.
I understand the wildcards not working being confusing, and if you hadn't mentioned that the documentation doesn't mention it I would be in 100% agreement with you that it is confusing. My point is that the docs don't need to mention features they don't support, my counter example was regular expressions which are a lot more powerful than wildcards yet almost no search bar uses, and their documentation doesn't mention it.
The message you suggested is a nice idea, if the search returns empty that would be a nice message that would direct people to the fact that it doesn't support wildcards, I would encourage you to suggest it on the git repo or proper channel to the developers, or if you're inclined to write code write it yourself and open a PR, this seems like a nice message that's very informative and would improve the quality of the software.