Rudxain (talk | contribs)
add 2 refs for CLI; they double as learning material
Rudxain (talk | contribs)
re-link Microslop "properly" lol
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Welcome to my page about [[wikipedia:Unix-like|anything Unix]]! Here you can learn about [[wikipedia:Linux|Linux]], [[Android]], and maybe even [[wikipedia:RedoxOS|Redox]] and [[wikipedia:Berkeley_Software_Distribution|BSD]].
Welcome to my page about [[wikipedia:Unix-like|anything Unix]]! Here you can learn about [[wikipedia:Linux|Linux]], [[Android]], and maybe even [[wikipedia:RedoxOS|Redox]] and [[wikipedia:Berkeley_Software_Distribution|BSD]].


The purpose of this page is to raise awareness about [[wikipedia:Operating_system|OSes]] that respect their users, and to propose them as alts for [[Microsoft Windows|Microslop Winbloats]] and [[Apple macOS|Crapintosh]]. I know there are non-*nix systems that also honor their users, but "Unices" are more standard (both in practice, and [[wikipedia:POSIX|in theory]]), so it's more pragmatic to recommend *nix.
The purpose of this page is to raise awareness about [[wikipedia:Operating_system|OSes]] that respect their users, and to propose them as alts for [[User:Rudxain/Microslop|Microslop]] [[Microsoft Windows|Winbloats]] and [[Apple macOS|Crapintosh]]. I know there are non-*nix systems that also honor their users, but "Unices" are more standard (both in practice, and [[wikipedia:POSIX|in theory]]), so it's more pragmatic to recommend *nix.


==Why Unix?==
==Why Unix?==
Line 32: Line 32:


===Android===
===Android===
If you need Android but your [[List of phones that do not allow bootloader unlock|BL is perma-locked]], you can install [[wikipedia:Termux|Termux]], as it's more lightweight than a [[wikipedia:Virtual_machine|VM]]. If your [[Bootloader unlocking|BL is unlocked]], then try installing a [[wikipedia:List_of_custom_Android_distributions|custom "ROM"]] (I hate that term so much. It's clearly a [[wikipedia:Misnomer|misnomer]]). List of suggestions:
If you need Android but your [[List of phones that do not allow bootloader unlock|BL is perma-locked]], you can install [[wikipedia:Termux|Termux]], as it's more lightweight than a [[wikipedia:Virtual_machine|VM]]. If your [[Bootloader unlocking|BL is unlocked]], then try installing a [[wikipedia:List_of_custom_Android_distributions|custom "ROM"]] (I hate that term, it's clearly a [[wikipedia:Misnomer|misnomer]]). List of suggestions:


*[[GrapheneOS|Graphene]]
*[[GrapheneOS|Graphene]]
Line 41: Line 41:
There are 2 major options:
There are 2 major options:


*If you like non-[[wikt:clutter|cluttered]] [[wikipedia:User_interface|UIs]], choose [[wikipedia:GNOME|GNOME]]
*If you prefer non-[[wikt:clutter|cluttered]] [[wikipedia:User_interface|UIs]], choose [[wikipedia:GNOME|GNOME]]
*If you like [[wikt:versatile|versatility]] and [[wikipedia:Ergonomics|ergonomics]], choose [[wikipedia:KDE_Plasma|KDE Plasma]]
*If you prefer [[wikt:versatile|versatility]] and [[wikipedia:Ergonomics|ergonomics]], choose [[wikipedia:KDE_Plasma|KDE Plasma]]


Everything else is "less standard", but still worth trying:
Everything else is "less standard", but still worth trying:


