Hacker News new | past | comments | ask | show | jobs | submit login
Linux guide for power users (2022) (xnacly.me)
195 points by yarapavan on Aug 7, 2023 | hide | past | favorite | 103 comments



So it's a tutorial where the goal is to be able to take a screenshot, post to Reddit, and feel cool. There are a few pieces of good information, but it's for people learning Linux (how to install, run a package manager, etc), not power users, which I would define as someone who understands a lot of the OS and takes as much advantage of the system at hand.

I feel as if I'd qualify as a power user, who has used Windows since the 3.1 days, who has used MacOS since the Tiger days, and who has been using various Linux distributions since 1999 -- I definitely wasn't the intended target audience of this article.

With a title of "Linux Guide for Power Users," I was hoping for some interesting scripts or relatively unknown applications that might be fun to tinker with. I always love to learn something new that I didn't know before (an example: recently I discovered TimeShift which is really a fancy wrapper around rsync and BTRFS, but it's a pretty nice GUI to help create and restore snapshots that I wasn't aware of before).


> This guide is meant as a loose inspiration for a poweruser looking to switch to Linux.

Yea the title and the intro sentence have a subtle, but very important difference.

And I appreciate the effort but I’m ultimately still confused who the target audience is. I’ve only ever used macOS (like ~9 years computer experience) but currently setting up Gentoo, and being a “power user looking to switch to Linux” myself, I would’ve found it more helpful to summarize the Linux equivalents and added optionality to macOS “power user” things.

Eg u use yabai on mac, well here’s i3 and [other options]. Desktop environment? You actually can choose and here’s an overview. Like it went from “eli5 what’s a distro” to vim keybindings so there was that inconsistent definition of “power user.”

I’m obviously biased in terms of what I wanted to see but my larger point is the inconsistency


Yeah, I don't really know what a 'poweruser looked to switch to Linux' even means. It doesn't compute. A poweruser is a highly proficient user. If you're looking to switch to Linux from Mac, you might be a Mac poweruser but you're not going to be a poweruser in Linux, because you're starting mostly from scratch. And if you're a Windows poweruser, then you're going to be starting entirely from scratch.

So the generic 'poweruser looking to switch to Linux' really makes no sense to me. You can't just be a 'poweruser' in the abstract. A poweruser is a poweruser of something, the thing they are highly proficient at using.


Your first paragraph is spot on. A quick look at the ToC made me think it's a "how to reproduce every r/unixporn screenshot ever" rather than teaching something interesting about Linux for people well-versed in administering or using other Unix-like systems (e.g. Mac OS, FreeBSD, ...).

This may be oddly specific to myself, but I hate having to memorize internal IPs and like to address my computers with their hostnames. This article makes no attempt to tell me anything about hostnames, mDNS, DNS-SD, etc. on Linux. Is mDNS configured OOTB on most Linux distros like it is on Mac OS? If not, which implementations should I consider using? So on, so forth.

I also find it a bit amusing NeoVim is automatically chosen for the reader. I'll stick with Emacs, and I know many others will stick with VS Code or just plain old Vim. :)


mDNS does work out of the box mostly with systemd-resolve (and the right firewall rules if you only allow certain inbound traffic).

You can add something like avahi and have Linux do more interesting things like reflection between interfaces/networks--critical for segregating your Chromecasts and other IoT devices.


I get that some people want to switch from macOS to Linux, but why would they want to change from *BSD? In all likelihood, one uses a BSD precisely because it's not GNU.


