these steps were made on Debian 12, so on other distros paths and install commands might differ! if you know these paths/commands please help out in giving more documentation.
git clone --recursive https://github.com/rozniak/xfce-winxp-tc
cd xfce-winxp-tc/packaging
install depencies:
sudo apt install $(./chkdeps.sh -l | cut -d':' -f2 | tr '\n' ' ')
./buildall.sh
a xptc
folder will be created, go into it
install all the packages created by the builder, based on your distro they will have different format
(for example, debian will have deb packages)
Get the XPScripts.7z archive and extract it into your /home/your_username/
directory
Extract the provided windows XP sounds where you want.
Go into Aspect and select these:
Go to Window manager and select between these new options
For the mouse cursor go into mouse and touchpad and select this:
install mpv media player: sudo apt install mpv
go into sessions and startup
and then into Automatic startup
tab
add these XP commands for these system events:
XP Logon-Boot - on access
XP Logoff - on exit
XP Logoff (user change) - on user change
XP TaskBar - on access
give to ONLY these events the following commands:
XP Logoff Sound: bash "/path/to/XPScripts/XP Logoff.sh"
XP Logoff (user change): bash "/path/to/XPScripts/XP Logoff.sh"
XP TaskBar: bash "/path/to/XPScripts/XP Taskbar.sh
we can't distinguish logon and boot, because both happen when we login with credentials, resulting in a mixed up sound. To avoid this, simply give this command in the indicated event:
XP Logon-Boot Sound: bash "/path/to/XP Startup_Login.sh"
it creates a file in /tmp as a flag, if that file is available, then on next login it will play the logon sound, if not it will play the boot sound.
the shutdown/reboot/halt sound doesn't play in time because systemd gets the termination signal too fast and we can't hear the sound because it kills every process. To avoid this, we create a systemd service, and we use another sh script.
sudo touch /etc/systemd/system/XPShutdown.service
sudo nano /etc/systemd/system/XPShutdown.service
copy-paste this content, and edit the `ExecStart path:
[Unit]
Description=Play XP sound on shutdown-reboot-poweroff-halt
DefaultDependencies=no
Before=poweroff.target reboot.target halt.target shutdown.target
[Service]
Type=oneshot
ExecStart=/path/to/XP Shutdown.sh
TimeoutStartSec=0
[Install]
WantedBy=poweroff.target reboot.target halt.target shutdown.target
This calls our sh script that plays the XP shutdown audio file BEFORE the signal kills every process.
setup the XP Shutdown.sh
script, again same as before, change the mpv path file
then in ExecStart
give the path to the sh file.
now do:
sudo systemctl enable /etc/systemd/system/XPShutdown.service
(enables service on boot)
sudo systemctl status XPShutdown
(should say enabled)
Now when you do one of the actions, the system will wait 2 second, play the audio and then shutdown.
You don't need to do systemctl start
because the service already waits for the signals.
note, not all apps use these notification sounds, so not all app will produce a sound.
install all canberra GTK packages: sudo apt install libcanberra*
then in terminal: export GTK_MODULES=canberra-gtk-module
or:
sudo nano /etc/environment
copy paste GTK_MODULES=canberra-gtk-module
and save the file
go into xfce4-settings-editor
and find xsettings
find Net
section and change the parameters like these:
now logoff, logon and to test the sound execute the "run" command from terminal and type a wrong command, you should hear a critical error sound. Also try to delete a file on your desktop
we'll add udevadm
rules, so on each hardware removal/insertion we detect kernel events, and tell udev to execute the script to run the audio
sudo touch /etc/udev/rules.d/XPSounds.rules
sudo nano /etc/udev/rules.d/XPSounds.rules
copy paste these rules:
ACTION=="add",SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",RUN+="/path/to/XPScripts/USBAttach.sh/"
ACTION=="remove",SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",RUN+="/path/to/XPScripts/USBRemove.sh/"
edit the RUN path with the scripts path, and also the audio path for mpv inside USBAttach.sh
and USBRemove.sh
then do sudo udevadm control --reload
, detach/attach a USB device and see if it works.
IMPORTANT NOTES:
- udev can only execute
sh
scripts, notbash
norzsh
- sh scripts MUST BE in home directory to avoid permission issues. you won't have any if you extracted all SH files in home directory like i mentioned at the beginning.
sudo nano /etc/lightdm/lightdm.conf
find under [Seat:*]
section:
#greeter-session=
change it to:
greeter-session=wintc-logonui
save file, reboot and you'll get the new greeter.
git clone --recursive https://github.com/grassmunk/Chicago95
cd Chicago95 && python3 installer.py
Installer should be with these components:
if you use zsh
select that instead of bash
now run xfce4-terminal
, if you don't like the font set it to monospace-regular
The terminal will appear like this:
Then to change the default terminal go to default applications
set xfce's terminal
as the default one in Utilities
tab
Q: The start menu bar remains with some menu items open, what should i do?
A: The items remain in a locked "grab" state, simply click over one of the menu entries, or kill wintc-taskband
and
restart it.
Q: i can't get rid of the items and the desktop freezed, what should i do?
A: Ctrl+Alt+F2
, in TTY Mode login as user, then killall wintc-taskband
then based on your distro get back to the main screen, in case of Debian: Ctrl+Alt+F7
The TTY windows go from F1-F8
XP task manager (taskmgr, could base on wine taskmgr)