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:
Notice: Migration To nody-greeter
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:
- The theme does not support choosing a desktop environment within the login screen; you will need to make sure the default user-session selected by lightdm is fine. Generally this should not be a problem unless you have multiple desktop environments you like to switch between.
- There is currently no option to manually enter a username. If you have users which are hidden from the list given to lightdm then you will not be able to access that account from this login screen.
- If you do not have a user profile picture set, the default is the Windows XP dirt bike profile picture. If you want to change this, most desktop environments will have an option to add a custom picture to your account under a group of settings generally named "Users" or similar.
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:
- 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 needpython3
, which is included by default with many (but not all) distributions. You can aquire the other required packages viasudo apt install build-essential libgirepository1.0-dev liblightdm-gobject-1-0 liblightdm-gobject-1-dev libcairo2-dev
- Install Node.js v18.x with help from this page.
- Clone the
nody-greeter
project into its own folder with required submodules, ex.git clone --recursive https://github.com/JezerM/nody-greeter.git
- Set the current directory to the newly created folder, ex.
cd nody-greeter
- 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. - Run
npm install
to fetch dependencies. - Run
npm run rebuild
- Run
npm run build
- Run
sudo node make install
to install the built project.
- 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. - Install
nody-greeter
and setgreeter-session=nody-greeter
in your lightdm configuration. You may choose to installweb-greeter
instead assuming you modify these steps accordingly. - 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 addinguser-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. - 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 doinggit checkout v0.4.1
within the newly created WelcomeXP directory. If you see very recent commits they might not have been extensively tested yet. - OPTIONAL, BUT RECOMMENDED Create a
fonts
directory in theWelcomeXP
folder and place copies oftahoma.ttf
,tahomabd.ttf
, andFRADMIT.TTF
into the new directory for a more authentic login screen. If you have a Windows installation, you can easily grab them fromC:\Windows\Fonts
- Copy the
WelcomeXP
folder into thethemes
directory for the webkit greeter, ex.sudo cp -R WelcomeXP /usr/share/web-greeter/themes
- 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
- Modify
/etc/lightdm/web-greeter.yml
and settheme: WelcomeXP
- 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. - 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 |