timochan

timochan

Why I Embrace Linux

Good Permission Management#

You may ask why I choose Linux and what the differences are between Linux and Windows. I initially started using Linux because of its excellent user permission management. Windows user permissions always felt chaotic to me. Even though this issue has been greatly improved since the NT 6.0 kernel, it still exists. Sometimes, the owner of a file that a user created inexplicably changes, and the user loses access to the file and can't even delete it. It's frustrating. On Linux, software installation and removal are managed through package managers. Software is pulled from official or mirror sources and the package's signature is verified (you can think of it as verifying the integrity of the package). Installing and removing software packages requires root permissions, but as a regular user, you can temporarily elevate your permissions when needed. Dependencies are managed well, making it stable. If something goes wrong, you can use timeshift to take snapshots and roll back. In comparison, Windows backup functionality is practically useless.

Elegant Software Acquisition#

Using package managers, you can search for a package and install it seamlessly. In most cases, you don't even need to configure environment variables because the bin directory is already globally loaded into all users' environment variables. On Windows, you have to use search engines or type in URLs to reach the software's official website, determine if it's the official site, find the download page, download the installer, install it, and then configure environment variables if necessary. Although Windows has Scoop to alleviate this problem, the software sources are scattered, reminding me of the nightmare of managing PPAs.

Centralized Configuration Files#

I really dislike the Windows registry. For ordinary users, the values in the registry are completely incomprehensible. You can only see which software they correspond to, but you don't know what these entries mean. You dare not touch them, fearing that the registry will break and be difficult to rebuild. Even with the registry, programs still generate configuration files in their own directories or user directories, lacking centralization. On Linux, /etc is the directory for global software configuration files, making centralized management convenient. For users, ~/.config is the directory for user-specific software configuration files. Moreover, the configuration options in these files are generally semantically meaningful, making it easy for users to understand. Even if they don't understand, they can find documentation explaining these options (in most cases). In Windows, I haven't seen any software specifically document the meaning of registry entries.

High Customizability#

Linux has many desktop environments, such as Gnome, KDE, Xfce, MATE, Cinnamon, etc. If you're not satisfied with one, you can easily switch to another. Each desktop environment offers great customizability, unlike Windows, which only has one desktop environment and feels the same no matter how you customize it. Linux desktop environments are highly customizable. Don't say Linux is too difficult to use. Linux requires customization to suit your taste. If you haven't started customizing, you have no right to complain.

Convenient Configuration for Startup or Scheduled Tasks#

Linux already has a great task scheduler. You can easily configure scheduled tasks for specific commands, files, or shell scripts. Windows task scheduling is a bit more complicated and sometimes tasks don't execute properly. Setting up startup items for individual files is slightly cumbersome on Windows, but it's a simple task on Linux. You can either create a symbolic link in ~/.config/autostart/ or write a startup script in your user directory and add the file you want to execute at startup. Then, add the script path to the environment variable configuration file.

Symbolic links are incredibly convenient. Although Windows also has symbolic links and directory junctions, the fuzzy permission management in Windows often leads to bugs with these features.

Rich Selection of File Systems#

Linux offers a wide selection of file systems, such as the EXT series or Btrfs. My favorite is Btrfs because of its copy-on-write (CoW) feature. For the same file, if you make modifications after copying it, Windows will occupy the space of two files, while the Btrfs file system will only occupy the space of the source file plus the changes. This means it takes up much less space compared to directly occupying the space of two files. Let me give you a simple example. If you have a 100 MiB file and you make modifications after copying it, resulting in a size of 140 MiB, then on the NTFS file system, the two files would occupy 240 MiB. However, in the Btrfs file system, the two files would only occupy 140 MiB. It's the space occupied by the source file plus the changes. And data safety is also guaranteed.

Ecosystem Issues#

The Linux ecosystem is relatively poor, especially for domestic software. Domestic tech giants prioritize short-term profits and don't do things that don't bring them benefits. In contrast, foreign tech giants have a better attitude towards Linux and are trying to be compatible. In China, even small and medium-sized companies do a better job than the big tech giants. Companies like Thunder, Sogou Input Method, Baidu Cloud, WPS, 360, etc., have done a great job and deserve praise. WPS provides a great experience and is a clean version without any paid features. Oh, even 360 Secure Browser has a Linux version with comprehensive functionality. QQ Browser is just a shell with severely limited features. I really don't know what the so-called domestic tech giants are doing. Even until now, QQ and WeChat still haven't released a relatively usable Linux version (excluding special versions). Let's not even talk about QQ... it's better if they don't release it.

However, for coding or system administration, these are not issues. The software used in daily life is not extensive and mainly focuses on development or system administration. Development or system administration software is Linux-friendly or has alternatives.

Life is short, I love Linux.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.