*[[wikipedia:COSMIC_desktop|COSMIC]], which looks promising!
*[[wikipedia:Cinnamon_(desktop_environment)|Cinnamon]] is the default on Mint
*[[wikipedia:Cinnamon_(desktop_environment)|Cinnamon]] is the default on Mint
*There's also [[wikipedia:Xfce|Xfce]], if you want less bloat, but I've read that nowadays its [[wikipedia:Memory_footprint|memory footprint]] is in the same [[wikipedia:Guesstimate|ballpark]] as Plasma and GNOME.{{Citation needed}}
*There's also [[wikipedia:Xfce|Xfce]], if you want less bloat, but I've read that nowadays its [[wikipedia:Memory_footprint|memory footprint]] is in the same [[wikipedia:Guesstimate|ballpark]] as Plasma and GNOME.{{Citation needed}}
Line 54: Line 55:
Let's be honest, [[wikipedia:Bash_(Unix_shell)|Bash]] and [[wikipedia:GNU_Readline|Readline]] have '''terrible defaults'''. No wonder [[wikipedia:Z_shell|Zsh]] and [[wikipedia:Fish_(Unix_shell)|Fish]] are so popular. HOWEVER, let me be clear that Bash can approximate the ergonomics of Zsh ''really well'', given that you configure it properly.<ref>https://github.com/Rudxain/dotfiles/blob/d02045700129609f2c6dfa91ebf9a54a9d81b012/.config/inputrc</ref><ref>https://github.com/Rudxain/dotfiles/blob/d02045700129609f2c6dfa91ebf9a54a9d81b012/.config/sh/rc#L24-L28</ref><ref>https://github.com/Rudxain/dotfiles/blob/d02045700129609f2c6dfa91ebf9a54a9d81b012/.bashrc#L5-L10</ref>
Let's be honest, [[wikipedia:Bash_(Unix_shell)|Bash]] and [[wikipedia:GNU_Readline|Readline]] have '''terrible defaults'''. No wonder [[wikipedia:Z_shell|Zsh]] and [[wikipedia:Fish_(Unix_shell)|Fish]] are so popular. HOWEVER, let me be clear that Bash can approximate the ergonomics of Zsh ''really well'', given that you configure it properly.<ref>https://github.com/Rudxain/dotfiles/blob/d02045700129609f2c6dfa91ebf9a54a9d81b012/.config/inputrc</ref><ref>https://github.com/Rudxain/dotfiles/blob/d02045700129609f2c6dfa91ebf9a54a9d81b012/.config/sh/rc#L24-L28</ref><ref>https://github.com/Rudxain/dotfiles/blob/d02045700129609f2c6dfa91ebf9a54a9d81b012/.bashrc#L5-L10</ref>


I haven't tried Fish, because it looks bloated. However, I'd recommend it over Zsh, simply because Zsh is too similar to Bash. If you use a non-POSIX shell, why not go all the way and enjoy the benefits? ;) (the Zsh condition [https://pointersgonewild.com/2024/04/20/the-alternative-implementation-problem/ is sad])
I haven't tried Fish, because it looks bloated. However, I'd recommend it over Zsh,<ref>{{Cite web |last=Evans |first=Julia |title=Reasons I still love the fish shell |url=https://jvns.ca/blog/2024/09/12/reasons-i--still--love-fish/ |url-status=live |archive-url=https://web.archive.org/web/20260304110218/https://jvns.ca/blog/2024/09/12/reasons-i--still--love-fish/ |archive-date=2026-03-04 |access-date=2026-04-19}}</ref>(source correction: Bash has [[wikipedia:Bracketed-paste|bracketed-paste]] by default) simply because Zsh is too similar to Bash. If you use a non-POSIX shell, why not go all the way and enjoy the benefits? ;) (the Zsh condition [https://pointersgonewild.com/2024/04/20/the-alternative-implementation-problem/ is sad])


Since we're talking about "anti-POSIX", maybe try [https://www.nushell.sh/ Nushell]? It's too weird for me, very "[[wikipedia:PowerShell|PowerShelly]]", lol.
Since we're talking about "anti-POSIX", maybe try [https://www.nushell.sh/ Nushell]? It's too "[[wikipedia:PowerShell|PowerShelly]]" for me, lol.


==Usage==
==Usage==
Your distro (and most installed packages) should have docs available locally as [[wikipedia:Man_page|<code>man</code>-pages]] or in <code>/usr/share/doc/</code>. Most DEs have a "Welcome" app that auto-starts on first login, so you should be good to go.
Your distro (and most installed packages) should have docs available locally as [[wikipedia:Man_page|<code>man</code>-pages]] or in <code>/usr/share/doc/</code>. Most DEs have a "Welcome" app that auto-starts on first login, so you should be good to go. If you encounter a compressed text file, such as <code>README.md.gz</code>, you can open it in any [[wikipedia:Terminal_pager|pager]]-like program (including text-editors, like [https://helix-editor.com/ Helix]) by running a command like <code>zcat README.md.gz | less</code>.


And please:
And please:
Line 65: Line 66:
*Don't be afraid of the [[wikipedia:Terminal_emulator|terminal]]! Terminals are your friend. Don't let Big <s>Brother</s> Tech tell you otherwise.
*Don't be afraid of the [[wikipedia:Terminal_emulator|terminal]]! Terminals are your friend. Don't let Big <s>Brother</s> Tech tell you otherwise.
*Don't be afraid of CLI apps!<ref>https://github.com/you-dont-need/You-Dont-Need-GUI</ref><ref>https://github.com/jlevy/the-art-of-command-line</ref> Except <code>rm</code>, that one is dangerous unless you add <code>[https://pubs.opengroup.org/onlinepubs/9799919799/utilities/rm.html#:~:text=%2Di,-Prompt -i]</code>. See [https://www.gnu.org/software/coreutils/faq/coreutils-faq.html#I-used-rm-to-remove-a-file_002e-How-can-I-get-it-back-now_003f how to recover deleted files].
*Don't be afraid of CLI apps!<ref>https://github.com/you-dont-need/You-Dont-Need-GUI</ref><ref>https://github.com/jlevy/the-art-of-command-line</ref> Except <code>rm</code>, that one is dangerous unless you add <code>[https://pubs.opengroup.org/onlinepubs/9799919799/utilities/rm.html#:~:text=%2Di,-Prompt -i]</code>. See [https://www.gnu.org/software/coreutils/faq/coreutils-faq.html#I-used-rm-to-remove-a-file_002e-How-can-I-get-it-back-now_003f how to recover deleted files].
*Don't be afraid of [[wikipedia:Unix_shell|shells]]! except Bash, that one is a menace.<ref>https://mywiki.wooledge.org/BashPitfalls</ref><ref>https://github.com/anordal/shellharden/blob/1e629728e37d2e78dd3a06ed69cd54e2f66b87b0/how_to_do_things_safely_in_bash.md</ref><ref>https://github.com/oils-for-unix/oils/wiki/Shell-WTFs</ref><ref>https://github.com/koalaman/shellcheck/issues/3067</ref> I use Bash daily but I recommend [https://oils.pub/ Oils].
*Don't be afraid of [[wikipedia:Unix_shell|shells]]! except Bash, that one is a menace.<ref>https://mywiki.wooledge.org/BashPitfalls</ref><ref>https://github.com/anordal/shellharden/blob/1e629728e37d2e78dd3a06ed69cd54e2f66b87b0/how_to_do_things_safely_in_bash.md</ref><ref>https://github.com/oils-for-unix/oils/wiki/Shell-WTFs</ref><ref>{{Cite web |date=2024-10-05 |title=Feature suggestion: Warnings regarding (automatic) recursive indirection/eval within \[\[ (( and $(( blocks |url=https://github.com/koalaman/shellcheck/issues/3067 |url-status=live |archive-url=https://web.archive.org/web/20260420003136/https://github.com/koalaman/shellcheck/issues/3067 |archive-date=2026-04-20 |access-date=2026-04-19 |website=GitHub}}</ref> I use Bash daily but I'd recommend [https://oils.pub/ Oils] ([[wikipedia:Shill|shill]] alert!).
It's fine if you're not used to [[wikipedia:Text-based_user_interface|TUIs]], don't feel pressured. Depending on the distro you choose (e.g. Mint), TUIs aren't required at all.
 
Like many things in life, it might take you time to get comfortable with a different way to do things, this would be the case if you've been using TUIs your entire life and encountered a GUI. Arguably, GUIs tend to be more intuitive (on average) for most tasks, but TUIs can sometimes be more user-friendly than GUIs!
 
IMO, the "holy war" of GUI vs TUI is pointless, both excel at different things. I typically use this example:<!-- Please suggest better examples, lol -->
 
*A camera app is clearly better as a GUI. Real-time photo-previews are one of the main reasons why digital cameras made film-based cameras "obsolete".
*A calculator app is better as a TUI (unless it's a graphing-calc), because you're not limited by a custom keyboard (unless you're using a tiny touchscreen, because custom keyboards have bigger keys). Also, most TUI calculators (such as <code>[[wikipedia:Bc_(programming_language)|bc]]</code>) support looping and conditional constructs. And you're dealing with mostly-alphanumeric data anyways, so a GUI would feel "forced" and inconsistent.
 
Personally, I have a preference for TUIs, simply because they tend to not be bloated. But I love GUIs when they're implemented properly!


==External links==
==External links==