I have not a lot going on tonight, finished my paperwork and decided to screw around with getting GUI emacs working in Windows 10 on my work laptop. I had the Windows Subsystem for Linux installed on this Thinkpad P14s since the day I got it. It seemed, however that I had WSL 1 installed. I ran
wsl update
and upgraded to WSL 2. Previously I was running Ubuntu from the Microsoft Store. I ran
wsl --list --online
and got a list of available distibutions. I had emacs 28 installed and the MS Store Ubuntu under WSL 1 had no upgrades for this. I had previously attempted to pull down the repo from gnu savanah, but compiling it hung. So I installed Ubuntu-22.04, copied over my home directory from within Windows from the MS Store Ubuntu to the 22.04 install. Then
sudo snap install emacs
emacs -t # and of course emacsclient -t via my C-e binding in bash
I got GUI emacs and even a shortcut to it in the start menu. The video was garbled at first. I had to download and install a new AMD Radeon Pro driver, and this was resolved. My env was not available by default. The elisp I wrote that generates templates for phlog and gemlog entries uses an environment variable for machine name, so I wanted to get this to work. So I added
bash -ilc
in front of
emacs
in the shortcut command field. This loads emacs from bash and my environment is thus intact and available. Everything shows as I expect in eshell, and the template code works as intended. I plopped my favorite font (Iosevka Nerd Mono) into ~/.font and emacs looks how I like.
All in all, it makes using my work mandated laptop more homey. Until rockwell, fanuc, seimens, and all other industrial automation software vendors decide to release linux versions of their programs, I don't see my employer moving aways from Windows. So the WSL is a nice thing to have.