My recent gripe is that I've used Linux for more than half my life and I'm well into my 30's. I feel like my ability to navigate a system has gone _backwards_, Debian no longer accepts 'init 0' as a command, ipconfig isn't a command anymore, systemd changed the whole subsystem from underneath me, ubuntu/snap decided not only to litter+bloat my filesystem with needless duplicates but also that not only would I prefer Firefox be a snap package (which broke my workflow), but that it would require me to go well out of my way to solve that, Gnome decided that I wanted a touchscreen layout (I custom compile gtk+ to remove the 'search on type' behavior in file>open dialogs, most major packages seem to default to nouveau which while a great movement seems to totally break critical path regularly.

How the hell have we gotten to a point where Linux closely reflects the instability of the Windows ecosystem. I'm not afraid of change, but I feel like the large majority of changes that are made cause me problems to the point where I now fear upgrading my distro to latest.


> Debian no longer accepts 'init 0' as a command

I'm not sure where this affirmation comes from. Do you have "systemd-sysv" installed? What happens when you do run `init 0´?

init(1)[0] says:

  For compatibility with SysV, if the binary is called as init and
  is not the first process on the machine (PID is not 1), it will
  execute telinit and pass all command line arguments unmodified.
  That means init and telinit are mostly equivalent when invoked
  from normal login sessions. See telinit(8) for more information.
telinit(8)[1]:

  The following commands are understood:

  0

  Power-off the machine. This is translated into an activation
  request for poweroff.target and is equivalent to systemctl
  poweroff.
> ipconfig isn't a command anymore

are you sure you're not mixing up the Windows command ipconfig[2] with the still ubiquitous ifconfig[3]? Even though it's considered deprecated in favor of iproute2's[4] "ip" command, I don't know any distro which has ceased making net-tools available, let alone unusable.

> systemd changed the whole subsystem from underneath me

I agree systemd has been pretty disruptive, but it has made me a lot more productive. Writing a unit file is dead simple, and it is capable of doing a lot of very interesting things. Hardening a unit is quite easy, for instance. You might already be aware of all that, but if not, I can drop some links on another reply.

Overall, from the one of your reply, I have the impression that you might be happier switching to a less opinionated distro like Void Linux or Gentoo. Something as curated as Ubuntu isn't a good fit for you.

  0. https://man7.org/linux/man-pages/man1/init.1.html
  1. https://man7.org/linux/man-pages/man8/telinit.8.html
  2. https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig
  3. https://sourceforge.net/projects/net-tools/
  4. https://wiki.linuxfoundation.org/networking/iproute2


Debian 12.1 out of the box, I'm sure there's a workaround, but I had to google 'How do I shutdown my computer.

s/ipconfig/ifconfig/

> Overall, from the one of your reply, I have the impression that you might be happier switching to a less opinionated distro like Void Linux or Gentoo. Something as curated as Ubuntu isn't a good fit for you.

I agree, but I work in infosec. Nobody ever got fired for running Ubuntu, particularly when there's at least some auditing of source before they push out deb packages. I know there are minimal case studies, but one day someone will get malware into a distro, I'd like to reduce the risk that it happens to the distro I'm running.

I also moved away from Gentoo ~ 10 years after systemd was mainstream, at that point it was basically impossible to get Bluetooth Audio working without pulseaudio, which seemed impossible to run without Systemd. I fully understand that Systemd is probably better in a lot of use cases and I really don't care what's running under the hood, provided it doesn't get in my way.

Edit: And the reason I hate whatever is responsible for the 'ip' command is that it's virtually impossible to google specifically for that command (y'know, because 'ip' was a protocol not a command, convoluting things unnecessarily)...


> Edit: And the reason I hate whatever is responsible for the 'ip' command is that it's virtually impossible to google specifically for that command (y'know, because 'ip' was a protocol not a command, convoluting things unnecessarily)...

Oh, absolutely. It could be forgiven if the documentation wasn't so spectacularly useless. The man page just covers that there are OBJECTs you can call, and that you should do for instance 'ip address help' to see what you can do. I encourage anyone to actually do that. A familiarity with Backus normal forms is required to decipher that "help".

Just install 'net-tools' and good ole ifconfig will be in /sbin...


> The man page just covers that there are OBJECTs you can call, and that you should do for instance 'ip address help' to see what you can do.

Amen. I just replied to the upthread comment with the same example of uselessness before reading this comment.


