Title: A Linux Desktop...
Published: 03 Jul 2022
Updated: 11 Nov 2022
When I stumbled upon Grassmunk’s Chicago95 (a Windows95-style theme for XFCE/ GTK2/ GTK3) earlier this year, it inspired me to set up a Linux-based mobile desktop (notebook) that not only looks and feels like classic Windows - but also integrates well in a modern Microsoft-centric enterprise environment.
This is how the result looks like:
While the graphical concept and aesthetics of this setup are mainly driven by XFCE (xwdm) and the Chicago95 theme, the consistency of the user experience comes from limiting everything to the use of GTK-based applications.
The integration with Microsoft Windows-centric environments is achieved by software components like Samba, CUPS, XfreeRDP and others.
Below you’ll find the essential steps and resources to achieve this setup.
I always start with a clean (expert-mode) Debian installation without any additional packages except the base system. On bare-metal I’m usually installing a targeted kernel/ initram.
Consider installing everything on an encrypted file system: If your device gets lost/ stolen/ confiscated for any reason, at least you won’t have to worry about other people accessing your system and data.
Install the X Window System and the Xfce Desktop Environment:
# apt install xorg xfce4
Either way I had to install a few packages myself:
# apt install lightdm-gtk-greeter-settings # apt install gobject-introspection # apt install xfce4-whiskermenu-plugin # apt install qt5-style-plugins # apt install qt5ct # apt install wget ä apt install curl # wget http://archive.ubuntu.com/ubuntu/pool/universe/x/xfce4-panel-profiles/xfce4-panel-profiles_1.0.10-0ubuntu1_all.deb # sudo dpkg -i xfce4-panel-profiles_1.0.10-0ubuntu1_all.deb
Install Chicago95 using the package manager:
# echo 'deb http://download.opensuse.org/repositories/home:/bgstack15:/Chicago95/Debian_Testing/ /' | sudo tee /etc/apt/sources.list.d/home:bgstack15:Chicago95.list # curl -fsSL https://download.opensuse.org/repositories/home:bgstack15:Chicago95/Debian_Testing/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_bgstack15_Chicago95.gpg > /dev/null # apt-get update # apt install chicago95-theme-all
Enable Chicago95 for the lightdm-gtk-greeter to get a themed login screen:
The GitHub repository contains detailed instructions on how to enable the theme. Being lazy I ended up running the installer available from the Github repository, which redundantly writes some files already written by the package manager, but comfortably runs most of the numerous steps needed to enable the theme, e.g. configure the taskbar, menus, icons etc. pp.
$ chmod +x installer.py $ ./installer.py
As mentioned earlier, choosing applications that make use of GTK generally makes for a rather consistent look and feel of the whole environment. These are some of the applications I’m using:
Chicago95 did a great job resampling the classic Windows command window, although I opted to not change the prompt to DOS-fashion.
# apt install xfce4-terminal
By the way: Midnight commander is not only a great file manager, but an excellent SCP-client, too: Use mc’s command prompt to access a remote directory using SCP:
Thunar (Xfce’s default file manager) is a good choice. To make it work with SMB-shares and archives, a few additional packages need to be installed:
# apt install libsmbclient # apt install smbclient # apt install gvfs-backends # apt install thunar-archive-plugin # apt install unrar
From the official repository: “FSearch is a fast file search utility, inspired by Everything Search Engine. It’s written in C and based on GTK3.” As mentioned, there’s a similar tool for Windows called “Everything” from voidtools. They’re pretty handy and something you’ll want to have around once you got used to them: The results you can see in the screenshot below are listed “immediately” - you don’t have to wait for a search-run to take place.
Install build dependencies:
# apt install git build-essential meson libtool pkg-config intltool libicu-dev libpcre3-dev libglib2.0-dev libgtk-3-dev libxml2-utils
Clone the repository:
# git clone https://github.com/cboxdoerfer/fsearch.git
Build and install:
# meson builddir # ninja -C builddir install
By the way: There’s a similar tool for the command line, called fzf (fuzzy finder). It can be used with files, command history, processes, hostnames, bookmarks, git commits, etc.
Evolution with Chicago95 looks so old-skool cool - you can’t not use it. It needs “evolutions-ews” to be compatible with Office365 accounts.
# apt install evolution # apt install evolution-ews
# apt install freerdp2-x11 # apt install freerdp2-2
Get .rdp-Files for applications you need your favourite Remote Desktop Services server (farm) and open them:
$ xfreerdp Outlook.rdp /u:julius.kaiser
As you can see, VMware Remote Console uses GTK, too, and aligns well with the overall setup.
Network Manager manages network connection and Dialup-VPNs.
# apt install network-manager # apt instakk network-manager-gnome # apt install openvpn # apt install network-manager-openvpn # apt install network-manager-openvpn-gnome
GTK- (and some CLI-) based applications for common tasks.
apt install evince
apt install geeqie
apt install mousepad
apt install geany
apt install menulibre
apt install dconf-editor
apt install blueman
apt install xfce4-taskmanager
apt install xfce4-screenshooter scrot
apt install gnome-passwordsafe
apt install hexchat
Using the XFCE keyboard settings, it is possible to assing an arbitrary command (xfce4-popup-whiskermenu in this case) to the Windows super key. Unfortunately this makes the menu pop up for every key combination that uses the Windows super key as a modifier, too. There is a workaround based on a third-party utility (ksuperkey) for exactly that: to use the Super key both to open the start menu and as a modifier key in keyboard shortcuts.
Install the dependencies:
# apt install git gcc make libx11-dev libxtst-dev pkg-config
Clone the repository and compile from source:
$ git clone https://github.com/hanschen/ksuperkey.git $ cd ksuperkey $ make
Optionally install system-wide:
# make install
Configure ksuperkey to launch on login (configure a certain delay for ksuperkey, as the default value of 500ms is not enough):
To activate touchpad tapping, navigate to the “Mouse and Touchpad” settings dialog, choose the touchpad device and activate “Tap touchpad to click”.
Being able to run SimCity 2000 (for Windows!) is crucial for such a setup. The Wine subsystem needs to be installed for a 32bit architecure too:
# apt install wine winetricks # dpkg --add-architecture i386 # apt-get update # apt install wine32
After that it’s just copying your SimCity 2000 CD to a folder and running the SETUP.EXE & SC2000W.EXE.
There are many other projects reviving the late nineties computing asthetics on modern platforms - either as their primary objective or alongside higher goals:
Many thanks go out to Tom Fichtner, who came up with ksuperkey and general feedback. To stray even further from god, he was the first to deploy this setup on a MacBook! :-)