Linux has a desperate issue with unknown unknowns. It seems to make little to no effort to account for a user approaching it with a large number of unknown unknowns wrt how linux actually works, and how to navigate its architecture sensibly. I feel like if it made a concerted effort to ease the discoverability of these kinds of things, to help a user go from "I would like to do this" to "I understand how to make that happen using the tools linux provides," A lot of my frustrations would melt away.
I want to be clear, a lot of my ire about this is explicitly because Linux seems to be the solution to so many of my issues with using a computer these days. It's highly functional, strictly focused on actually fashioning the computer as a tool for the user to do as they wish, and customizable to a fault. And it's because it seems so genuinely powerful and aligned with my ideals that I find the shortcomings with communication in both Linux and the community surrounding it so deeply infuriating.
We can do better than "if problem, use google." We can be more honest than "Just try to emulate windows and hope nothing mandates the terminal." I believe linux should make an active effort to teach the user how it works, and how to engage with it, why it does what it does in those ways. It should make onboarding oneself into its idiosyncracies as self-evident as possible.
And if all this shit I'm saying is actually solved, and redundant, than it needs to be better telegraphed where that solved shit is and how to find and use it.