For me the turning point was when a failed Windows forced upgrade ended up deleting me important files. I had backups, but I lost days of work because Microsoft felt so insecure in the face of piracy that they had to upgrade my computer despite me constantly telling them not to do so.
That was around 10 years ago. I went through various KDE distros; in the end I settled for Kubuntu.
The recent developments in KDE plasma are excellent. I haven’t had to open a command prompt in years. I hadn’t had a tech problem until this year when my tmp folder got full.
I’m from the other side, though. I’m a developer and systems administrator on Kubuntu and I live by the command line. I use yakuake, which is totally awesome, and have about 50 or so shells open pretty much permanently, all nicely tucked away in tabs and sub sections in a programmable drop down that automatically starts all those command line shells when my computer boots. It’s pure awesomeness, Linus os pure awesomeness!
Damn, you know, I love automation and customization, and your description sounds awesome. I certainly will jump the gap at some point, but the thought of having to relearn an entire OS and suite of tools, and inevitably make mistakes that will cost me time and -probably- multiple reinstalls discourages me quite a bit. I remember using Fedora 20-something ten years ago on my laptop and the amount of things for which I needed a terminal was overwhelming. I also remember trying to learn file management by copying/backing up files from the terminal, and ending up batch-deleting entire folders worth of pictures. I never had a reliable “readme” for learning all this, that didn’t already assume I knew all the lingo and was proficient in some programming language.
I started using powershell more because it comes with a lot of bash aliases out of the box. Besides a brief period of using ubuntu in like 2006 because my windows install got corrupted, its my first foray into linux. Ive been daily driving debian 12 and i love it. I feel like getting used to the lingo helped ease the transition.
But if you actually use powershell for more than simple tasks and take advantage of its object oriented nature, it might make the switch harder. If you plan to use the command line as little as possible i think the switch is trivial. Your biggest worry is going to be analysis paralysis with all the options, but i just installed debian with the defaults and trying out different desktop environments is really easy and i havent yet had a problem that wasnt simple to solve with a google search.
If japanese kanji show as their Chinese variant make sure you are using the proper font variant. My recommendation is noto-sans-cjk-jp.
Fedora does allow you to set the locale, it doesn’t mention generating them so they might very well already be present You can use docs.fedoraproject.org/…/System_Locale_and_Keyboa… to read more than I can tell you here.
I’m one of the converts. Didn’t like Windows 11 at all, decided to try Ubuntu/Zorin before going back to 10 and ended up staying. I’ve tried various distros many times over the past ~15 years but it never felt “ready” to me until now.
The last few years have had great improvements. For any average user (like a kid or adult that just browses web, streams video, zoom calls, etc) there is no reason a Linux desktop can’t be their main system.
On my laptop, I’ve switched to Linux since, despite being built in 2017, doesn’t meet Win 11’s min requirements. This is horseshit, I don’t care how MS explains it or justifies it, there’s nothing wrong with it. I’m sure during development, they realized a 20 year old computer could run Win 11 and decided to make up requirements to force people into buying new PCs.
Anyway, I’m using KDE Neon and I’m loving its ease of use and simplicity. I have barely needed to dive into the terminal to fix anything and KDE Plasma feels very polished and user friendly. To me, it feels like the new “normie-friendly” Linux. And without the horseshit telemetry and Microsoft spying, it’s like a brand new PC.
I’m a sysadmin and we are in the very early stages of rolling out windows 11 to our users. Windows is windows, but I just can’t help but have observations that windows 11 looks like KDE did maybe 10 years ago? It’s like a badly themed linux distro from 2015…
It is arbitrary: my HP Zbook initially offered W11 upgrade, but we use corporate stuff and our software wasn’t certified on W11 yet so I held off. Months later we get a notice that the Zbook no longer meets requirements for W11 LOL
Your frame of mind is “dangerous”. If you are browsing on your servers as root, you need to not manage servers anymore. If that sounded harsh, learn about attack surface area first and then I might let you back in the server room.
You won’t find discussions about running browsers as root because it’s not something you should need to discuss. Also, you don’t need to be browsing “shady” websites to get compromised. Get that myth out of your head.
find it more convenient to use the command line from a remote desktop instead of directly SSH-ing into the system
How is extra steps and added latency more convenient? The latency of a console via remote desktop would drive me crazy. Hell, I haven’t installed any kind of desktop environment on Linux server for over 20 years. It’s not needed and a waste of resources. Who needs file managers anyway?
Your frame of mind is “dangerous”. If you are browsing on your servers as root, you need to not manage servers anymore. If that sounded harsh, learn about attack surface area first and then I might let you back in the server room.
You sir/ma’am hit it right on the head.
The “run root on Firefox” isn’t the issue, it’s the red flag. Security is a mindset. Failure to understand the core philosophy of why we have roles and permissions means you’re untrusted. It really isn’t personal. It’s security.
I started with linux begin 2019. I just use xorg so I don’t know about wayland problems. I think a long time ago nvidia broke once and I switched to nvidia-dkms and it has worked fine since until recently where a mesa update broke xorg but I don’t think that has to do with nvidia. Getting CUDA to work might be trouble though (I think I briefly tried once).
Another problem is that most manufacturers of laptops directed at the Linux crowd, for some reason I will never understand, insist on punching Nvidia hardware instead of AMD/ATI. How does that help?
Unfortunately for those of us that use Cuda features, AMD just really isn’t that viable of an alternative. Anyone who’s had to deal with ROCM can attest to this…
You’ll want to look into a category of programs called dotfiles managers. There’s a bunch of them. Most of them are based on some kind of version control system, usually git.
I think I maybe phrased it horribly, my question was more like, what do I need to learn in order to modify myself the .bashrc by myself instead of using a programme. Does it make sense?
Bash syntax - I recommend Unix Power Tools by O’Reilly, but it is more advanced so maybe start with a basic version. People look at me funny whenever I say this, but I started myself with something like Unix for Dummies. Why not!?
Keep in mind that this is no trivial task: bash is basically a programming language unto itself - it even has conditionals, loops, variables, etc. Yet SO worth it if you use Unix and want to know more what it is doing.
You also should have a basic familiarity with Unix foundationals as well, to know why something such as this is very dangerous:
export PATH=“~/bin/:$PATH”
So, the easy way would be to just take the nice file, copy it wherever you want, and leave it at that. The hard way of actually understanding it may require a deeper dive into Unix. Unix Power Tools, with the picture of a drill on the cover, or maybe someone will recommend a better option but that’s what comes to my mind.
So you can do what you like, but if you are going down the road of shell customization, I recommend you first consider if bash is the shell you want to keep by googling around and reading some articles.
I personally use ZSH (and I cannibalized ohmyzsh for the few configs I wanted instead of taking the whole giant bastard of a thing) but fsh is a fine choice if you don’t care about posix (a different discussion). There are some other options to consider as well, but if you’re gonna configure, don’t do it then do it again in a month with different syntax lol.
Yeah, recently after posting this I went down a rabbit hole and found out about zsh and fish and I kind of like fish so I’m thinking about going straight to that, what a hard choice.
This sounds really similar to how I do things but I use Ansible. What are the advantages to something like yadm, that is specifically designed for dot file management, and a generic config management utility like Ansible?
I’ve only started using yadm recently so I may not be able to elaborate in detail, but for me the main draw for using yadm (as opposed to Ansible, which I use at work) is the simplicity. It’s basically just a bash script that uses git, so there’s no dependencies besides git and tools installed on most Unix systems. Ansible felt like overkill for what I needed, ie just something to manage and sync my dotfiles.
Also, maybe it’s personal bias, but I really hate installing/using Python-based programs - they often tend to go wild with their dependencies and eventually break. I recall trying to install Ansible on a Raspberry Pi at some point (via pip) and it failed because one of the dependencies couldn’t be compiled for whatever reason. I gave up after trying to fix it for a while, and dropped the idea. I’ve had similar experiences with other large Python projects, there’s always some drama. Why is why I prefer compiled binaries or simple shell scripts like yadm.
I’ve no issues using Ansible at work though. We use it on RHEL so it’s quite stable and doesn’t have the dependency issues you’d get on a bleeding-edge, ever-changing, end-user system. Plus it really shines at the Infrastructure as Code stuff so we use it to automate everything from networking gear to VMs. But I feel it’s overkill for something as simple as syncing a bunch of text files.
The code runs when it’s an interactive shell with a PS1 prompt and just checks if any of the tracked files have changed or if there are commits that are not pushed. By configuration I ignore all untracked files. If something has changed or wasn’t pushed it always prints an annoying message.
Whenever I want to do something I use dotfiles … instead of git …, everything else works the same.
This is the fun way. I have a ton of configuration files in git and I symlink to them from various places with an install script. And zshrc has enough brains to determine the OS it’s running under and the hostname. Between those two, I can have it do all the Right Things no matter what system it’s on. So far, it deploys to my personal Mac, my work Mac, my personal Linux box, my SDF account, and my Android phone with tmux.
Basically I clone the repo into .local/share/beejsys and then run the install script and everything just works. And I don’t typically have to rerun the install script after a pull.
As long as you’re not going to store sensitive data in there, I’ve just been using GitHub. I’ve got a Private Repository setup with my configs (.bashrc as well as WM configs and other dot files) and I just commit/push it up and heave an update script pull it down elsewhere. Then it’s also version controlled.
I think I maybe phrased it horribly, my question was more like, what do I need to learn in order to modify myself the .bashrc by myself instead of using a programme. Does it make sense?
Use chatgpt. Take the first line of your bashrc file and ask it to explain it. Than the second line etc. Won’t be always perfect but for bashrc it shouldn’t be a problem and you can learn a lot from it.
You need to learn bash scripting. Also, there are a few default files that the .bashrc uses which can be helpful to compartmentalize the custom things you do to it so that it's easier to undo if you screw something up. To do that, just add this to the bottom of your .bashrc
if [ -f ~/.bash_custom ]; then
. ~/.bash_custom
fi
What that will do is check if the .bash_custom file exists and then run the .bash_custom file in your home directory and apply anything in there. Also, you can call the file whatever you like, but bash does have some defaults that it will check for and run them without editing the .bashrc at all. It's kind of hard to find a list of the the files that it automatically checks for, but I know that .bash_aliases is one of them, and I think it checks .bash_commands as well, but I'm not entirely sure. Either way, you can force it to check your custom one by using the code above.
Then you can create the file and add any custom things in there that you like. For example, I like to frequently update through the terminal but running sudo apt update && sudo apt upgrade && sudo apt autoremove && flatpak upgrade was a bit tedious and I wanted a bit less feedback so I made a custom alias for my personal use.
Which hides most of the text from updating and just gives me feedback on what it's currently doing if I don't really care to know all of the details. So now I just run update in the terminal and plug in my password and it updates and upgrades everything in a human readable way.
There's a lot that can be done with bash scripting, like editing files, iterating over files and directories, setting environment variables. It's basically a full programming language so the limits are mostly your imagination.
Windows 11 has irked me on my main laptop. I still use it due to various applications (not just games) that require Windows, but the slowness of the OS and the tracking drive me away from it. I installed Linux on another drive on the laptop.
Additionally, I purchased a desktop from my friend, and completely wiped Windows from it to install Linux (KDE Neon). I realized there is nothing that I’d want from that desktop, possibly aside from a couple of games my more powerful laptop can run, that Linux cannot run.
I just wanted to add that you can run gui applications through ssh with x11 forwarding, options -X or -Y (untrusted/trusted but at least in Debian back in the day they behaved the same). So if you wanted a gui file manager you run it in the ssh session on the remote server, sudo if you need but NEVER logged as root, and the window will pop on your local DE instead of having to run an entire desktop on each server
At that price range, be sure to carefully check compatibility for your favorite distribution and for any hardware that you intend to use.
For what it’s worth, I have an old HP Stream 7 that currently runs Debian Bookworm. I think that it cost about $100 new. I can use it as a pdf reader and to sync files, but there are plenty of tradeoffs due to the 1gb of RAM, the weak Atom processor, the small amount of built-in storage, the mediocre touchscreen, and the general poor quality of touchscreen interfaces among low-resource window managers. Neither camera works and several distributions can’t support the built-in audio. Screen rotation is a crapshoot. Forget about low-power standby. Some of these issues are unique to my tablet, but some of them are problems that people tend to run into when they try to shoehorn linux into a tablet that wasn’t built with linux in mind. Something like a Pinetab would be a better bet.
I saw another person suggest an aftermarket Surface. If you go this route, carefully research the exact model number to verify that the hardware supports linux and that there is a clean way of installing your preferred distribution.
Another thing worth mentioning. Installing linux can be a special kind of hell. Most distributions don’t have a touchscreen-friendly installer. For my cheap tablet, this meant cobbling together a flash drive, a powered USB hub, a USB keyboard, a USB ethernet adapter, and a USB-OTG cable for the single micro-usb port on the tablet. Then, I had to race the decade-old tablet battery to the finish line during the install process. Plus something about a 32-bit EFI bootloader combined with a 64-bit processor.
linux
Newest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.