Arch Linux Tips

Table of Contents

Menu

Introduction

Arch Linux is my distribution of choice, because it is simple, it gives you control, and, above all, it is very well documented.

Sometime, however, information requires a bit of browsing before being found. This “post”, therefore, contains a list of tips related to Arch Linux… and, if you wondering about the post title, everything is in plain sight: there are no “tricks” here!

In its essence, this page is a list of annotated bookmarks, since all the information contained here references the Arch Wiki. Note that various tips work also with other distributions.

For its very nature, expect this post to find diverse subjects and to grow over time.

Making gnome-software work in Arch Linux   arch gnome

Symptom: You installed gnome-software, but no software is shown.

Explanation: Installing gnome-software is not enough: you also need to specify where to find the list of software.

Solution:

sudo pacman -S gnome-software-packagekit-plugin

References

GDM - Gnome virtual console   terminal gnome arch

Use the following keyboard shortcut to invoke a console terminal from the graphical environment (GDM, X11, Wayland):

CTRL-ALT-F3

References:

Graphical manager for gnome (gnome desktop manager)   gnome arch

GDM, the graphical display manager for Linux can be controlled with systemd:

adolfo@qonos:~$ sudo systemctl enable gdm
Created symlink /etc/systemd/system/display-manager.service → /usr/lib/systemd/system/gdm.service.

I found disabling GDM useful in a couple of occasions:

  1. Some time ago I had troubles installing the drivers for the GPU of my laptop. Disabling GDM allowed me to work using the console and fix the issue without booting from an external device.
  2. There are different applications which manage graphical login and GDM is one of them. In fact each of the major desktop environments come with its own, even though they allow you to choose the graphical environment of your choice. If you are curious and want to experiment a bit, disabling GDM allows you to do exactly that.

References

Bigger fonts in console by default   console arch

If you have a HiDPI display, the font sizes in the consoles is way too small. (I wonder whether I would have said the same thing thirty years ago.)

If fonts are too small or you are, like me, too old for the font size displayed by the console on HiDPI, you can increase the font size.

A temporary solution uses setfont:

setfont lat2-16 -m 8859-2

Console fonts are located in /usr/share/kbd/consolefonts and good choices include:

  • setfont latarcyrheb-sun32
  • setfont ter-132n, installed with: sudo pacman -S terminus-font.

A permanent solution specifies the font to be used in /etc/vconsole.conf (create the file if it is not there):

$ cat /etc/vconsole.conf
FONT=lat2-16
FONT_MAP=8859-2

References:

Increase font size in GRUB   arch grub

Check the exact location of your GRUB installation, which might either be in /boot/grub or /boot/efi/grub.

Make a font:

sudo grub-mkfont -s 36 -o /boot/grub/fonts/DejaVuSansMono.pf2 /usr/share/fonts/TTF/DejaVuSansMono.ttf

Edit /etc/defaults/grub and add the following directive:

p  GRUB_FONT=/boot/grub/fonts/DejaVuSansMono.pf2

Check you did not do any mistake:

ls -l /boot/grub/fonts/DejaVuSansMono.pf2

In Arch Linux:

grub-mkconfig -o /boot/grub/grub.cfg

In Ubuntu

update-grub

References:

Pacman   arch

Taken from pacman and pacman/Tips and tricks, commands I use, but sometimes forget about invocation syntax.

First thing first, remember that:

  • S database with all the packages
  • Q database of packages installed locally
  • F file database, associates files to packages

List of packages explicitly installed

Packages explicitly installed:

pacman -Qe

Installed in the last 20 days:

expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 20

Information about packages

Use Q for local and S for remote

pacman -Ss search-string
pacman -Si package-name
pacman -Sii
pacman -Sl

Browsing packages

pacman -Qq | fzf --preview 'pacman -Qil {}' --layout=reverse --bind 'enter:execute(pacman -Qil {} | less)'

Remove a package and its dependencies

pacman -Rsn

List which package owns a file

To query the database to know which package a file in the file system belongs to:

pacman -Qo /path/to/file_name

To query the database to know which remote package a file belongs to:

pacman -F /path/to/file_name

Listing Packages not required as dependencies

Explicitly installed:

pacman -Qet

Not required as dependencies any longer (orphans):

pacman -Qtdq

Identifying files not owned by any package

sudo lostfiles