Lin Distros

  • minimal

    • Package managers
    • Firmware-Hardware
    • Partitioning
    • display server
      • x11
      • wayland - new, more secure, slim, still not much used
    • init systems
      • system D - usually “bloated” init system - LS
        • what? init system
          • first process that starts after booting, runs on bkg to manage services etc
          • launch what you need, in specific order
        • sysV
        • cons
          • one point of failure sunce it’s monolythic
          • mainly red-hat project
          • kind of bloated
            • it is modular but most people implement this all togheter
            • at the same time, it’s fast
          • pushes other software to be dependant on it
            • creates problems to distros not willing to use systemD
          • hides certain configs behind its own tools
            • especially bad if you want to change text files
        • pros
          • written in C
          • mantained
    • kernel type - src
      • custom - gentoo
      • linux stable - 2 months stable
      • linux lts - 2 years stable
      • libre kernel - does not allow proprietary stuff
        • usually these proprietary stuff gives hardware support
          • so you might not be able to use this at all
        • released after a few days of linux stable
      • hardened kernel - non official more secure kernel
        • incompatible with systemd
        • might brake some software
      • android kernel - specific for mobile devices
      • real-time & low latency
        • reduce latency between input and output of task at the cost of… much, especially multitasking
        • applications needs to be tailored to this to be useful
      • zen kernel & xan mod - better performance
      • TKG kernels -
    • firmware blobs
    • UEFI vs legacy Bios
      • supports big storage
      • supports graphics when you boot
    • Table partitioning
      • GPT
      • MBR - no more than 2TB
    • boot loader/manager
      • grub
        • grub-install
        • grub-mkconfig -o /boot/grub/grub.cfg
    • file systems
    • Audio
      • ALSA - driver hard to use
        • cannot play 2 audio at the same time by default
        • complex config
        • no docs
      • options
        • pulseaudio
          • everything just works
          • bad
        • pipewire - new kid in the block to kill pusleaudio + jack
      • Specific setup
        • sudo pacman -S pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber qpwgraph systemctl —user enable —now pipewire.service systemctl —user enable —now pipewire-pulse.service systemctl —user enable —now wireplumber.service sudo usermod -a -G audio $(whoami)

        • make sure audio and the right device are selected

        • might not recognize fancy external cards, so try plug it normally to pavucontrol!!!

  • Initial configuration

    • archinstall
      • mirror
        • where software come from? better if close to phisical location like Italy
      • f
      • img
    • exit (chroot) - sometimes you also need to reboot
      • especially if startx gives you permission denied. Reboot and log-in with default user like e
    • locale
      • LC_ALL overwrites everything else
      • check
        • in use
          • localectl status
          • locale
        • available
          • locale —all-locales
          • localectl list-locales
        • save & generate
          • locale-gen
      • reload
        • source /etc/profile.d/locale.sh
      • set
        • sudo localectl set-locale LANG=en_US.UTF-8
        • main file where locale will be read from FIRST
          • v ~/.config/locale.conf
        • secondary looked at files
          • v /etc/locale.gen
          • ~/.bashrc
          • ~/.profile
        • main script from where everything starts:
          • v /etc/profile.d/locale.sh
      • keyboard layout - src
        • localectl set-keymap uk
        • gb is great britain
    • resolution
      • pacman -S xorg-xrandr
      • xrandr - see all devices
      • go to xinit
      • xrandr —output HDMI-1 —mode 1920x1080 —rate 60
    • user & add password
      • useradd -m -g wheel myNewUserName
      • passwd myNewUserName
      • nano /etc/sudoers
    • fonts
      • quick: pacman -S tff-dejavu
    • xorg
      • pacman -S xorg-server xorg-xinit

      • add to ~/.xinitrc: exec dwm or whatever u using

      • xinit

      • kill xorg server: ctrl + alt + backspace

      • Fixing xinit/startx not running without sudo

        sudo usermod -aG tty username

        • Not sure if these stuff is useful

          sudo chmod 660 /dev/tty2 sudo chmod 660 /dev/tty3

          no screens found

          X -configure sudo cp /root/xorg.conf.new /etc/X11/xorg.conf

          cp /etc/X11/xinit/xinitrc ~/


        startx or xinit — :1 -nolisten tcp vt$XDG_VTNR that’s the enchanced way to do xinit needed in systemd -nolisten tcp optional but great

    • default browser
      • xdg-mime query default x-scheme-handler/http
        • output: brave-browser.desktop
      • xdg-mime default firefox.desktop x-scheme-handler/http x-scheme-handler/https
        • to change it
    • Bluetooth - arch tutorial
      • lsmod | grep btusb if it doesn’t give any output…
        • sudo modprobe btusb
      • sp -S bluez bluez-utils
        • can also install a GUI for this like blueman - src
      • sudo systemctl start bluetooth.service
      • sudo systemctl enable bluetooth.service
      • continue follow tutorial or
  • second wave

  • Smaller

    • Customize startup settings

      • nano ~/.profile - these run after log-in
      • $PATH - path that lin check to run commands
      • if have bashrc, run it

      .bashrc && . ~/.bashrc

      export PATH=$PATH:&HOME/.scripts export EDITOR=“vim” export TERMINAL=“st” export BROWSER=“firefox”

    • additional downloads

      • Helpers for AUR - needs base-devel & git
        • sudo pacman -S --needed base-devel git
        • paru

          • rustup for cargo pkg
        • yay - mantainer ditched it and created paru
      • Paru needed
        • vscodium - paru -S vscodium-bin
          • if you get permissions errors is because it’s setup by default to use /run/user/0, the problem is that this directory changes based on who log-in first in the TTY
        • brave bin
    • export LC_TIME=‘en_US.UTF-8’

      • if not, AM/PM won’t show!?