A program written in Python, its goal is to manage GRUB themes.
The program reads the themes stored in themes directories, then waits for user input to choose a theme. Afterward, it edits the GRUB_THEME
variable in the /etc/default/grub
file and generates the configurations with the grub-mkconfig
command.
python : https://www.python.org/
python-pip : https://pypi.org/project/pip/
grub : use your package manager to install GRUB.
Note: Before you start downloading the project, you need to make sure that you have the required packages installed in your system.
$ git clone https://github.com/KHLALA-Gh/grub-themes-manager.git
cd to the repo :
$ cd ./grub-themes-manager
run install.sh script
$ ./install.sh
run Grub Themes Manager :
$ grub-tm
To update the package just pull the changes from the repo :
$ git pull
Grub Theme Manager searches for themes by default in this directories /boot/grub/themes
and /usr/share/grub/themes
. If you store your GRUB themes in another path you can add it to the config.ini
file in the themes_dirs
variable.
[DEFAULT]
themes_dirs=[
"/boot/grub/themes",
"/usr/share/grub/themes",
# add your path here.
"/your/themes/path"
]
...
Note : A GRUB theme should have
theme.txt
file at its rout level.
If you encounter an error indicating that the ./config.ini
file doesn't exist, that means your config file is missing.
To fix this you need to download config.ini file and add it to the root level in grub-theme-manager directory.
If you got any KeyError
when parsing the config file,that probably means you have a missing property in the config file.You can know this missing property by reading the error.For example KeyError 'grub_cfg'
means that grub_cfg
is missing in the config file.To add it go to config.ini copy the missing property then past it in your config.ini file.
That means you have already grub-tm
alias in your initialization file (/.bashrc,/.zshrc,etc...).To fix it just remove the alias and run the install script again.
If you encounter an issue not mentioned, please submit it in issues