pulseaudio works in Gentoo now, and you can even run it without switching to systemd (which Gentoo also supports if you're into that). Gentoo also has a new sound server called pipewire that is pulseaudio compatible so that's an option also.

(and agreed with all of your other points, and there's still something to be said for the push button utility of ubuntu, etc; to your point, a lot of infosec people, including at large enterprises, prefer gentoo.. I know many of them and am one myself.)


I strongly suggest switching to pipewire instead of pulseaudio. Most big distros are already switching; pipewire is newer but already more mature/stable.


You sound about the same era as me. I'm 35 now, have been using Linux since 2001 until now. Just remember, that when you started using Linux, it was about 10 years old. It's now been 20 years since then - double the time has passed since you started, compared to what came before it. Some stuff is going to change. Sure some of those commands come from older Unixes but the point still stands :)

Some of your complaints are practical but 2 specific ones I'd note: "ip" has been the tool you wanted to use since even the mid 2000s - ifconfig wouldn't even show you every IP on an interface since then unless it had an alias. Something that may help you make the transition is the "-brief" (-br for short) switch which gives a very compact simple output that is a little easier to visually parse. If you're using a systemd-networkd system, "networkctl status" is also handy.

For systemd, I have never been bitter about it, but while it has changed many commands and interfaces or ways you work, if you just dig a tiny bit below the surface it has SO many modernsations and conveniences that more than make up for it. Make your own rosetta stone for your top commands, but then look around at all the other things systemctl, etc, offer and find some pluses to make the pain worth it :)

See also: https://github.com/certsimple/rosetta-stone


