🐧 The Linux Adventure

Some documentation I have collected when exploring and configuring different linux environments.

While going through the Linux Adventure, ensure you configure chachi-shell as part of the process. It contains default configurations for many programs/scripts.



This distro is based on Archlinux, preconfigured with multiple desktop environments and with extra system management tools (similar to Manjaro). After using it for some months it looks quite stable: I chose GNOME, which is basically the default GNOME no extra tweaks.


Simply the best default GNOME desktop environment. It is practically the default DE that just works. I have never needed any tweaks apart from installing some extensions.

KDE Neon

Although it is the default KDE experience (an Ubuntu distro with the latest Plasma release) it looks a bit unstable. The package management is a bit weird, depending on Snap as expected. I ended up moving to Manjaro.


Based on Archlinux, it's the best distro with a KDE environment that I have ever tried. Quite similar to EndeavourOS, it looks incredibly stable and the desktop environment configuration is very well polished.


For the first steps, I am going to follow the ArchLinux installation wiki. I have tried it some years ago, and it gives an usable installation with a minimum amount of packages installed. 🏔 Working with Archlinux.

Wiki FAQ:

  • Only supports x86_64 architecture.
  • Uses systemd as service manager.
  • /bin, /sbin and /usr/sbin are symbolic links to /usr/bin; /lib and /lib64 are symbolic links to /usr/lib; more info about filesystem hierarchy.
  • pacman -Qlq package_name gives information about an installed package.
  • systemd-boot is used to manage a UEFI motherboard.
  • xdg-user-dirs-update.service takes care of creating user directories like "downloads" or "music". This might be enabled by default by the window manager.
  • ACPI events (power buttons, laptop lid…) can be managed with systemd.
  • Firewall is not enabled by default, but iptables can be enabled and should work.
  • By default it only supports english "standard" keyboard layout.
  • tab-completion needs to be enabled.

Desktop environments and window managers


Nice extensions:

KDE Plasma

  • Use Command Output widget to show terminal commands.
  • Install cpupower-gui to change intel CPU profile.


  • Sway is a compositor for wayland
  • swaymsg -t get_outputs list outputs
  • swaymsg -t get_tree list windows
  • Install sway swaybg swayidle swaylock alacritty rofi rofi-emoji mako grim brightnessctl slurp swappy wf-recorder
    • Some distros need pipewire-utils pulseaudio-utils too.
  • Install gifski, if it is not available in repo: cargo install gifski --features=video
  • ln -s some/path.jpg ~/.background.jpg

Some problems that might appear:


  • Install i3 i3lock i3status alacritty rofi rofi-emoji mako grim pipewire-utils pulseaudio-utils brightnessctl slurp swappy ImageMagick xrandr feh
  • ln -s some/path.jpg ~/.background.jpg

Common issues

Java applications not being refreshed in Wayland

Original IntelliJ post.

Adding this to /etc/environment fixes some issues with Java Applications (like Jetbrains’ IDEs): _JAVA_AWT_WM_NONREPARENTING=1.

Screen sharing with Wayland

Depending on the application (ex. Slack vs Firefox) you might not be able to share fullscreen, and need to share individual applications instead.

Desktop environments:

  • GNOME: install xdg-desktop-portal-gnome xdg-desktop-portal-gtk xdg-desktop-portal
  • Sway: install xdg-desktop-portal-wlr xdg-desktop-portal-gtk xdg-desktop-portal


  • Firefox: add MOZ_ENABLE_WAYLAND=1 environment variable.
  • Slack: update slack.desktop application file adding --enable-features=WebRTCPipeWireCapturer (this should work for any chrome-based application).

Failing touchpad

My touchpad is failing sometimes, it is detected as a regular mouse with no multitouch support and no disable while typing features. This last thing is specially annoying when I need to use the laptop keyboard, because I accidentally click on random places while writing.

At the moment, the only temporary “solutions” I have are:

  • Suspend and wake up system, which for some reason fixes the problem.
  • Using xinput and xinput --disable [ID] to disable touchpad.

Fn keys in custom keyboards

Although some keyboards have a shortcut to toggle Fn lock, and make Fn keys act as media keys or viceversa, not all of them have this feature. I own a Varmilo VA88M keyboard which does not have this feature, so I needed to update this at system level.

I found this solution in the Archlinux wiki. First, try this code to make a temporary in-memory change and check if it works:

echo 2 >> /sys/module/hid_apple/parameters/fnmode

If it works, update /etc/modprobe.d/hid_apple.conf adding the following line:

options hid_apple fnmode=2