Batocera is a free and open source Linux distribution designed to create retrogaming consoles out of a vast selection of devices. It supports a variety of platforms and architectures, from Intel-based computers to Raspberry Pi boards and handheld consoles, and works as a central control panel for all the best console emulators.
linux
Introduction to Polkit: Navigating Authorization Frameworks in Linux
Polkit is an authorization framework installed on every modern Linux distribution: it provides API which allow privileged applications to expose services to unprivileged subjects. Communications with Polkit happens over D-Bus, which is an IPC (Interprocess Communication) system; to understand how the former works, we have to get a grasp of how the latter is implemented, first.
How to create GNOME dynamic wallpapers
GNOME (GNU Network Object Model Environment), is one of the most popular desktop environments on Linux, and probably the most used one, since all major distributions use it as their default interface. Version 42 of the D.E., introduced a global “light/dark” UI mode switch, which is respected by all GNOME applications and wallpapers: switching the global style to “dark”, automatically changes the GTK theme to Adwaita-dark, and all the wallpapers supporting this feature, to their “dark” versions. GNOME also supports time-shifting wallpapers.
How to install Void Linux with LVM on LUKS encryption
Since all the major Linux distributions adopted Systemd as their init system, they progressively became more and more similar to each other. Void Linux is an exception: it was written from scratch entirely by volunteers, uses Runit as its init system and service manager, and, as its name may suggest, it was designed with simplicity in mind.
How to load, unload and blacklist Linux kernel modules
Linux kernel functionalities, such as the support for specific devices or filesystems, are organized in modules, which can be built statically into the kernel or as separated “units” which can be loaded and unloaded on request. Nowadays needed modules are automatically loaded, so we seldom need to explicit manage them. In certain situations, however, we may need to perform such actions.
How to retrieve hardware information with dmidecode on Linux
Dmidecode is a free and open source utility we can use to retrieve hardware information on Linux. The tool is available in the repositories of all the major Linux distributions, and is able to inspect and dump the content of the SMBIOS table.
How to build Super Mario 64 natively on Linux
Super Mario needs no presentations: it is one of the most beloved video games characters. Super Mario 64 was originally released for the Nintendo64 console in 1996, and represented the first 3D episode of the Mario franchise. Thanks to a github project, which achieved the full decompilation of the game, it is now possible to build a native Linux port and play it without the need of a Nintendo64 emulator. In order to compile the port, an original, and legally obtained “.z64” rom of the game is needed.
How to create incremental system backups with Timeshift on Linux
Linux-based operating systems, if well configured, are really stable; however, since bad things can always happen, it is a good idea to regularly create backups. As we saw in previous articles, there are many types of backup, and many possible backup strategies which can be implemented on Linux, using free and open source software. In this article we focus on Timeshift, an application which allows us to create incremental backups of our Linux system. The tool is similar to the Apple Time Machine, and can work as a frontend for rsync or use the BTRFS filesystem snapshot feature under the hood.
How to backup data with Déjà Dup on Linux
Déjà Dup is a free an open source program we can use to easily create incremental data backups on Linux. The program is basically a graphical frontend for Duplicity; its goal is to hide complexity, be simple and easy to use. Backups created with Déjà Dup can be encrypted and stored locally and remotely, even using storage space provided by services like Google Drive.
How to define a custom Firewalld zone
Firewalld is the default high-level firewall manager on the Red Hat family of distributions. One of its peculiarities is that it defines a series of so called firewall zones: each zone can be considered like a different level of trust and can be configured to allow traffic through a specific set of ports. While Firewalld comes with some predefined zones which can be easily examined and modified, sometimes we may want to create our custom zones from scratch.
Introduction to Borg Backup
Borg is a very useful application we can use to create deduplicating backups on Linux. Free and open source software, it is, for the most part, written in Python and supports data compression and encryption. Thanks to the data de-duplication feature, only data which actually changes is archived, and this let us optimize both disk space and execution time. Borg is really easy to install, since it is packaged and included in the repositories of the most used Linux distributions.
How to export repositories with the git-daemon
Git is probably the most used version control software in the world. Free and open source, it was created by Linus Torvalds, and it is the base of services provided by web platforms like Github and Gitlab. In a previous article we discussed the git workflow basics,