`ip --json ${object} | jq` takes the guesswork and the awful regexps that would be required to otherwise half-ass parse ifconfig output (that is not trivial, otherwise no one would need https://github.com/kellyjonbrazil/jc ).


Such is the nature of technology.

For me, I can't see how anybody actually used/managed linux systems before they standardized the api for creating/managing daemons. A simple convenient api layer for saying to a machine "I want this program running always."


The interface was standardized; sysv initscripts services are supposed to change status depending on ${1}: start, stop, reload, force-reload, status.

The shell script cosmic horrors underneath to implement the interface were not.


> I custom compile gtk+ to remove the 'search on type' behavior in file>open dialogs

> I'm not afraid of change

If that minor issue is a reason to recompile a whole ui-toolkit, then I guess you should just stop applying any os update at all...


It's not actually that complicated, iirc, I have an ansible script to trigger the build based on a 2-line patch.

The maintainers proposed a similar patch to Gnome/GTK as a hidden option in dconf, but iirc their dev team took the opinionated 'our way or the highway' approach, as they've done on many other occasions.


unafraid of change ≠ happy with any particular change

It's very much possible to be unafraid of change and still have strong preferences.


I have a feeling the BSDs could be the answer to that, but I think at this moment what makes me reluctant to migrate is hardware support (could be mitigated by buying specific hardware but I prefer to use what I already have) and virtualization (evolving but not as great as KVM). It is mainly the amount of packages available on Debian-like distros and the slow update cycle that makes me stick to them.

I tried to use OpenBSD for a while at home, and it mostly worked out, but making my VPN work with it looked so complicated that I went back to Debian.


I wonder if AI and a future GPT-5 with a much longer context window can fix this. I made a complex Tailscale/VPN/Docker config last month with GPT-4 that would have required either a highly competent/expensive sys. admin; or 2 months of reading/researching.

It took me an afternoon to get it working.


Have you considered void? ip and ifconfig are both things, services are runit scripts like in 2008, snaps aren't installed by default, your firefox will never be replaced by a snap, you don't have to use gnome, and configurations are by default lean?

Keep in mind that availability of software is not as good as Ubuntu although you can use flatpak if nobody has created a package for something and you don't want to.


> I feel like my ability to navigate a system has gone _backwards_

I've been using Linux since 1995, and I'm completely lost sometimes. The manpage for `ip` is frustrating compared to the `ifconfig` one.

If only the Mac UI wasn't so spectacularly primitive, or Windows wasn't so impressively anti-user, I'd probably switch.

Thankfully I don't share many of your UI woes because I'm on Mate.


I've been using linux since 1992, and find 'ip' far far easier to use for unexpected situations than memorising the bizarre ifconfig incantations.


Spend a week (seriously it will take that long, especially if you've been doing this for a long time and want to customize everything and also haven't been in the gentoo scene for a while) and switch [back] to Gentoo. (don't go all the way to Funtoo, yet, even though syncing and profiles are probably superior)

if you know what `init 0` is then you'll be able to pick up on Gentoo and it'll be the new distro for the rest of your life. another excellent option is Void or Alpine (both of which I prefer on servers, but Gentoo makes a better desktop because it's incredibly flexible).


You ain't kidding. I literally spent a week bootstrapping (read: compiling everything, starting with gcc) Gentoo to get a basic desktop up and running, back when that was a supported thing to do.

Would I do it again? Nah, probably not. Am I glad I did it in the first place? Eh, I was young, had a spare machine, and a bit of a masochist then. But I did learn quite a lot in the process.

These days, I think the closest you can get to the experience I had is building your own Linux from Scratch distro.


>I custom compile gtk+ to remove the 'search on type' behavior in file>open dialogs,

This "feature" never fails to amaze me and I stumble over it _every_ time I use the file picker. And for the life of me I do not understand why someone would implement it this way.

What bugs me most is that file name in the name field is already highlighted but instead of inserting text there when typing it starts to fill in another input field. I wish someone could explain. It just feels asinine. Every time.


Where can this be reported or an existing requested be upvoted? This irks me too no end.


> Where can this be reported or an existing requested be upvoted? This irks me too no end.

You can't. From what I've seen GTK / Gnome devs are incredibly unaccommodating to functionality that they don't agree with. https://bugzilla.gnome.org/show_bug.cgi?id=754302

The patch I'm using:

https://pastebin.com/cdkH8uXg

https://pastebin.com/Ek1tTcsm - this is 'file-chooser__typeahead.patch' which I sourced from a github somewhere


User facing tools have always been changing in Linux but that doesn't mean a regression in functionality, usually quite the opposite. ipchains became iptables which became netfilter. chroot and su evolved into namespaces and capabilities (yes, I know these existed since forever but no one cared back then).

I would agree with you on Gnome. It aped+ the macOS UX poorly and as a result, it feels like several random efforts thrown together with no cohesion or plot.

+: Subtle pun for old timers


> As said before, in this tutorial we will be using Manjaro due to it:

> * containing a fully configured system (yes bloat, idc its a beginners tutorial)

So is it for beginners or power users? Or can that be the same person? Choice of Manjaro is also curious, considering its history.


> So is it for beginners or power users? Or can that be the same person?

Reasonable and good question. I tend to see that as orthogonal (but with some overlap) as "power user" is more of a mindset to me.


I see it as "power user" meaning "a power user of Windows."


You can drop in replace Manjaro with EndeavourOS to achieve Arch on easy mode these days.


Arch has easy mode built in¹ these days.

--

1: https://github.com/archlinux/archinstall


I must've used this a dozen times in the last few months helping friends. It never fails to amaze me. Has options like a btrfs layout with sane defaults, choice of DE and Tiling, etc.

I'm writing this from an installation I made today using it.


it's for power users of proprietary OSes who are beginners to Linux


> considering its history

Can you elaborate?


I don't know everything, but I do know they've let their HTTPS cert expire a few times [1], and they apparently delay package updates from upstream for like 1wk for "stability" reasons... which doesn't really add any stability, and just slows down releases.

[1]: https://www.reddit.com/r/linux/comments/wr2dps/manjaro_let_t...


The package delays also apply to security updates btw. There's no procedure to get them in faster.

Ironically, on mobile Manjaro has shipped unstable and WIP patches, leading to issues and annoyed maintainers [0]

0. https://dont-ship.it/


It's amateur hour over at Manjaro. They've pushed breaking updates, insecure settings, etc. Their infrastructure is poor, as well.



"This guide is meant as a loose inspiration for a poweruser looking to switch to Linux."

It's your guide, but as a non-technical Linux power user of over 2 decades, I don't think I would recommend Windows or Mac power users make the immediate shift to the (Neo)vim and i3 "metaphors" (if that's the right way to express it). I'd recommend KDE for Windows PUs and Pop? Peppermint? (I forget which disto aspires to the MacOS look and feel.

I started using Emacs for Org because I don't program, and I gradually added email, file management, irc, gopher, roam, and other "functionality" as I became more proficient. I finally switched any key binding I could anywhere to Emacs, but I would never suggest Emacs to a Windows or Mac PU unless they already used it, let alone modal editing if they never used it and didn't live in a text editor.

When I started using Org there were not many decent open source plaintext information managers that could also do agendas, to-dos, etc. I mostly used Zim prior. Not all PUs live in text editors, program, or edit configuration files in a modal editor. Why would someone who uses a text editor primarily to edit configuration files do so in a modal editor unsteady of Gedit or Kate or even nano or micro?

Today, I would likely recommend Joplin for a PU who wants open source plain text information management plus a multitude of plugins on any platform and any GUI text editor with good syntax highlighting and customization and a Desktop Manager. It would allow for more gradual transition because being a PU on Windows or Mac means making significant changes would actually be more difficult.

But you can have my Emacs when you pry it from my cold, dead hands.


As someone who switched from Windows to Linux in college, I have no regrets.

All of the rough edges I've encountered (usually) have resulted in a better understanding of how software actually works.


I feel exactly the same. Not going down this route around the same time I probably would've gone Windows 7 -> Windows 10 -> Windows 11 and had to deal with all that brings with it.

Instead going fully Linux had its pain points, but the learning, exposure to everything and the experience was well worth it. Looking back, so many of the issue I ran into ~10 years ago barely exist today - at least I rarely run into those kind of hurdles either due to more experience or the ecosystem just being quite stable and mature now.


Likewise. I think moving my whole life to Linux has also benefitted my career greatly. Because of the time I've spent hacking on my personal system, squeezing out performance, fixing common issues, etc, I'm pretty damn good at doing so for Linux servers. Those skills have come in really handy for me many times.


Windows 10 almost killed windows for me, and windows 11 has been the final nail in the coffin (tested 11, but I haven’t moved to 11).

It’s too dumbed down. Settings don’t exist or are buried. The interface has gone backwards. Cloud and internet spam embedded everywhere..

The only reason I was still on windows was for gaming, and even that is mostly a solved problem on Linux these days.

My next main install is old faithful ubuntu server.


I have the same experience. In my case everything worked fine out of the box (after several test installs of Arch).

The best distro for a new Linux user is actually the same distro your best friend uses. When things get dire it's good to have a direct help (Arch Wiki is great but one needs to know how to extract most or its knowledge).


> The best distro for a new Linux user is actually the same distro your best friend uses.

100%.

Although an experienced GNU/Linux tinkerer can probably easily help you with any distro unless you're using something really exotic (i.e., it's immutable, non-GNU-based, non-FHS, or something like that). I run NixOS but I support a Kubuntu system for an older relative, and it's not really a problem.


Can't agree more, looking at what Windows has become from Windows 8 and onwards. It used to be that Windows users chose Windows over Linux because they saw it as the OS that "just lets them get their work done." No one can possibly say that about the Windows of today, the OS that gets in the way at every turn and corner to squeeze profits out of users who already paid.


I get what you're saying, but I have to say, other than "read the Arch wiki, stupid," I don't feel like I learn very much the nth time my sound stops working or my wifi just decides not to connect, even though other devices have no trouble. And, I'm saying this as someone who's typing this comment on a Linux machine right now.


Why would you install Arch-based Manjaro? Why not just go with a flavor of Ubuntu to start becoming productive from like minute 5? And if you're really trying to become a super-user why not NixOS?


NixOS is not an obvious choice if you want to become a "Linux super-user." It takes a very unconventional approach to package management, building and configuring your system. All great for what it is but not going to teach you the conventional Linux way of doing things.

I don't know if this is still the case but when installing Arch, it used to be that you would start with a very basic set of essential packages and then build everything up from scratch. That is a great way to become a power user. However I thought the whole point of Manjaro was that it's an Arch variant which does a bunch of that for you, so Manjaro's a weird choice for this guide.

Edit: Looks like doing a vanilla Arch install is still pretty gangsta: https://wiki.archlinux.org/title/installation_guide#Install_...


Yeah, NixOS really benefits from you understanding what it's changing.

Last year I wanted to make flatpak use a different partition. Some searches (and reading the docs) later, I decided to use /etc/flatpak/installations.d/ to add an extra location. I set up environment.etc to create the file, but flatpak ignored me. After some futzing around I eventually ran strace and realised that it was searching the nix store, and not /etc. So I wrote an overlay to have it create the file during build so it existed in the store.

Being able to recognize that NixOS may be looking at an unconventional location was what allowed me to make that work.


Most successful NixOS users— that is, people who enjoy running it!— tend to have a decent background with the usual GNU/Linux userland before they start.

I don't think it has to be this way forever, but it would take a special type of guide to help someone navigate learning the GNU/Linux userland and NixOS' take on it at the same time and we don't really have that.


Yeah to me NixOS doesn't even really feel like a 'Linux distribution'. It's just a totally different sort of experience. A cool one, but if someone had only ever used NixOS I think they'd struggle as much with a normal distro as someone that's only ever run a normal distro would struggle with NixOS.


Personally, the biggest appeal of Arch is the great wiki, a large number of up to date packages without snap/ppa whatever else Ubuntu makes you do, and the AUR for anything else that isn't available in the regular package repos.

I've only used Ubuntu for work, and typically the versions of things are quite out of date. Where as Arch, for all it's warts and costs (setup, maintenance etc) gives you those things for free.

I haven't found Arch that much more difficult to work with. For 2 years I used it on a work laptop without issue. Only recently messed up something while updating firmware drivers which requires more than 5 mins/week/month to diagnose.


Arch wiki is a great resource even if you are on an other distro, only difference is config file location in most cases.

Having up to date packages also mean having new bugs you have to deal with, for some users having a stable things outweigh having cutting edge.

Never understood people obsession with distro, whatever work for you is fine, they are all linux+open source tools


Having up-to-date packages means having old bugs fixed as much as it means new bugs introduced. In my experience, most programs get more stable over time, and not less. They fix older bugs, add features that resolve old limitations, etc.

'Stability' is an overloaded and confusing term. In the world of Linux distributions and their variants, 'stable' doesn't mean 'less likely to crash', but just 'unchanging'. Arch Linux isn't less 'stable' in the sense that it is more prone to bugs or glitches. It's less stable in the sense that it's always up to date.

The main benefit of stable distributions is that proprietary software works better on them. Hardware that only has drivers for particular kernel versions work forever. That sort of thing. They're not actually more stable in the sense that they're more reliable, at least not just because they don't update. I think they tend to have more bugs, because they tend to patch the software more and the upstream is usually better at doing that than the random Debian maintainer (or whatever) is.

>Never understood people obsession with distro, whatever work for you is fine, they are all linux+open source tools

Yeah there are differences though. The people that distrohop between a bunch of distros only to install the same big GNOME or KDE stack every time... I don't get it at all. On the other hand, Gentoo and Arch and Debian, for example, are all very different in the way they organise and install packages. The user experience at the end of the day isn't really so different though. It matters far more which desktop environment you use (if any) than what distro you run.


The Arch Wiki has the advantage of only having to manage documentation for (mostly) a single set of packages. Every non-rolling distro ends up maintaining separate websites for each releases.


Personally, if I'm recommending something for daily use (as in, you plan to do more than just work on this device) I could only recommend a rolling release where your software is always up to date. You'd usually want and expect software to be up to date (at least for software that isn't trying to screw you ;)) and if something you are using has a bug, waiting for the next Ubuntu release is unreasonable. Also, if your packages update regularly (and you update them regularly :)), it is much easier to debug when things go wrong since you can more easily keep track of recent changes.

Similarly, I wouldn't recommend Ubuntu to beginners because the dist-upgrade process is very scary and unreliable (in fact, I don't think I've ever seen dist-upgrade succeed fully without errors or manual intervention), so I wouldn't want to have that unpleasent surprise waiting for them when they aren't ready for it. The situation around snap is also likely to leave a sour taste in their mouth ("Why am I being nagged to close Chrome 2 weeks from now? And why am I still nagged after I just closed and reopened it?!" not to mention "Why can't I open this file in Chrome?").


What would you recommend instead of Ubuntu for beginners?


(not the person you’re asking, but I have an opinion)

For beginners who want to learn how things work — Slackware. That distribution guarantees the beginner will soon graduate to a non-beginner status, or understand that it’s not for them. It’s a really quick result. Ubuntu et al. just make it so people stay beginners forever.

I really like the Arch trend among beginners; it doesn’t quite have the educational value of Slackware, but at least they try.

For people who just want to use a computer for normal things I’d recommend an immutable distribution that doesn’t break (Fedora Silverblue / openSUSE Aeon) and a friend who can help (ideally — with remote access). The second component is essential with any OS.


Can you explain more about Slackware, in what sense does it help you graduate quickly and provide educational value?


It's the simplest thing you can do, short of LFS. Packages are vanilla; the user is expected to do all configuration in the way intended by upstream. There is no dependency resolution for packages; you typically do a full install of the distro, and install any extras via the method declared by upstream. Nothing is obscured, no hands are held.


That's a great question that I don't know how to answer since I haven't been on the market for a beginner Linux for a while :)

If a tech-oriented friend asked for a recommendation I'd recommend EndeavourOS because of the rolling release and great documentation, but also because I could go over the pros and cons with them in person and make sure they are ready for it and because I know they'd have at least one friend who could help them out when in trouble :)


I still don't know what a "power user" is supposed to be, after seeing the term for like 30 years. Seems to describe a range from "able to leap tall spreadsheets in a single bound" to "the person in the office who knows how to fix things".

In my experience, most long-term unix nerds today seem to end up using (a) whatever is in front of them or (b) vanilla Debian.


I think a poweruser is a highly proficient and knowledgeable user. That means a Linux poweruser is comfortable configuring their system, writing shell scripts, installing software, fixing issues they encounter, etc. A Linux poweruser understands the layout and organisation of the system, so they tend not to lead themselves down blind alleys as much as beginners do.

I wouldn't consider myself a systemd poweruser, for example. I still haven't really wrapped my head around its operating model. I have to read the documentation too much, and I often think one thing is wrong but something else entirely is going on.


The articles definition of it was certainly opaque but personally, I consider it a relative term.

“[Insert random AI tool] will make all users become power users!”

By my framing, that’s literally impossible. There’s always people that can do/get more value out of the thing than the majority, ie power users


If you want to become a power user, then using something as relatively bloated and dumbed down/obscuring as Ubuntu is not a good pick.


Yay/AUR pretty much always has what I'm looking for. Apt-get, not so much. I also never want snaps or whatever they're called. Ubuntu is a mess.


I think there are just as many reasons to avoid Manjaro and Arch as there are to avoid Ubuntu, maybe even more for Ubuntu. Ubuntu is a mess.


What are your reasons to avoid Arch, out of curiosity? For me it would only be System D, really, that and that I like Void and Alpine more.


Systemd is part of it, I flat out just don't use systemd unless I'm forced to, but there are other reasons.

At best Arch is something like "Gentoo with training wheels", but I see it more like "Ubuntu Minimal but different". I mean its whole marketing thing is "OMG Arch is super duper customizable, make your own choices!!!", but it falls short of Gentoo in that regard.

To me it seems like it's made specifically for the r/unixporn crowd; people who just want to customize the look of the OS and specific programs without much regard for the underlying things.


Manjaro can be just as productive out of the box as Ubuntu can.


This appears to not be for an audience of software engineers.

When I was young, I had a Compiz-enabled cube desktop (maybe with conky running) and it was super cool and stuff and I enjoyed it, so this is in that realm.

Nice of author to share his setup, though. It's often the case that explicit instructions like these help me when I'm searching for something so I always support the writing of them. I don't think this should have been posted here, though.


A much simpler guide if you are not a terminal fiend

1. Install Xubuntu

2. Start your session

3. Run

    sudo apt update
    sudo apt install pocillo-icon-theme materia-icon-theme fonts-clear-sans
4. Go to the Appearance properties. Under style select "Materia-dark-compact", under Icons select "Pocillo", under Fonts select "Clear Sans".

5. Remove the default desktop wallpaper, use something else.

6. Edit the XFCE panels

6.1. Create a panel to use as a start menu/taskbar/clock.

6.2. Create a panel to use as a dock. Make the icon size larger and make it autohide. Add multiple "Launcher" items to it with the programs you regularly use.

7. Install more stuff

    # The most similar terminal to iTerm2
    sudo apt install tilix

    # Similar to Alfred on macOS
    sudo apt install kupfer

    # Install a web browser
    sudo apt install firefox

    # Webcam software
    sudo apt install guvcview cheese

    # Flatpak
    sudo apt install flatpak
8. Go to https://flathub.org/ and install other useful software.

9. Install an office suite (for example, https://www.freeoffice.com/en/)

For games, Lutris and Steam are your friends.


Even this seems a few steps too many, perhaps catered to your needs?

Ubuntu or debian with KDE already has equivalents to all of those things. It's just 1. Install Kubuntu/Debian/KDE Neon 2. Start 3. Skip the installs, firefox is already there, KDE already has a good terminal and search 4. Keeping the default layout is fine because its already windows-ish but better 5. Don't install flatpak because it's not necessary for getting started, if ever


For development:

- You can install JetBrains Desktop, then install all the IDEs you need. Once you open your desired IDE, disable the unneeded plugins, and exclude the directories you don't want indexed. You can also disable feature you don't use like folding, code lens, breadcrumbs, etc.

- Install Rust (https://rustup.rs/) then install useful Rust system tools such as ripgrep, fd-find, bat, hyperfine, helix editor, tokei, etc.


Why is installing your preferred font and theme included in this?


I personally use another font and theme.

But if I had to pick a font, GTK theme and icon theme from the ones shipped with Ubuntu, I would pick that.

I also assume most people would prefer those settings to the theme that is included with XFCE.


i consider myself as a competent linux user, was a linux activist back in the uni days, even. but the article didn't sell me anything at all. if anything, this kind of article is what would drive me away from linux if i were not a linux user.

consider my position, a 9-5 computer guy who lost almost all of my interest in operating system. i just want to get my job done, be it writing software for my employer or redeploy some containers on aws or what you have. in order to do that, i'd need a decent set of toolchains and other things. i wouldn't want to tinker with my graphic driver or any drivers if that matter either. if you want to convince me to use linux fulltime, you'd need to give me a guarantee that i can just sit down, install the damn os including drivers, and the dev. toolchains in less than an hour. but no! the article shows how to be "THAT LINUX GUY".


Nice article, except it promotes Manjaro, an awful distribution[0].

Author should have focused on Arch instead. Especially since they use Arch themselves.

I am guessing they are not aware what Manjaro really is, and how it is run.

0. https://github.com/arindas/manjarno


> for Power Users

> Manjaro

well, acceptable i guess...

> (yes bloat, idc its a beginners guide)

huh


If I wanted a rolling release I would use vanilla Arch or Tumbleweed. I would go with EndeavorOS over Manjaro.

I am quite happy with Debian 12, though.


> Roll a die and pick a random distro, it won’t really matter.

This isnt good advice for power users.


> Manjaro is not superior or inferior to any other Linux distribution

quite the contrary, https://github.com/arindas/manjarno


Power users use Gentoo.


Can't remember the exact quote but:

"People who use Ubuntu know Ubuntu, people who know RHEL know RHEL, but people who use Gentoo know Linux"


Are you even a Linux user if you haven't built your Linux From Scratch?


Not if they don't want to spend a third of their time maintaining their system.


That's a bunch of propaganda. Sure it takes longer for the initial setup, there's no "click this button to install Gentoo" menu, but once you've got it setup it's easier to maintain.


It's easier to maintain a very fine-level of control, but only if users are prepared to invest the time and effort to keep themselves up to date on the software that makes up their system. Sure, that is probably assumed to some degree as part of being a power user, however alternatives like Arch and nixOS are capable of providing similar levels of configuration with a little more ease, at least in certain places.

> but once you've got it setup it's easier to maintain.

In general, this is not the case compared to more out-of-the-box distros like Debian, where upgrading is simply a matter of "apt update && apt upgrade".


Minor correction would be to use

sudo apt update && sudo apt dist-upgrade -y


Nah I totally disagree. This is true of Arch, but Gentoo makes it incredibly easy to screw up your system. You never really truly break things, of course, not in a way you can't fix. But if you start adding USE flags all over the place it's pretty easy to get to the point that you can't update anymore because of endless blockers and other weird stuff.


No, masochists use Gentoo.


We use gentoo because a linux system without problems is boring.


Meh, I'll stick to binaries for 95% of my stuff.


I really couldn't understand the information, purpose, or audience for this article until I read it in the voice that announces John Cena.


perhaps also include in the ToC "retro unixporn" - don't be shy, prudes don't play with arch linux, neovim and i3 window manager :P

some good info/instructions - liked the virtualbox guide.


A "power user" is definitively someone not hacker minded.


Manjaro? It could not have been a worse choice




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: