Timeshift
Timeshift is a tool originally created by Tony George, that is now part of the Xapp project.
Timeshift helps create incremental snapshots of the file system at regular intervals, which can then be restored at a later date to undo all changes to the system.
It supports rsync snapshots for all filesystems, and uses the built-in snapshot features for Btrfs drives configured to use the @
and @home
subvolume layout for root and home directories respectively.
Installation
Install the timeshift package and enable/start your chosen cron scheduler (see cron#Configuration). This will ensure that snapshots scheduled within the Timeshift application run as intended.
Alternatively, timeshift-systemd-timerAUR can be installed instead of using a cron scheduler.
GRUB entries for btrfs snapshots
To add snapshots to the GRUB menu each time GRUB configuration is generated, install the grub-btrfs package. It comes with the grub-btrfsd.service
, which can be enabled to automatically update the GRUB configuration whenever a new snapshot is created.
To make grub-btrfsd work with Timeshift, edit the service by running:
# systemctl edit --full grub-btrfsd
and replace grub-btrfsd --syslog /.snapshots
with grub-btrfsd --syslog -t
.
Troubleshooting
Timeshift GUI not launching on Wayland
Xwayland will only allow the user who started the X server to connect clients to it (see Running GUI applications as root#Wayland).
Due to Timeshift requiring root permissions, attempting to launch the Timeshift GUI via an application launcher or a terminal with the command timeshift-launcher
will result in an error containing xhost: command not found
.
Users encountering this error may also be presented with their authentication agent prompting for a password, only to find that the Timeshift GUI does not launch after entering the password. [1] This is because the command timeshift-launcher
requires the xorg-xhost package: install it.
xhost
on multi-user systems. See xhost and Running GUI applications as root for more details.