Category: Linux

  • How to Check and Enable Wake-on-LAN on Fedora

    How to Check and Enable Wake-on-LAN on Fedora

    Wake-on-LAN (WOL) allows you to power on a Fedora computer remotely by sending a specially formatted “magic packet” over the network. It is useful for remotely accessing a home server, desktop, or media center without leaving the machine running continuously.

    This guide explains how to check whether your network adapter supports WOL, enable it, make the setting persistent, and test that it works.

    Check the Network Interface

    First, identify your wired network interface:

    ip link

    In this example, the interface is named enp3s0.

    Run ethtool to inspect its capabilities:

    ethtool enp3s0

    If you see an error such as:

    netlink error: Operation not permitted

    run the command with sudo:

    sudo ethtool enp3s0

    The interface should also report an active network connection:

    Link detected: yes

    This confirms that the Ethernet connection itself is working.

    Check Wake-on-LAN Support

    Look for these two lines in the output:

    Supports Wake-on: pumbg
    Wake-on: d

    The Supports Wake-on line shows which wake-up methods the network adapter supports. The letter g represents wake-up using a magic packet.

    The Wake-on line shows the current configuration:

    • Wake-on: g — magic-packet WOL is enabled
    • Wake-on: d — WOL is disabled
    • Supports Wake-on: ...g... — the adapter supports magic-packet WOL

    In this example, the adapter supports WOL, but it is currently disabled.

    Enable Wake-on-LAN Temporarily

    Enable magic-packet wake-up with:

    sudo ethtool -s enp3s0 wol g

    Verify the setting:

    sudo ethtool enp3s0 | grep -i wake

    The expected output is:

    Supports Wake-on: pumbg
    Wake-on: g

    This setting may be lost after reboot or when the network connection is restarted, so configure it persistently if you plan to use WOL regularly.

    Make the Setting Persistent

    Fedora commonly manages network connections through NetworkManager. List the available connections:

    nmcli connection show

    Identify the wired connection associated with enp3s0. Then configure it to use magic-packet Wake-on-LAN:

    sudo nmcli connection modify "CONNECTION_NAME" 802-3-ethernet.wake-on-lan magic

    Replace CONNECTION_NAME with the actual connection name shown by nmcli.

    For example:

    sudo nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

    Reactivate the connection:

    sudo nmcli connection up "CONNECTION_NAME"

    Finally, verify the configuration:

    sudo ethtool enp3s0 | grep -i wake

    You should see:

    Wake-on: g

    Find the Computer’s MAC Address

    A Wake-on-LAN packet must be sent to the computer’s network adapter MAC address. Display it with:

    ip link show enp3s0

    Look for a line similar to:

    link/ether 00:11:22:33:44:55

    The value after link/ether is the MAC address you will use when sending the magic packet.

    Test Wake-on-LAN

    Before testing, shut down the Fedora computer:

    systemctl poweroff

    From another computer or mobile device on the same local network, send a Wake-on-LAN magic packet to the Fedora machine’s MAC address.

    If the computer powers on, Wake-on-LAN is working correctly.

    The sending device may require:

    • The target MAC address
    • The local broadcast address, often something like 192.168.1.255
    • UDP port 9 or 7

    The exact procedure depends on the operating system or WOL application you use.

    Troubleshooting

    If the computer does not wake, check the following:

    1. Confirm WOL is enabled before shutdown: sudo ethtool enp3s0 | grep -i wakeThe output should include: Wake-on: g
    2. Enable WOL in the BIOS or UEFI.
      Look for settings named:
      • Wake on LAN
      • Power On by PCI-E
      • Resume by LAN
      • PCIe Device Power On
    3. Use a wired Ethernet connection.
      Wake-on-LAN is generally more reliable over Ethernet than Wi-Fi.
    4. Keep the Ethernet cable connected.
      The network adapter must remain powered while the computer is off.
    5. Check power-saving settings.
      Options such as ErP, Deep Sleep, or EuP may remove power from the network adapter during shutdown. Disable them if necessary.
    6. Make sure the packet is sent from the same network.
      Basic WOL testing is easiest when both devices are connected to the same LAN.

    Summary

    To check and enable Wake-on-LAN on Fedora:

    sudo ethtool enp3s0
    sudo ethtool -s enp3s0 wol g
    sudo ethtool enp3s0 | grep -i wake

    A successful configuration reports:

    Supports Wake-on: pumbg
    Wake-on: g

    The adapter in this example supports Wake-on-LAN, and enabling wol g activates magic-packet wake-up. For reliable use after reboots, configure the setting through NetworkManager and verify that WOL is also enabled in the system’s BIOS or UEFI.

  • How to Install Ventoy on a USB Drive from Fedora (The Easy Multi-Boot Way)

    How to Install Ventoy on a USB Drive from Fedora (The Easy Multi-Boot Way)

    Tired of constantly reformatting your USB stick every time you want to try a new Linux distro or install Windows? Meet Ventoy — the open-source tool that turns one flash drive into a multi-boot powerhouse.

    With Ventoy, you install it once. After that, you just copy ISO files onto the drive and boot them. No more “burning” images. Fedora, Ubuntu, Windows, recovery tools, whatever — they all show up in a clean boot menu.

    Here’s exactly how to set it up on Fedora.

    Why Ventoy?

    • Supports hundreds of tested ISOs (including all recent Fedora releases)
    • Works with both Legacy BIOS and UEFI (including Secure Boot)
    • You can still use the drive for normal file storage
    • Updating Ventoy later doesn’t wipe your ISOs

    Before You Start

    Critical warning: Installing Ventoy will completely erase the USB drive. Back up anything important first.

    Also double-check the device name. Choosing the wrong disk (like your internal hard drive) will wipe it. Always use the whole disk (/dev/sdb), never a partition (/dev/sdb1).

    Step 1: Download the Latest Ventoy

    As of July 2026, the current version is 1.1.17.

    Open a terminal and run:

    wget https://sourceforge.net/projects/ventoy/files/v1.1.17/ventoy-1.1.17-linux.tar.gz

    Optional but recommended — verify the download:

    sha256sum ventoy-1.1.17-linux.tar.gz

    The official SHA-256 should be:
    7fb4ed08cef6a6b4d39dd19260d8c80291a78dfdf9af7d461571e23cbbc43805

    You can also grab it from the official site: ventoy.net/en/download.html

    Step 2: Extract the Archive

    tar -xzf ventoy-1.1.17-linux.tar.gz
    cd ventoy-1.1.17

    Step 3: Identify Your USB Drive

    Plug in the flash drive, then list your block devices:

    lsblk

    Look for the drive that matches your USB’s capacity. Note the device name carefully (example: sdb or sdc).

    Unmount it if it’s already mounted:

    sudo umount /dev/sdX*

    (Replace sdX with your actual device.)

    Step 4: Install Ventoy

    The safest and most useful option includes Secure Boot support:

    sudo ./Ventoy2Disk.sh -i -s /dev/sdX
    • -i installs Ventoy
    • -s enables Secure Boot support (recommended on modern systems)

    The script will ask for confirmation twice. Type y both times.

    Other useful flags:

    • -I → force install (overwrites existing Ventoy)
    • -g → use GPT instead of MBR
    • -u → update an existing Ventoy installation (keeps your ISO files safe)

    What Happens After Installation?

    Ventoy creates two partitions on the drive. The large data partition is where you put your files.

    Simply copy ISO files onto that partition (drag and drop works fine). Ventoy will automatically detect them and list them in the boot menu, even if they’re in subfolders.

    You can also store regular documents, installers, or backups on the same drive — it won’t interfere with Ventoy.

    Extra Tips for Fedora Users

    • On first boot with Secure Boot enabled, you may need to enroll Ventoy’s key. The on-screen menu will walk you through it.
    • The data partition is formatted as exFAT by default. You can reformat it to NTFS, FAT32, or ext4 later if you prefer.
    • Want to update Ventoy in the future? Just run the same script with the -u flag. Your ISOs stay intact.
    • Minimum recommended size is 8 GB, but 32 GB or larger is much more practical for multiple ISOs.

    That’s It

    You’re done. Eject the drive, plug it into any computer, boot from USB, and enjoy a clean menu of every ISO you’ve added.

    Ventoy is one of those rare tools that genuinely makes life simpler. Once you try it, going back to traditional USB creators feels painful.

    Have fun experimenting with distros — and if you run into any issues, the official documentation at ventoy.net is excellent.

  • Remote Control Your Samsung Galaxy Note 20 Ultra from Fedora with scrcpy

    Remote Control Your Samsung Galaxy Note 20 Ultra from Fedora with scrcpy

    A complete guide to mirror and control your Note 20 Ultra from Fedora Linux with high performance, screen-off mode, autostart, and safe always-plugged-in usage.


    Why scrcpy?

    scrcpy is the best free and open-source tool for controlling Android devices from Linux. It offers:

    • Low latency
    • Full mouse + keyboard control
    • Audio support
    • No root required
    • Works over USB or Wi-Fi

    This guide is written specifically for Fedora + Galaxy Note 20 Ultra (SM-N986B), but it works with most modern Samsung phones.


    1. Install scrcpy on Fedora

    sudo dnf install android-tools
    sudo dnf copr enable zeno/scrcpy
    sudo dnf install scrcpy

    Enable USB debugging on your phone:

    1. Go to Settings → About phone → Software information
    2. Tap Build number 7 times
    3. Go back → Developer options
    4. Enable USB debugging

    Connect the phone via USB and accept the debugging prompt.


    2. High Performance + Screen Off Command

    This is the recommended command for best visuals, audio, and keeping the phone screen off while controlling it:

    scrcpy \
      --video-codec=h264 \
      --video-bit-rate=16M \
      --max-fps=60 \
      --audio-bit-rate=192K \
      --turn-screen-off \
      --stay-awake \
      --disable-screensaver \
      --power-off-on-close

    What the options do:

    • h264 → Most compatible codec on Fedora
    • 16M bitrate → Sharp image
    • 60 FPS → Smooth
    • --turn-screen-off → Phone screen stays black
    • --stay-awake → Prevents the phone from sleeping
    • --power-off-on-close → Turns the phone screen off when you close the scrcpy window

    3. Create a Startup Script

    Create a reliable script that waits for the phone and then launches scrcpy with the best settings:

    mkdir -p ~/bin
    nano ~/bin/start-scrcpy.sh

    Paste this:

    #!/bin/bash
    
    # Wait until the phone is connected
    while ! adb devices | grep -q "device$"; do
        sleep 2
    done
    
    # High quality + screen off + audio
    exec scrcpy \
      --video-codec=h264 \
      --video-bit-rate=16M \
      --max-fps=60 \
      --audio-bit-rate=192K \
      --turn-screen-off \
      --stay-awake \
      --disable-screensaver \
      --power-off-on-close

    Make it executable:

    chmod +x ~/bin/start-scrcpy.sh

    4. Create a Desktop Shortcut

    nano ~/Desktop/scrcpy.desktop

    Paste:

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=Phone Control
    Comment=Control Note 20 Ultra with scrcpy
    Exec=/home/YOUR_USERNAME/bin/start-scrcpy.sh
    Icon=phone
    Terminal=false
    Categories=Utility;
    StartupNotify=false

    Replace YOUR_USERNAME with your actual username, then:

    chmod +x ~/Desktop/scrcpy.desktop

    Right-click the icon on the desktop → Allow Launching.


    5. Auto-start on Login (Optional)

    mkdir -p ~/.config/autostart
    nano ~/.config/autostart/scrcpy.desktop

    Use the same content as the desktop shortcut above (just change the path if needed).


    6. Handling Pattern Lock / Black Lock Screen

    Android protects the pattern/PIN lock screen, so scrcpy shows a black screen when the phone is locked. This is a security feature.

    Best workflow:

    1. Unlock the phone first (fingerprint or pattern)
    2. Then launch Phone Control
    3. The screen will turn off, but the phone stays unlocked and fully controllable

    7. Safe Always-Plugged-In Usage

    If you keep the phone connected most of the time:

    1. Go to Settings → Battery and device care → Battery → More battery settings
    2. Enable Protect battery (limits charge to 85%)

    Extra tips:

    • Use a good quality cable and charger
    • Keep the phone in a well-ventilated spot
    • Avoid covering it while charging

    This combination keeps the battery healthier over the long term.


    Final Recommended Script

    Here’s the complete polished version:

    #!/bin/bash
    
    while ! adb devices | grep -q "device$"; do
        sleep 2
    done
    
    exec scrcpy \
      --video-codec=h264 \
      --video-bit-rate=16M \
      --max-fps=60 \
      --audio-bit-rate=192K \
      --turn-screen-off \
      --stay-awake \
      --disable-screensaver \
      --power-off-on-close

    Summary

    You now have:

    • High-quality remote control of your Note 20 Ultra
    • Phone screen stays off while controlling
    • Desktop shortcut named Phone Control
    • Optional auto-start
    • Safe battery settings for always-plugged use

    This setup turns your Note 20 Ultra into a powerful secondary device you can control comfortably from Fedora.


    My Start Script

    1 Main 2 Virtual:

    #!/bin/bash
    
    while ! adb devices | grep -q "device$"; do
        sleep 2
    done
    
    VIDEO_OPTS=(
      --video-codec=h265
      --video-bit-rate=10M
      --max-fps=60
      --stay-awake
      --disable-screensaver
    )
    
    # 1. Home Assistant (portrait virtual)
    scrcpy "${VIDEO_OPTS[@]}" \
      --new-display=1080x1920 \
      --start-app=io.homeassistant.companion.android \
      --no-audio \
      --no-vd-system-decorations \
      --window-title="Home Assistant" &
    
    # 2. Main phone screen
    scrcpy "${VIDEO_OPTS[@]}" \
      --audio-bit-rate=192K \
      --turn-screen-off \
      --power-off-on-close \
      --window-title="Note20 Main" &
    
    # 3. Jellyfin (landscape virtual)
    scrcpy "${VIDEO_OPTS[@]}" \
      --new-display=1920x1080 \
      --start-app=org.jellyfin.mobile \
      --no-audio \
      --no-vd-system-decorations \
      --window-title="Jellyfin" &
    
    wait
  • Fastfetch + Docker Stats + Welcome on Terminal

    Fastfetch + Docker Stats + Welcome on Terminal

    # 1. Add the Fastfetch PPA
    sudo add-apt-repository ppa:zhangsongcui3371/fastfetch -y
    
    # 2. Update package list
    sudo apt update
    
    # 3. Install / Upgrade to the latest fastfetch
    sudo apt install fastfetch -y
    nano ~/.bashrc
    # =============================================
    # Fastfetch + Syndicate Network
    # =============================================
    
    if [[ $- == *i* ]]; then
        echo
        
        # Fastfetch
        fastfetch --logo ubuntu_small --color-keys blue
        
        # Custom Minimal Banner
        echo -e "\033[1;37m► Syndicate Network ◄\033[0m"
        echo -e "\033[1;36m   Welcome Back!\033[0m"
        echo -e "\033[38;5;239m──────────────────────────────────────────────\033[0m"
        echo
    fi
    # Docker Stats (shows for 8 seconds then returns to prompt)
        echo -e "\033[1;33m→ Docker Container Statistics (live for 8s):\033[0m"
        timeout 8s docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}" 2>/dev/null || echo "No running containers or Docker not available."
        echo
    fi
  • How to Install Docker, Deploy the Glance Dashboard, and Share It Over SMB on a Proxmox Ubuntu VM

    How to Install Docker, Deploy the Glance Dashboard, and Share It Over SMB on a Proxmox Ubuntu VM

    A complete, beginner-friendly guide for self-hosters who want a beautiful personal dashboard and easy network access to its config files.


    If you’re running Proxmox and have an Ubuntu VM, one of the most useful services you can spin up is Glance — a fast, lightweight, highly customizable self-hosted dashboard. It pulls together RSS feeds, weather, Reddit, Hacker News, YouTube channels, market data, Docker container status, server stats, and more into one clean interface.

    In this guide we’ll cover everything end-to-end:

    1. Enable SSH access
    2. Install the official Docker Engine on Ubuntu
    3. Deploy Glance using Docker Compose
    4. Share the Glance configuration folder over the network with Samba (SMB)

    This works on Ubuntu 22.04, 24.04, and 26.04.


    Prerequisites

    • An Ubuntu server or VM (this guide assumes a Proxmox VM)
    • Console access to the VM (via Proxmox web UI or physical console) for the initial SSH setup
    • Your username is syndicate and the Glance folder will live at /home/syndicate/glance (adjust paths if yours is different)

    Part 1: Enable SSH Access

    Most Ubuntu Server installations already have SSH enabled, but if you’re using a minimal image or need to set it up from scratch, follow these steps.

    1. Install the OpenSSH server (if it’s not already installed):

    sudo apt update
    sudo apt install openssh-server -y

    2. Start and enable the SSH service so it starts automatically on boot:

    sudo systemctl enable --now ssh

    3. Check that SSH is running:

    sudo systemctl status ssh

    You should see active (running).

    4. (Optional but recommended) Allow SSH through the firewall if you have UFW enabled:

    sudo ufw allow OpenSSH
    sudo ufw enable          # only if the firewall is not already active
    sudo ufw status

    5. Find your VM’s IP address:

    ip a

    Look for the IP under your main network interface (usually something like 192.168.x.x or 10.x.x.x).

    You can now connect from another computer using:

    ssh syndicate@YOUR_VM_IP

    Security tips:

    • Prefer SSH key authentication instead of passwords when possible.
    • Consider changing the default SSH port or restricting access with AllowUsers in /etc/ssh/sshd_config for extra security.
    • After making any changes to the SSH config, restart the service with sudo systemctl restart ssh.

    Once you can log in via SSH, the rest of the guide can be completed remotely.


    Part 2: Install Docker Engine

    SSH into your Ubuntu VM and run the following commands.

    # Update packages and install prerequisites
    sudo apt update
    sudo apt install ca-certificates curl -y
    
    # Add Docker’s official GPG key
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    # Add the Docker repository
    sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
    Types: deb
    URIs: https://download.docker.com/linux/ubuntu
    Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
    Components: stable
    Architectures: $(dpkg --print-architecture)
    Signed-By: /etc/apt/keyrings/docker.asc
    EOF
    
    # Install Docker Engine + Compose plugin
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

    Recommended: Allow your user to run Docker without sudo:

    sudo usermod -aG docker $USER

    Log out and log back in (or reboot the VM) for the group change to take effect.

    Verify Docker is working:

    docker run hello-world

    You should see a success message.


    Part 3: Deploy the Glance Dashboard

    The easiest way is to use the official Docker Compose template.

    # Create the directory and download the official template
    mkdir -p ~/glance && cd ~/glance
    curl -sL https://github.com/glanceapp/docker-compose-template/archive/refs/heads/main.tar.gz | tar -xzf - --strip-components 2

    This creates a clean project structure containing:

    • docker-compose.yml
    • config/glance.yml and config/home.yml
    • .env and other supporting files

    You can optionally edit the config files now:

    nano config/home.yml      # widgets and layout
    nano config/glance.yml    # theme, pages, etc.
    nano docker-compose.yml   # change the published port if needed (default is 8080)

    Start Glance:

    docker compose up -d

    Check that it’s running:

    docker compose ps
    docker compose logs -f   # press Ctrl+C to exit

    Open a browser and go to:

    http://YOUR_VM_IP:8080

    You should see the Glance dashboard.

    Useful commands later:

    ActionCommand
    Stop Glancedocker compose down
    Restartdocker compose restart
    View logsdocker compose logs -f
    Update to latest versiondocker compose pull && docker compose up -d

    Part 4: Share the Glance Folder Over SMB (Samba)

    Being able to edit the Glance config files from your main computer is very convenient. We’ll set up a private Samba share for /home/syndicate/glance.

    1. Install Samba

    sudo apt update
    sudo apt install samba -y

    2. Create a Samba password for your user

    sudo smbpasswd -a syndicate
    sudo smbpasswd -e syndicate

    You’ll be prompted to set a Samba password (it can be different from your Linux password).

    3. Set correct ownership and permissions

    sudo chown -R syndicate:syndicate /home/syndicate/glance
    sudo chmod -R 775 /home/syndicate/glance

    4. Configure the share

    Edit the Samba configuration file:

    sudo nano /etc/samba/smb.conf

    Scroll to the bottom and add this section:

    [glance]
       comment = Glance Dashboard Config
       path = /home/syndicate/glance
       browseable = yes
       read only = no
       guest ok = no
       valid users = syndicate
       force user = syndicate
       force group = syndicate
       create mask = 0664
       directory mask = 0775

    Save and exit (Ctrl+O, Enter, Ctrl+X).

    5. Test and restart Samba

    testparm                  # check for syntax errors
    sudo systemctl restart smbd nmbd
    sudo systemctl enable smbd nmbd

    6. (Optional) Open the firewall

    If you’re using UFW:

    sudo ufw allow samba

    How to Access the Share

    From Windows
    Open File Explorer and type:

    \\YOUR_VM_IP\glance

    Log in with username syndicate and the Samba password you created.

    From macOS
    Finder → Go → Connect to Server → enter:

    smb://YOUR_VM_IP/glance

    From another Linux machine

    smbclient //YOUR_VM_IP/glance -U syndicate

    You can now edit config/home.yml, config/glance.yml, and other files directly from your main computer. After making changes, restart the container so Glance picks them up:

    cd ~/glance
    docker compose restart

    Final Tips

    • Always keep a backup of your config/ folder before making big changes.
    • If you want the share to be public (no password), change guest ok = yes and remove the valid users line — but this is less secure.
    • For production use, consider putting Glance behind a reverse proxy (Nginx Proxy Manager, Caddy, or Traefik) with HTTPS.
    • Glance is extremely lightweight, so it runs happily even on modest VMs.

    You now have SSH access, a fully working Glance dashboard running in Docker, and easy network access to its configuration files via SMB. Enjoy customizing your new personal command center!

    You now have a fully working Glance dashboard running in Docker, with easy network access to its configuration files via SMB. Enjoy customizing your new personal command center!

  • APT sources for Debian Trixie

    APT sources for Debian Trixie

    Debian 13 (Trixie)

    nano /etc/apt/sources.list

    deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
    deb-src http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
    
    deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
    deb-src http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
    
    deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
    deb-src http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware

    Save and exit (Ctrl+O → Enter → Ctrl+X in nano).

  • Linux OS Cheatsheet 2026

    Linux OS Cheatsheet 2026

    Linux OS Cheatsheet 2026: Top Distros, Servers & Privacy OS

    Top Distros, Servers & Privacy OS

    Beginner-friendly Most Popular LTS

    Ubuntu

    The go-to Linux distro with massive community support, excellent hardware compatibility, and regular LTS releases.

    • Pros: Easy installation, huge ecosystem, Snap/Flatpak support.
    • Cons: Some bloat, Canonical telemetry (can be disabled).
    • Key Features: GNOME desktop, 5-year LTS support (10+ with Pro), upcoming 26.04 LTS.
    Download Ubuntu
    Windows-like Stable Multimedia-ready

    Linux Mint

    Ubuntu-based with a polished, familiar interface — great transition from Windows.

    • Pros: Clean & elegant, very stable, out-of-box codecs.
    • Cons: Slightly behind Ubuntu on newest packages.
    • Key Features: Cinnamon desktop, Timeshift snapshots, easy updates.
    Download Linux Mint
    Cutting-edge Developer-focused Red Hat backed

    Fedora

    Leading-edge features with strong security — ideal for developers and modern hardware.

    • Pros: Latest software, excellent security (SELinux), great laptop support.
    • Cons: ~13 month support cycle per release.
    • Key Features: GNOME, DNF5 package manager, Workstation spins.
    Download Fedora
    Gaming-ready NVIDIA optimized Productivity

    Pop!_OS

    Ubuntu-based distro by System76, excellent for creators, gamers, and hybrid graphics. COSMIC desktop rising fast in 2026.

    • Pros: Built-in NVIDIA support, tiling, recovery tools.
    • Cons: Smaller community than plain Ubuntu.
    • Key Features: COSMIC desktop, power management, creator focus.
    Download Pop!_OS
    Rolling Release Arch-based Customizable

    Manjaro

    User-friendly Arch with hardware detection and easy installer.

    • Pros: Latest packages via AUR, multiple DEs, Pamac GUI.
    • Cons: Rolling updates can occasionally break things.
    • Key Features: Kernel manager, Timeshift-like snapshots.
    Download Manjaro

    More Good-Tier Linux Desktop Distros

    Highly regarded alternatives and rising stars in 2026 — excellent for specific needs like Windows transitions, lightweight use, or gaming.

    Rolling Release Minimalist DIY / Advanced Hyprland Popular

    Arch Linux

    The classic rolling-release distro — keeps it simple, bleeding-edge, and fully user-configurable. In 2026, Hyprland remains the go-to dynamic tiling Wayland compositor for stunning, performant desktop ricing (animations, blur, rounded corners).

    • Pros: Latest packages always, AUR for everything, ultimate customization, lightweight base.
    • Cons: Manual installation (though archinstall is excellent now), rolling updates can break things if not careful.
    • Key Features: Pacman package manager, Arch Wiki (best in the game), perfect base for Hyprland setups (Hyprland in official repos, auto-tiling, eye-candy).
    Download Arch Linux
    Windows-like Beginner Transition Polished

    Zorin OS

    Ubuntu-based with layouts mimicking Windows/macOS — exploded in popularity after Windows 10 EOL.

    • Pros: Beautiful & familiar, privacy-focused, easy for new users.
    • Cons: Slightly more opinionated layout choices.
    • Key Features: Zorin Appearance tool, Pro edition extras, strong migration tools.
    Download Zorin OS
    Stable + Modern KDE Powerhouse YaST Config

    openSUSE

    Excellent KDE integration with powerful tools — great balance of stability and features.

    • Pros: Tumbleweed rolling or Leap stable, YaST control center, strong community.
    • Cons: Slightly different package ecosystem.
    • Key Features: Btrfs snapshots by default, zypper package manager.
    Download openSUSE
    Lightweight Old Hardware User-friendly

    MX Linux

    Debian-based lightweight distro with excellent tools — perfect for reviving older machines.

    • Pros: Fast & stable, MX Tools suite, great for mid-range/old hardware.
    • Cons: Not as bleeding-edge as rolling distros.
    • Key Features: Xfce default, live USB persistence, antiX base options.
    Download MX Linux
    Gaming Optimized Fedora-based Tweaked

    Nobara

    Fedora spin focused on gaming & content creation — pre-tweaked for performance.

    • Pros: Out-of-box gaming setup, codecs, OBS, low-latency kernel.
    • Cons: Slightly more niche community.
    • Key Features: NVIDIA/AMD patches, Proton-GE, custom kernels.
    Download Nobara
    Atomic/Immutable SteamOS-like Gaming/Handheld

    Bazzite

    Fedora Atomic-based, Steam Deck-inspired — excellent for gaming rigs and handhelds in 2026.

    • Pros: Reliable updates, great Steam integration, immutable core.
    • Cons: Less flexible for heavy customization.
    • Key Features: Just like SteamOS, HDR support, easy rollback.
    Download Bazzite

    Linux Server Operating Systems

    Rock-solid options optimized for production servers, cloud, and long-term stability.

    Most Popular Server LTS Cloud-friendly

    Ubuntu Server

    Dominates web/cloud servers with easy management and massive support.

    • Pros: 10-year LTS, huge docs, LXD/MAAS.
    • Cons: Snap-heavy in some cases.
    • Key Features: Minimal install, security updates, cloud images.
    Download Ubuntu Server
    Ultra Stable Free Software Base for many

    Debian

    The foundation of stability — powers many servers worldwide.

    • Pros: Extremely reliable, vast repos, multi-arch.
    • Cons: Older packages in stable branch.
    • Key Features: APT, backports, long release cycles.
    Download Debian
    Enterprise Compatible RHEL Clone Free

    Rocky Linux

    Community RHEL replacement — bug-for-bug compatible with long support.

    • Pros: 10-year support, migration tools, stable.
    • Cons: Smaller community than Ubuntu.
    • Key Features: Enterprise-grade, security-focused.
    Download Rocky Linux
    RHEL Compatible Community Driven Migration Tools

    AlmaLinux

    Another strong RHEL fork with focus on stability and free updates.

    • Pros: 1:1 RHEL compatible, ELevate tool, secure.
    • Cons: Enterprise-oriented (less flashy).
    • Key Features: Long lifecycle, OpenSCAP.
    Download AlmaLinux

    Privacy-Focused Operating Systems

    Designed for maximum anonymity, security, and protection against surveillance.

    Amnesic Tor by Default Live USB

    Tails

    Leaves no trace — everything routed through Tor, perfect for sensitive work.

    • Pros: Maximum anonymity, forgets on shutdown.
    • Cons: Slower due to Tor, not for daily driver.
    • Key Features: Persistent storage option, metadata tools.
    Download Tails
    Compartmentalized VM Isolation High Security

    Qubes OS

    Security by isolation — runs apps in separate virtual machines.

    • Pros: Extremely secure against compromise.
    • Cons: Hardware demanding, learning curve.
    • Key Features: Xen-based, disposable VMs, templates.
    Download Qubes OS
    Tor Gateway Leak-proof VM-based

    Whonix

    All traffic forced through Tor — workstation + gateway architecture.

    • Pros: Excellent against IP/DNS leaks.
    • Cons: Requires host VM software, performance overhead.
    • Key Features: Kicksecure hardened base, anonymous updates.
    Download Whonix

    Specialized Linux Distributions

    Focused tools for penetration testing, virtualization, and network-attached storage (NAS) — popular in 2026 for security professionals, homelabbers, and enterprise use.

    Penetration Testing Security Tools Ethical Hacking

    Kali Linux

    Debian-based distro packed with hundreds of security and forensics tools — the standard for ethical hacking and pen-testing.

    • Pros: Vast pre-installed toolset, rolling release, live/forensic modes.
    • Cons: Not ideal as a daily driver, resource-intensive.
    • Key Features: Offensive Security backed, customizable, weekly builds available.
    Download Kali Linux
    Virtualization Hypervisor Homelab

    Proxmox VE

    Debian-based type-1 hypervisor platform for running VMs and containers with enterprise-grade features.

    • Pros: Powerful web UI, KVM + LXC, clustering/HA, backups.
    • Cons: Best on dedicated hardware, learning curve for advanced features.
    • Key Features: ZFS/CEPH storage, live migration, built-in firewall.
    Download Proxmox VE
    NAS Storage ZFS

    TrueNAS SCALE

    Linux (Debian)-based NAS operating system with scale-out storage, apps, and virtualization support.

    • Pros: OpenZFS, Docker/Kubernetes apps, TrueCharts ecosystem, snapshots.
    • Cons: More complex setup than consumer NAS, focused primarily on storage.
    • Key Features: Scale-out clustering, VM support, S3 object storage.
    Download TrueNAS SCALE

  • Hyprland Cheatsheet

    Hyprland Cheatsheet

    Dynamic tiling Wayland compositor – Highly customizable, performant, and animated
    Hyprland v0.45.0 (released Dec 2025): Kernel 6.12+ support, improved NVIDIA compatibility, new animations, and Rust-based plugins. Runs on Fedora Workstation/Server with Wayland.
    Install via COPR repo. Config in ~/.config/hypr/hyprland.conf. All commands run in terminal (Konsole on Fedora).


    1. Installation on Fedora

    TaskCommand / Action
    Enable COPR reposudo dnf copr enable solopasha/hyprland
    Install Hyprlandsudo dnf install hyprland hyprland-plugins
    Install dependencies (Wayland, audio, etc.)sudo dnf install wayland-devel mesa-libEGL-devel libseat-devel hwdata-devel libgbm-devel libsystemd-devel libdrm-devel mesa-libgbm-devel libxkbcommon-devel libxkbcommon-x11-devel pixman-devel libinput-devel libcap-devel libxml2-devel libpng-devel wayland-protocols-devel libliftoff-devel cairo-devel pango-devel vulkan-devel vulkan-validation-layers-devel mesa-vulkan-devel glslang-devel libdisplay-info-devel libdecor-devel pipewire-jack-audio-connection-kit-devel libva-devel ffmpeg-devel libvdpau-devel hwloc-devel mesa-libOpenCL-devel opencl-headers-devel mesa-libd3d-devel spirv-headers-devel spirv-tools-devel vulkan-headers-devel vulkan-loader-devel vulkan-tools-devel vulkan-validation-layers-devel glslang-devel libva-devel libvdpau-devel hwloc-devel libX11-devel libxcb-devel libXext-devel libXrender-devel xcb-proto-devel libXfixes-devel libxkbfile-devel libXfont2-devel libXres-devel libXtst-devel libXdamage-devel libXrandr-devel libXi-devel libXcomposite-devel libXcursor-devel libXmu-devel libXpm-devel libXt-devel libXaw-devel libXmuu-devel libXScrnSaver-devel libXv-devel libXinerama-devel libXxf86vm-devel libXvMC-devel libXdmcp-devel libXau-devel xorg-x11-proto-devel libICE-devel libSM-devel libXtst-devel libXScrnSaver-devel libXvMC-devel libXinerama-devel libXxf86vm-devel libXdmcp-devel libXau-devel xorg-x11-proto-devel libICE-devel libSM-devel libXtst-devel libXScrnSaver-devel libXvMC-devel libXinerama-devel libXxf86vm-devel (long, but essential for full features)
    Install extras (clipboard, portal)sudo dnf install wl-clipboard xdg-desktop-portal-hyprland
    Start HyprlandLogout → Select “Hyprland” session in GDM/Sway login manager
    First runHyprland auto-creates ~/.config/hypr/hyprland.conf – edit as needed

    Note: For NVIDIA: Install proprietary drivers first (sudo dnf install akmod-nvidia). Fedora 43+ has better Wayland support. If issues, add exec-once = hyprctl setcursor Adwaita 24 to config.


    2. Updating Hyprland

    TaskCommand
    Update system & Hyprlandsudo dnf upgrade --refresh (includes COPR packages)
    Check current versionhyprctl version
    Rebuild if needed (plugins)sudo dnf reinstall hyprland-plugins
    Clean cachesudo dnf clean all
    Rollback (if broken)sudo dnf history undo last

    Pro Tip: Subscribe to COPR notifications or check GitHub releases. For bleeding-edge: Build from source (clone repo, sudo dnf install cmake gcc-c++ libstdc++-devel pkgconfig dbus-devel libevdev-devel libev-devel hidapi-devel libgbm-devel libxkbcommon-devel libGLESv2-devel vulkan-headers seatd-devel systemd-devel libdrm-devel wayland-devel wayland-protocols-devel cairo-devel pango-devel libjpeg-turbo-devel libwebp-devel, then make all && sudo make install).


    3. Configuration Basics

    TaskCommand / Action
    Edit confignano ~/.config/hypr/hyprland.conf (or vim/emacs)
    Reload confighyprctl reload (or Super + Shift + R)
    Set monitorAdd to config: monitor=DP-1,1920x1080@144,0x0,1 (resolution@refresh,xpos ypos,scale)
    Set wallpaperAdd: exec-once = hyprpaper & (install hyprpaper first) → Edit ~/.config/hypr/hyprpaper.conf
    Add keybindExample: bind = SUPER, T, exec, kitty
    Environment varsAdd to config: env = XCURSOR_SIZE,24 (for cursor size)
    Gestures (touchpad)Add: gestures { workspace_swipe = on }
    Backup configcp ~/.config/hypr/hyprland.conf ~/hypr-backup.conf

    Config Structure: Sections like general {}, input {}, binds {}, animations {}, decoration {}. Use # for comments. Full template on GitHub wiki.


    4. Default Shortcuts (Super Key = Windows Key)

    Window Management

    ActionShortcut
    Open terminalSuper + Return
    Close windowSuper + Q
    Toggle fullscreenSuper + F
    Toggle floatingSuper + Space
    Move focusSuper + Arrow Keys (or HJKL)
    Resize windowSuper + Ctrl + Arrow Keys
    Switch workspaceSuper + 1-0 (workspaces 1-10)
    Move window to workspaceSuper + Shift + 1-0
    Cycle windowsSuper + Tab

    System

    ActionShortcut
    Reload configSuper + Shift + R
    Lock screenSuper + L (if hyprlock installed)
    LogoutSuper + Shift + E
    Screenshot (region)Super + Shift + S (with grim/slurp)
    Toggle touchpadSuper + Shift + T

    Mouse

    ActionShortcut
    Move windowSuper + Left Click Drag
    Resize windowSuper + Right Click Drag

    Customize: Edit binds {} in config. Example: bind = SUPER, P, exec, rofi -show drun for app launcher.


    5. Adding Waybar (Status Bar)

    TaskCommand / Action
    Install Waybarsudo dnf install waybar
    Config Waybarmkdir -p ~/.config/waybar → cp /etc/xdg/waybar/* ~/.config/waybar/ → Edit ~/.config/waybar/config.jsonc and style.css
    Auto-start in HyprlandAdd to hyprland.conf: exec-once = waybar
    Reload Waybarpkill waybar && waybar &
    Modules (example)In config.jsonc: "modules-left": ["hyprland/workspaces", "cpu", "memory"]
    ThemesInstall fonts: sudo dnf install fontawesome-fonts → Customize CSS

    Waybar Tips: For Hyprland integration, add "hyprland/window" module. Use waybar --bar main-bar for testing.


    6. Plugins & Extensions

    ActionCommand
    Install official pluginssudo dnf install hyprland-plugins
    Enable plugin (e.g., hyprbars)Add to config: plugin { hyprbars { bar_height = 30 } }
    List loaded pluginshyprctl plugins
    Third-party (Rust)Clone repo → cargo build --release → Add path to config: plugin = /path/to/libplugin.so

    7. Troubleshooting

    IssueCommand
    No audiosudo dnf install pipewire-pulse → Restart
    Cursor invisibleAdd to config: env = XCURSOR_THEME,Adwaita → env = XCURSOR_SIZE,24
    NVIDIA flickeringAdd: env = WLR_NO_GPU,1 (disable hardware cursors)
    Log errorsjournalctl -u hyprland or Hyprland (debug mode)
    Reset configrm ~/.config/hypr/hyprland.conf → Restart

    8. One-Liners

    # Quick update
    sudo dnf upgrade hyprland --refresh && hyprctl reload
    
    # Backup & edit config
    cp ~/.config/hypr/hyprland.conf{,.bak} && nano ~/.config/hypr/hyprland.conf
    
    # Test Waybar
    waybar -c ~/.config/waybar/config.jsonc -s ~/.config/waybar/style.css
    
    # Screenshot full screen
    grim ~/Pictures/screenshot-$(date +%Y%m%d-%H%M%S).png
    
    # Toggle animations off
    hyprctl keyword animations:enabled 0

    9. Useful Tools to Install

    sudo dnf install waybar hyprpaper hyprlock grim slurp rofi-wayland wl-clipboard pavucontrol

    10. Hyprland Resources

    Official Docs: https://wiki.hyprland.org
    GitHub: https://github.com/hyprwm/Hyprland
    Fedora COPR: https://copr.fedorainfracloud.org/coprs/solopasha/hyprland

    # Check COPR status
    dnf copr list | grep hyprland

    Pro Tip: For Fedora, use xdg-desktop-portal-hyprland for screen sharing. Customize animations in animations {} for buttery smooth UX. Join r/hyprland for configs.



  • Top Self-Hosting App Directories

    Top Self-Hosting App Directories

    1. selfh.st

    Clean, searchable directory with one-click install support.

    Visit selfh.st

    2. Awesome Selfhosted

    1,000+ apps, 100+ categories, Docker tags, licenses.

    GitHub Web Version

    3. OpenAlternative Self-Hosted

    150+ open-source SaaS replacements with comparisons.

    Explore

    4. Dockerholics

    100+ vetted apps with ready-to-use docker-compose files.

    Open

    5. Awesome Self-Host Docker

    Docker-first list with instant-deployment YAML snippets.

    View Repo
    Bonus one-click catalogs:

    YunoHost Apps • Cloudron Store
    ifraaz.com • November 24, 2025