Difficulty: ☆☆☆☆☆
Remember when you installed your very first Windows, added bells and whistles and then couldn’t see the wood for the trees any more and had to re-install?
Well, you’re in the same situation now: You’re a N00b again! Embrace it!
I know right now you’re thinking:
Why is this so much more difficult than Windows?
Whereas in 6 months time, you’ll be like:
So, below this are the main differences between the Windows and Linux ecosystem:
(click any ► to expand that particular section)
Windows has drives, Linux has a hierarchical file system
Expand to get more info
-
So Windows:
- has drives
- The
C:
-drive generally contains Windows and sometimes data - The
D:
-drive (if present) contains data and hardly ever contains Windows itself. - The maximum number of drives is 26 (A-Z)
- All drives that contain a known file system are always mounted automatically.
Huh, what is “mounting”???
Click the triangle to know more about that!
- “Mounting” is making a drive available to the system.
- I.E. If you insert a USB stick into a Windows machine, it will
get theWindows will automatically mount the USB drive asF:
drive letter automaticallyF:
- You need to know that is happening automatically under Windows, because under Linux it’s better to do this manually as Linux provides more flexibility in how and where you mount partitions!
-
Linux has one huge file system:
- with an unlimited number of partitions (not disks, not drives!) ¹
- you can mount any partition of a disk anywhere in the file system!
(Repeating that you cannot mount a disk, only a partition under Linux!) - Here is the official documentation on the FHS (File System Hierarchy Standard) in HTML / PDF / Text format.
Homework assignment #1: read that!.
No, really: read it!
OK, you didn't read it; here's a summary
/etc
contains system configuration files./home
contains user data (“My Documents”) and user config files
(E.G. if you have one computer with 2 users and user 1 sets their resolution to HD and user 2 sets it to UHD, that’s where this kind of config is kept)/root
contains the home directory for the root user./lib
contains shared libraries (known to you asDLL
s) that the essential binaries (known to you asEXE
s) in/bin
and/sbin
need to be able to run and where kernel modules are stored./usr
contains the Unix System Resources and is intended to be a read-only directory that stores files that aren’t required to boot the system. I.E. This is wheresort
andgrep
and assorted brethren / sistern live…
In general, when you install additional software from Manjaro’s repositories, its binaries, libraries and supporting files go here in their corresponding/usr/bin
,/usr/sbin
or/usr/lib
directories./opt
: contains “optional” software.
In general, this is where games install themselves./run
: This directory contains system information data describing the system since it was booted, so don’t do funny stuff like mounting anything there in your/etc/fstab
./media
: This directory is for mounting external media that needs to be available to the system and where you should create additional directories for each external drive you want mounted concurrently. (so you can have your CD-ROM, DVD drive, Blu-ray drive, External hard disks 1 2 and 3 all mounted simultaneously)
And as you didn’t read the FSH, read this excellent tutorial instead for more than the very basic information above.
-
Partitions are not automatically mounted in Linux!
Huh? That sounds dumb! Why is that???
The Manjaro installer will manually mount only the absolute minimum number of partitions to get your system up and running:
I.E. It will manually mount:/
(always)/home
(if you created such a partition)/boot/efi
(If you have an UEFI system instead of a BIOS system)
and it will leave any other partitions alone to ensure you don’t mess them up!
I.E. If you have a dual-boot system, Manjaro will not mount your Windows D: drive automatically!If you want to have any other partitions available at every boot, you should read about
/etc/fstab
.
Linux has multiple GUIs
Expand to know more about Desktop Environments
-
Windows has one GUI whereas
-
Linux has different Desktop Environments (DE):
- XFCE: Lightweight, simple, best for beginning users
- KDE: lots of bells and whistles, good for recent and powerful hardware and people who like to tinker!
- Gnome: Simple, the default for lots of distributions
- Cinnamon:
Gnome like it should beBeefed-up Gnome with more bells and whistles. - Lxqt: comparatively low resource requirements. This makes it especially suitable for use on
olderresource-constrained computers. - Mate: The MATE Desktop Environment is the continuation of GNOME 2. It provides an intuitive and attractive desktop environment.
- I3: Great for power users. Stay away from it: you’re a N00b again!
Even I’m not running I3 (yet) and am still on KDE… - And all of the above come with their own:
- File Manager
- System Settings (Known to you as “Control Panel”)
- Partition Manager (except XFCE: they need one of the others to be installed)
- The above is less important on modern computers and has become a matter of taste.
What you should remember is that mixing and matching DE’s is not wise!
More specifically:-
Don’t install the Gnome Editor (
gedit
) on KDE but usekate
instead becausegedit
will pull in a ton of libraries (and functionality) of Gnome which will bloat your system. -
Don’t install 2 DEs for one user:
- You can have different DEs one a single computer
- Each user can have their own DE
- Having 2 DEs for one user is a recipe for disaster as one single configuration file might be used by 2 DEs for wildly different functionality! and untangling this Gordian knot will be so complex that a reinstall is always easier.
Remember: You’re a N00b again! You’re going to re-install at least once! (Unless you’re smarter than me… )
Linux has multiple file systems
Expand to know more about Linux/Windows file systems
- Windows has one file system: NTFS (and if you include the DOS FAT file system it has two. ²)
- Linux has:
- EXT2, EXT3, EXT4: If you’re unsure, take EXT4 as that is the newest member of that family and the most used FS on desktops.
- BtrFS: “Better FS” is good for servers or if you have a beefy computer and want FS resilience
- ReiserFS
- ZFS
- And even more than you’ll ever need
- And guess what? Linux can also read and write to NTFS although it cannot do CHKDSKs, defrag such volumes nor can it change its permissions , so before you finally wipe that damn Windows from your machine,please, please, please first convert any NTFS volumes to EXT4 or any other Linux FS you’re comfortable with!
And remember to mount
(see above) file systems before you access them, because your file manager might automount them read-only for you (which is not always what you want/need)
Linux has multiple kernels
Expand to know more about Windows/Linux kernels
-
Windows has different versions and each version has its own kernel. So basically Windows has one kernel for Windows 8, one for Windows 10 another for Windows 11, …
(I distinctly remember saying about Windows Version 1.0: Huh, what a piece of crap, that’ll go nowhere! Let me buy SideKick instead! and history proved me wrong…) -
Linux can have multiple kernels and:
-
Remember that:
- LTS = Long Term Support = ultra-stable
- Stable = Stable Development Kernel
- RC = Release Candidate = Unstable development kernel
- Keep an eye out on the End Of Life (EOL) dates for LTS kernels here and for non-LTS kernels here
-
It’s always a good idea to have at least one Long Term Support (LTS) kernel installed
-
It’s always a good idea to have at least one fall-back kernel installed.
(In the case of 6.1 LTS, that would be 5.15 LTS; in the case of 6.5 Stable, that would be 6.1 LTS; …) -
It’s only a good idea to have a non-LTS kernel ³ installed if:
- you have very new hardware and none of the LTS kernels work for you.
What should I be aware of if I'm not on an LTS kernel?
- "Stable"and “Release Candidate” (RC) kernels are Development kernels
- They have the newest, shiniest features but are not as rock-solid as LTS kernels
- These kernels become End of Life (EOL) much quicker than LTS kernels, so you should keep an eye on:
- The Manjaro Announcements
OR - Linus Torvald’s kernel page to know when your shiny new genie will go “poof” back into its bottle.
- The Manjaro Announcements
- If you’re on a RC kernel, update frequently and stay on that kernel once it becomes stable
- If you’re on a Stable kernel, install a higher version Stable kernel the moment it gets releases as Stable
(so don’t jump on the RC kernel bandwagon: these are less stable than what you’ve got already) - Shut down or reboot your machine at least once per day. (Like Windows: that’s as unstable as a RC Linux kernel)
- Manjaro is one of the few distros that supports Stable and RC kernels so live with a bit of frustration if things go a bit wonky every now and then and certainly don’t install Ubuntu or Mint or RHEL as they will just not support any of this.
- you’re a developer and want to test your applications with the latest but not necessarily greatest kernels out there.
- the whole point of having Manjaro is to test out new things like new kernels and filing bugs with the developers that don’t have your technical knowledge.
- you have very new hardware and none of the LTS kernels work for you.
-
to install different kernels, use the
kernel
GUI program or themhwd-kernel
CLI program. -
E.G. to install the latest LTS kernel at the time of this writing execute:
mhwd-kernel --install linux61
To compare this to Windows would be to say that if Windows were Linux it would allow you to run the Windows 11 shell on the Windows XP kernel or the other way around or any other bizarre combination you as the administrator wanted!
-
Linux doesn’t have a registry!
Expand this to know how this is possible
- OK, the Gnome DE (Desktop Environment, see above) has something called “the dconf database” which is similar to but different from the registry, mostly used for the DE itself whereas most applications will still use config files. (see below)
- All other DEs have config files, just like all Windows versions prior to Windows 95:
- system config files are located in
/etc
- user config files are in
~/.config
:~
is an abbreviation for “your home directory”.config
is a hidden directory:
(I.E. Any directory starting with a.
is hidden and you probably have to press Ctrl+H in your DE’s File Manager to see these.)
- Application config files can reside somewhere else (though that happens rarely)
- system config files are located in
What’s the difference between BIOS and UEFI?
Yeah, what is that funky stuff???
The most important things to remember from this section are:
-
Neither the BIOS nor the UEFI environment is part of Manjaro / Linux / Windows:
It is an integral part of your hardware!
So if you run into very specific BIOS / UEFI issues, it is important you take them up on your hardware manufacturer’s forum and not here, though you might get lucky here and someone else knowing a lot about UEFI might have the same hardware as you… -
Please always check your manufacturer’s website manually for BIOS update or EFI firmware update in their software or driver section:
- every month if your machine < 1 year old
- once per quarter if < 3 years old
- 1/year if > 3 years old
-
Always format any disks younger than 10 years in GPT mode (see below)
What is a BIOS?
- The original IBM PC BIOS was designed in 1981 for this thing:
- The original IBM Basic Input Output System consisted of four (4) ROM (Read-Only Memory) chips of two (2) KiloBytes for the BIOS and another few KiloBytes of ROM for its built-in
BASICA
(The latter being irrelevant to the rest of this discussion) - Those few KB ensured the disparate hardware could communicate with one another through IRQs (Interrupt Requests): the screen, the keyboard, the floppy disks, Hard Disk, the parallel port, the serial port and any additional ISA extension cards and that’s all it did.
- A few companies made BIOSes compatible with the IBM BIOS of which a few names survive to this day: American Megatrends Inc, Phoenix Technologies and some do not: Compaq, Award, … and each ROM was designed specifically for one particular machine
- Until the middle of the 1990s, a bug in your BIOS meant replacing the actual ROM chip by faxing a paper document to your manufacturer, receiving a new ROM chip using snail mail, opening up your PC, removing the existing ROM and replacing it with the new one.
E.G. The author of this tutorial had to replace a Compaq ROM in a server to use a HDD > 512 MBytes! - By the middle of the 1990s, EEPROM (Electrically Erasable Programmable Read-Only Memory) became prevalent and “BIOS-updates” became a thing.
- The BIOS booted a machine by executing the code of 512 bytes that resided on its Master Boot Record (MBR) which on a Floppy of 180 KBytes, was a lot!
- The maximum size of the BIOS was 64K and by the end of the previous millennium those 64K were pretty much full due to features the 1981 IBM PC could only dream of.
What is a UEFI?
- UEFI is not just one chip, but an entire environment (see below)
- EFI 1.0 was designed in 2000 by Intel and HP (It’s important to know that the original spec was called “EFI” which will become clearer later) as proprietary software!
- UEFI 2.0 (Unified Extensible Firmware Interface) was released in 2006-01-31 still not as open source but instead owned by the UEFI Forum which is a conglomerate of hardware manufacturers.
- Any and all computers made after 2010 are not BIOS machines, nor EFI machines but UEFI machines, even though some manufacturers still today have “BIOS updates” instead of “UEFI Firmware updates”
- The UEFI environment consists of:
- NVRAM (Non-volatile RAM) which replaces the BIOS’s ROM and contains:
- Boot priorities
- Drivers
- Programs:
- Like Lenovo’s adware in the late 2000s that survived even when you completely wiped your OS and re-installed it.
- The secure boot environment
- Which most people turn off to be able to run Linux
- Most UEFI environments nowadays allow you to add any
.efi
file, includinggrubx64.efi
to the secure enclave.
- Data (like your hardware manufacturer’s logo)
- GPT (GUID Partition Table) which is like an MBR (see the BIOS section above) but instead of being limited to 512 bytes, the maximum size of the GPT itself is about 18 Exabytes. (Yes, just the GPT!)
- ESP (EFI System Partition)
- Now it becomes clear why you have to know that UEFI used to be called EFI!
- There can be only one ESP per drive (HDD, SSD, USB stick, SD Card, …)
- The ESP must be formatted in FAT, FAT-16 or FAT-32
- The ESP must reside in the first 2.2 TB of a disk if formatted in FAT-32 (beware of this when you move partitions around on a disk and why it’s generally the very first partition)
- The ESP contains the UEFI boot environment that is not stored in the NVRAM and is under control of the OS(es) in the following format:
The above is an example for a Quadruple boot system: Windows, Manjaro, rEFInd and just for the heck of it an EFI shell.FS0:\EFI\ ├── Boot ├── Manjaro ├── Microsoft │ ├── Boot │ └── Recovery ├── OEM │ ├── Boot │ └── Recovery ├── refind │ ├── drivers_x64 │ ├── icons │ └── vars ├── Tools └── UpdateCapsule
- NVRAM (Non-volatile RAM) which replaces the BIOS’s ROM and contains:
- After the hardware is powered on, UEFI boots by executing the SEC, PEI, DXE, BD, TSL, RT phases simplified below by:
- Ensuring Security
- Executing the EFI Driver Initialisation
- Selecting a boot device (Remember; you can have multiple ESPs on multiple drives but only one ESP on one drive and it’ll take the first one in its NVRAM list unless the user specifies another drive)
- Hands off booting to the OS (in Manjaro / Linux terms, this is usually
grubx64.efi
)
How can I check whether my Manjaro USB live is booted in UEFI/BIOS mode?
Please be aware that there are too many options on an UEFI motherboard (MoBo) that will ensure that your MoBo is running in BIOS / CSM (Compatibility Service Module) mode!!!
After you’ve booted your Manjaro Live USB, open a terminal and execute:
test -d /sys/firmware/efi && echo UEFI || echo BIOS
and the output will be either
UEFI
orBIOS
How can I check if a disk has a GPT or MBR?
Execute:
parted --list
and you’ll get something like this:
Model: ATA Micron_1100_MTFD (scsi) Disk /dev/sda: 256GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 536MB 535MB fat32 EFI system partition boot, esp 2 1154MB 1171MB 16.8MB Microsoft reserved partition msftres 3 1171MB 69.9GB 68.7GB ntfs Basic data partition msftdata 4 86.0GB 87.1GB 1074MB ntfs Basic data partition hidden, diag 5 87.1GB 156GB 68.7GB ext4 7 235GB 256GB 21.5GB linux-swap(v1) swap Model: ATA SanDisk SD8SN8U2 (scsi) Disk /dev/sdb: 256GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size File system Name Flags 1 1049kB 210GB 210GB ext4 New_Home
where
Partition Table: msdos
andPartition Table: gpt
are a dead giveaway.Windows 8 and above dual-boot warnings
-
Any install of Windows 8 and above will create:
- a recovery partition (hidden )
- a
boot/efi/Microsoft
on the ESP - Minimum one partition for Windows regardless of the partitions already present!
Therefore, always install Windows first and Manjaro last and if possible, keep Windows on one disk and Manjaro on the other one with each its own ESP so you can easily boot from Disk #2 after Windows messed things up your first disk.
-
Be warned also that with any major Windows update, Windows will:
- Change the BIOS/CSM option back to UEFI
- Activate Secureboot
- Activate RAID on disks
- Will set the Windows boot Manager as the first boot option.
- The original IBM PC BIOS was designed in 1981 for this thing:
The terminal is your best friend!
The terminal is your best friend (if you're careful)!
Although the Windows command prompt is a scary place, the Linux terminal is not!
We’re not asking you to become a professional Linux admin, but simple things like these examples should not scare you! (Yes, the last one might look complex to you, but it’s a simple thing for the person asking you!) ;):
- An
inxi --admin --verbosity=7 --filter --no-host --width
would be the minimum required information to help you. - Please copy-paste the output of
in your next response.grep GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub
- Execute:
to know which applications are swapped outfor szFile in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 "\t" $3}END{ print "" }' "$szFile" done | sort --key 2 --numeric --reverse | more
Also, If you are a mouse user, please hover over the text of the previous code and you’ll see a little icon appearing in the top right of the code and clicking that icon will copy the entire code into the copy-paste buffer without you having to select anything!
(So basically, we’re making your life easier by providing you the exact commands to execute without typing or selecting or…)
Why, oh why are you people so focused on the @#!$ Terminal?
That’s because of history!
Once upon a time when I was a kid and dinosaurs still roamed the Earth and the only silicon we had were rocks that you had to bang together yourself, there were no mice and no GUIs and the only way of getting any work done was with the terminal!
And even today, it’s much more efficient and less error-prone to copy-paste exact commands instead of describing in detail which specific buttons to click in the correct order.
Full disclosure: Linux started off as an OS for nerds by nerds, so even today, some things cannot be done without the terminal!
Nowadays, Linux is not only for nerds, but easy enough for geeks too and in the Manjaro community we even have some end-users that are not even geeks any more!
And the more you use the terminal, the more you’ll learn to do things much more efficiently than:
- Lifting your hand
- Moving it to the mouse
- Clicking 42 menus, buttons and drop-down lists
- lifting your hand again
- Moving it back to the keyboard
Instead of:
- copy-paste this into a terminal
Having said all of the above, don’t randomly execute code from the Internet that goes like:
Hey, you should try this funny command on Linux, it’ll blow your mind away:
echo SSBqdXN0IHRvbGQgeW91IE5PVCB0byBleGVjdXRlIHJhbmRvbSBjb2RlIGZyb20gdGhlIEludGVybmV0ISBXSEFUIElTIFdST05HIFdJVEggWU9VPwo= | base64 --decode
How to install software on Manjaro and its spins/derivatives?
This is how you install software in Linux
- In Windows, you download crap from the Internet and install it and if you can’t find it on the net, you install it from the Microsoft store.
- In Linux, that’s doing things completely arse-backwards and this is how you do it instead:
-
Go to Add/Remove software or Software depending on your DE.
-
Go to Categories, and choose your category:
-
Just click Install, Install, Install on any of the software packages you want and then click Apply and the software manager installs all the software you just selected in one go!
-
Use the search function:
Just click the , type the name of the crap you want and Install, Install, Install or Build, Build, Build and click Apply -
The more proficient you get, the more you’ll know what to install exactly and then you go to a terminal to install what you want:
pamac install opencl-nvidia Preparing... ==== AUTHENTICATING FOR org.manjaro.pamac.commit ==== Authentication is required to install, update, or remove packages Authenticating as: Fabby (fab-root) Password: ==== AUTHENTICATION COMPLETE ==== Synchronizing package databases... Choose a provider for opencl-nvidia: 1: opencl-nvidia-340xx 340.108-1 extra 2: opencl-nvidia-390xx 390.132-1 extra 3: opencl-nvidia-418xx 418.113-1 extra 4: opencl-nvidia-430xx 430.64-1 extra 5: opencl-nvidia-435xx 435.21-1 extra 6: opencl-nvidia-440xx 440.100-1 extra 7: opencl-nvidia-450xx 450.57-2 extra Enter a number (default=1): 6 Resolving dependencies... Checking inter-conflicts... To install (1): opencl-nvidia-440xx 440.100-1 extra 10.6 MB Total download size: 10.6 MB Total installed size: 39.3 MB Apply transaction ? [y/N]
-
Do not install
.run
,.deb
files,snap
s andflatpack
s but activate the AUR and install from there! -
OK, if there is absolutely, positively no other way to install a piece of software except through a snap or flatpack, follow the instructions from the developer carefully and report any bugs immediately (Most common problems are no access to USB sticks, no access to clipboard, …)
If you don’t get timely responses on your bug reports, look for another piece of software that does the same thing in the AUR! -
OK, if there is absolutely, positively no other way to install a piece of software except through a
.deb
file, please know you’re opening up yourself to something called “Dependency hell” and follow these instructions here. -
As long as you’re a N00b, do not install software from
.run
files or from source, because you need to be familiar with:checkinstall
OR- be familiar with creating a PKGBUILD
and including that in this tutorial would need the difficulty level raised to Difficulty: ★★★★☆ so check the AUR first!
T h e a b o v e d o e s n o t i n c l u d e d r i v e r s !
Drivers are built into the Linux kernel: install a newer kernel first for new hardware! (see above).
Install an older kernel for older hardware and do not mix very old and very new hardware: that’s a recipe for disaster!
In very rare cases, when you need a driver not included in the kernel, check the AUR first!A n d t h i s i s w h y L i n u x h a s n o v i r u s e s !
Malware can only exist in a closed source system where the virus obfuscates itself and Linux is completely open source where thousands upon thousands of people look at said source code and even if one of them would be kidnapped (or an entire team) and malware would be introduced in their source, security researchers would immediately see that something fishy is going on!
Having said the above, if you runwine
, you should still install antivirus software like ClamAV to protect you from Windows viruses.
Please don’t download ClamAV from their websiteHaven’t you been paying attention so far???but install it using the following Manjaro command:pamac install clamav
The Community side of Linux
Linux is a self-help OS
-
In Windows almost everything is automated and uses a lot of “default settings” without really needing any major user input for it to function adequately.
-
Microsoft is working hard to try to take any user error out of the equation:
I.E. Microsoft takes complete control of what can or cannot be done!
(aka “The tyranny of the default” ) -
In Linux, if you don’t do it yourself, no one will do it for you:
- Install a backup program
- Install and activate a firewall (if you travel with your Laptop and use public WiFi that you don’t control)
- Create a driver for a less-used piece of hardware (or hardware combination) where the vendor doesn’t even know there is anything else but Windows out there. (It’s getting better nowadays but there is still hardware out there that just isn’t Linux-compatible)
- There are manuals for everything, including the manual program, so:
-
Go to a terminal by pressing Ctrl+Alt+T or if that doesn’t work look for something called
console
orKonsole
orterminal
in yourStart MenuLauncher. -
In the black box type:
man man
and now you’re reading the manual for the manual program.
-
Hit Q to Quit the manual program.
-
Type
exit
just like in Windows to exit thecommand promptTerminal. -
Some things are so easy or so complex that they don’t have a manual. E.G.:
man woman
-
You're part of a community now!
-
There is no supplier-customer relationship any more:
- You’re amongst equals now!
- Today you might need help but tomorrow you might be able to help someone else in return!
- Always treat everyone else like they are your CEO and people will treat you like theirs in return.
- Provide valuable information when you post a question.
- Just be nice even when someone else is not being nice and don’t forget to flag comments if someone is way worse than just “not nice”!
- Read all of the Forum rules
-
How to thank people here on the forum:
- The best 'Thank you" you can give someone in a thread you started, is to press the Solution button. This only applies if:
- You’re the poster of the original question.
AND - an answer actually solved your problem.
- You’re the poster of the original question.
- The 2nd best 'Thank you" is by pressing the emoji below their post.
- The 3rd Best 'Thank you" is by pressing the black emoji and giving them (or if you’re not inclined to push alcoholism) or just a simple
- And last, but not least, it’s writing 'Thank you".
Why??? Oh, why, you ask?
That’s because the forum software tallies the solutions and and gives these people bragging rights to the other geeks and nerds here on the forum, and eventually unlocks more privileges for them…
- The best 'Thank you" you can give someone in a thread you started, is to press the Solution button. This only applies if:
What is this 'Upstream' and 'Downstream" business?
You can skip this section and come back to it later when you encounter bugs
I have a bug OR I have OCD OR I want some more laughs OR I want to know it all and I want it now!
Secret #1: There is no such thing as Linux!
What is Linux, really?
Well, Linux is named after Linus Torvalds:
(A very friendly and funny and generous man, as long as you don’t p|$$ him off!)
Linus is in charge of the kernel of Manjaro, Ubuntu, Arch, Red Hat, and all other “Linuxes” out there which also includes Android phones! And as anyone who has tried eating the kernel of a piece of fruit can tell you, it’s not very tasty nor very useful. (What??? You’ve never tried eating the kernel of a piece of fruit even when you were a child??? Shame on you! )
The kernel all by itself is about as useful as a TV receptor without a screen (That’s your DE), without a remote control nor buttons (That’s your Mouse and keyboard) because it only controls the hardware in your PC: it ensures your disks, CPU, screen, and keyboard are working and that’s it!
On top of that, you’ll have a bunch of applications called the GNU Utilities, which are described in the following section.
What is GNU/Linux?
Well, the GNU utilities (GNU is a recursive abbreviation of “GNU is Not Unix”) are developed by the Free Software Foundation that was founded by this guy:
That’s Richard Matthew Stallman (RMS): He’s also a very friendly guy unless you use the word “Linux” all by itself instead of the more correct “GNU/Linux”, because if you don’t call it “GNU/Linux” he will bash your head in.
There are a lot of very small GNU utilities that were designed to perform a single task very well. Utilities like ls
, grep
, bash
, … are part of GNU and not part of Linux!
What is a Desktop Environment?
Well, the Desktop Environment is a Windows Manager (Xorg, Wayland, …) with yet another layer of utilities (System settings, an editor, sometimes a Partition Manager, …) that allow you to finally install applications (that are packaged by the Manjaro Team) like Firefox, LibreOffice, … or that are not packaged by the Manjaro Team (The Arch User Repository aka “AUR”) and thus might pose some problems to your system so that’s why you have to Activate the AUR with a lot of stern warnings that none of this has been tested by the Manjaro Team themselves.
Secret #2: The Manjaro Team is quite small!
How is that even possible?
That’s because the Manjaro team doesn’t develop everything themselves! They’re more of a Lego Team taking existing building blocks (The Kernel, the GNU Utilities, the Desktop Environment), combine them all together, throw in a bit of their own utilities (mhwd
, mhwd-kernel
, pamac
, …) which they do program themselves and then glue them all together by maintaining ISO images you can download and burn to a USB stick, updates that keep your system secure and fresh, …)
So what's upstream and downstream then?
- Downstream = The Manjaro team
- Upstream = Everyone else: Linus, RMS, the XFCE Team, the KDE Team, the VLC team, the LibreOffice Team, …)
Secret #3: Why do I need to know all this?
That’s easy! The Manjaro Team are a bunch of Nerds (with a capital ‘N’) that expect you to be at least a geek or better: a Geek (with a capital ‘G’) and to file Manjaro bugs with the Manjaro Team, but to file bugs that are unrelated to Manjaro with the correct team upstream!
So just DuckDuckGo (DDG) file bug
and then append the name of the program to your search and you’ll find out!
E.G. If I want to file a bug with the VLC player team, I just DDG file bug VLC
and look: the first hit on DDG is what I need!
Other tips and tricks
End all applications before shutting down
A major difference with Windows is that Linux has two kinds of signals to end applications:
SIGINT
: “Dear Application, please end nicely and do your cleanup” (and this is the only one Windows has)SIGKILL
:
And that’s the one invoked when you shut down, so to ensure applications don’t complain they’ve been shut down wrongly ⁴ and your terminal history gets saved to its history file, close all applications before shutting down.
Note 1: Yes, there is a limit, but it’s so large no one has ever hit it yet and Linux powers 100% of the wordl’s top-500 supercomputers!
For the real nerds out there: Somewhere between sdzzz
and sdzWith29Zs
depending on the article you read…
Note 2: Yes, I’m aware of ReFS, most people aren’t though…
Note 3: In the past, even-numbered Linux kernels used to be stable kernels and odd-numbered ones used to be experimental, but these were so experimental that no one was running them, so Linus Torvalds renamed experimental to stable and came out with LTS as a name for ultra-stable.
So if you’re a Nerd (with capital “N”) or a Geek (with capital “G”), use the stable or even Release Candidate (RC) kernels, but if you’re a user wanting a stable, but still rolling release system, use LTS kernels only!
Note 4: Yes, applications that have their origin in the Linux world generally don’t have this problem but if you run cross-platform applications or newer applications where the programmer isn’t used to SIGKILL
yet??? Well… These kinds of applications still have this behaviour! (Including most terminal applications)
Note 5: Here is a Windows 10 review video from a Linux perspective.
Note 6: If you liked reading the above, here is a more in-depth article explaining the differences between the Linux and Windows worlds.