+OS

Major components

  • Kernel and drivers to support one’s devices.
  • GUI.
    • Stack: In Linux, this first involves: A display/ login manager (gdm, lxdm etc..) along with greeters. This spawns window manager (kde plasma, gnome, cinnamon …) + communication manager (wayland, x11 …).
    • Good window management - support for multiple monitors, a good panel for various continuously running apps (clock, speaker, keyboard switcher etc..), screen lock, multiple workspaces …

Factors

Updates

Once a good functioning system is installed, updates and additional software can be a problem.
In a complex system with independently updated parts, breakages can be hard to diagnose and fix, despite alternatives available.

Periodic releases

  • Positives
    • Greater stability. Especially if period between releases is huge (as in the case of Debian), allowing proper testing and fixing.
  • Negatives
    • You won’t get “easy to install” latest software, with bug fixes.
    • Full system upgrade may still brick the computer - so it ought be very rare (once in 5 years?).

Continuous update model - Eg. Arch Linux, Manjaro.

  • This periodically causes problems - GUI may not function. Login screen may become broken (202402). Re-awakening after suspension may not work (202402).

Redundancy

  • Redundancy is desired for important tools such as editors.
  • Redundancy may not be adequate in case of complex system with independently updated parts.
    • For example - Some redundancy in terms of display managers and desktop environments is good (especially in case of unstable systems). (Though this did not help in 202402.)

Apps

  • Should have a vast collection of easy-to-install apps.

Ease of installation

Some distributions are quite hard to install - eg. Arch.

Strategy

  • High conservativism and stability for the core system (GUI, drivers) - even at the loss of some fancy features. A failure here is most frustrating.
    • Hence, something like Debian.
  • Flexibility with peripheral tools (editors, browsers … ), taking advantage of redundancy.

Virtual machines, emulators

An emulator provides the same interface as another operating system to some application. A virtual machine simulates computer hardware.

Emulators on linux

WINE emulates windows.

mono emulates standardized part of the .Net framework. Command: mono something.exe.