A nody-greeter theme to mimic the Windows XP login screen.
There is a really great Windows XP theme for Cinnamon which I've used for a long time now. It was really well done but I could never find any greeter theme to match it, which is where this project began.
You can get a good idea of how the screen will look simply by cloning the project and viewing index.html
in a standard browser. Things aren't perfect yet, but they come decently close to the real thing.
Take a look at the screenshots below, captured from a virtual machine with this theme in actual use:
Login:
Welcome Screen:
WelcomeXP vs Original Windows XP Login Screen:
As you may know, lightdm-webkit2-greeter was maintained by the Antergos team which fell apart years ago. Unfortunately, this left us in a situation where lots of themes (this one included) were reliant on an unmaintained package; if anything were to break as the software around it updates, we'd all be out of luck.
Fortunately, @JezerM revived work on the project in the form of web-greeter 3.0.
Even better, they began work on a new project which creates a more modern substitute to the aging lightdm-webkit2-greeter using Node.js and Electron: nody-greeter.
WelcomeXP has migrated to supporting these projects instead of lightdm-webkit2-greeter.
While themes for nody-greeter and web-greeter 3.0 should work with either interchangeably, moving to work with them will render WelcomeXP incompatible with lightdm-webkit2-greeter. Unfortunately for those who installed this theme previously, this means any future updates will not be as straightforward and will require switching to one of the new greeters.
If you currently have lightdm-webkit2-greeter and do not wish to install any replacements, you can download version v0.2.1 which will be the last to work with the old greeter.
If you have no experience installing or configuring greeters then I recommend you have extreme caution installing this theme; avoid it if you are not comfortable with the possibility of recovering your login screen from the command line. While I have not come across any severe issues using the theme on a daily basis myself, I may continue to make small changes that could affect stability in the future. A broken web-greeter theme can prevent you from logging in graphically. In this case, you can switch to another tty and revert changes to the configurations from the command-line using an editor like nano
. While I do not plan to push breaking changes, I do not make any guarantees over this project and would not want someone to break their system who would have a hard time restoring it.
Please be aware of the following:
Please check out the nody-greeter
repository for the most detailed and up-to-date installation instructions.
The following instructions are a quick (and possibly outdated by the time you read this) summary of the installation procedure for Ubuntu-based distributions:
1) Make sure you have any necessary dependencies. Obviously you'll need lightdm
(which is default on some distributions such as Linux Mint). You will also need python3
, which is included by default with many (but not all) distributions. You can aquire the other required packages via sudo apt install build-essential libgirepository1.0-dev liblightdm-gobject-1-0 liblightdm-gobject-1-dev libcairo2-dev
2) Install Node.js v18.x with help from this page.
3) Clone the nody-greeter
project into its own folder with required submodules, ex. git clone --recursive https://github.com/JezerM/nody-greeter.git
4) Set the current directory to the newly created folder, ex. cd nody-greeter
5) Run git checkout 1.5.2
to use nody-greeter version 1.5.2. Please note that WelcomeXP v0.4.1+ requires at least nody-greeter version 1.5.0.
6) Run npm install
to fetch dependencies.
7) Run npm run rebuild
8) Run npm run build
9) Run sudo node make install
to install the built project.
1) Add X-LightDM-Allow-Greeter=true
to your /usr/share/xsessions/
desktop file then log out and back in. This is not necessary for installation but is necessary to test whether the installation was successful. This cannot be done later on since it requires you to log out and back in which defeats the purpose of testing whether the login screen works before trying to use it.
2) Install nody-greeter
and set greeter-session=nody-greeter
in your lightdm configuration. You may choose to install web-greeter
instead assuming you modify these steps accordingly.
3) If your distribution did not originally come with LightDM you must set a default user session corresponding to an option available in /usr/share/xsessions
. For example, on Lubuntu I can select /usr/share/xsessions/Lubuntu.session
as the default by adding user-session=Lubuntu
to the lightdm configuration. Most distributions with LightDM as the default display manager (such as Linux Mint Cinnamon) should already have this preconfigured.
4) Clone the WelcomeXP
project into its own folder, ex. git clone https://github.com/mshernandez5/WelcomeXP.git
\
Just in case the very latest code is broken, you may also want to move back to the last release version by doing git checkout v0.4.1
within the newly created WelcomeXP directory. If you see very recent commits they might not have been extensively tested yet.
5) OPTIONAL, BUT RECOMMENDED Create a fonts
directory in the WelcomeXP
folder and place copies of tahoma.ttf
, tahomabd.ttf
, and FRADMIT.TTF
into the new directory for a more authentic login screen. If you have a Windows installation, you can easily grab them from C:\Windows\Fonts
6) Copy the WelcomeXP
folder into the themes
directory for the webkit greeter, ex. sudo cp -R WelcomeXP /usr/share/web-greeter/themes
7) Ensure that the theme folder permissions allow the greeter to read the necessary files, ex. sudo chmod -R 755 /usr/share/web-greeter/themes/WelcomeXP
8) Modify /etc/lightdm/web-greeter.yml
and set theme: WelcomeXP
9) Run nody-greeter --debug
to ensure that the theme was installed correctly. If the theme appears in a window without errors, there is likely no issue. If you run into any errors or fail to see the theme, then there may be an issue with either the theme or installation and you should revert your configuration changes before rebooting or logging out.
10) Enjoy the theme! If you want to install an updated version, you can remove the older version of the theme, ex. sudo rm -rf /usr/share/web-greeter/themes/WelcomeXP
, then redo steps 4-9 skipping configuration changes that were already done. Always make sure to test the theme on step 9 so you don't run into any unexpected issues.
Example of a successful run of nody-greeter --debug
:
Here are some nice themes to pair with the greeter!
Components | Theme |
---|---|
Cinnamon + GTK + Cursors | https://github.com/ndwarshuis/CinnXP |
XFCE + GTK + Cursors + Sounds | https://github.com/rozniak/xfce-winxp-tc |
Icons | https://github.com/B00merang-Artwork/Windows-XP |
Plymouth | https://github.com/Liftu/WindozeXP-1080-Plymouth-theme |
Firefox | https://github.com/Aris-t2/CustomCSSforFx |