Files
davideisinger.com/static/archive/www-rousette-org-uk-ku8whc.txt
2024-11-06 13:21:40 -05:00

299 lines
15 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[1]Fruitbat logo
but she's a girl...
• [3]about
• [4]archives
• [5]microblog
• [6]photos
• [7]tags
[8]Exploring desktop Linux
written by [bsag_avata] bsag
26 Aug 2024[9]geekery[10]linux
Screenshot showing a browser window on the Hyprland web page, in a window
without decorations. A minimal statusbar is at the top of the screen.
Hyprland with status bar adapted from Archcraft version.
I dont know about you, but the direction that macOS has been going in lately
has been making me a bit nervous. Ive used Macs almost continuously since
about 1991 and enjoyed the experience tremendously. Ive been an enthusiastic
advocate of the Mac ecosystem to anyone willing to put up with me wittering on
about it. However, for the first time (excepting the time I couldnt afford the
hardware, which Ill talk about more below), I am thinking about alternatives.
Thats how I ended up buying a mini PC and seeing what modern Linux on the
desktop has to offer.
Why?
Apples approach has always been opinionated. Up until now, that has mostly
been fine with me, as I have agreed with their choices, and appreciated the
more curated approach to an operating system. I was able to go about my daily
computing life easily and comfortably, and found few roadblocks to what I
wanted to do. That is still largely true today, but there are two things on the
horizon that make me think that this might not always be the case. First, Apple
seems to be progressively locking down macOS so that it gets closer to iOS.
Security is increasingly important, but the recent security nags that [12]
people have reported on the betas of Sequoia seem ominous somehow. Ive also
long wanted to use a proper tiling manager on macOS, but that has been
impossible without dodgy hacks that require disabling security features, though
[13]Aerospace seems like a cool way around that. Of course, things may change,
and Apple may respond to the pushback they are getting from power users, but
it gives me an uncomfortable feeling. The second issue is AI. Talking about my
opinion on generative AI would be a whole other post, but lets just say that I
dont like it, I dont want or need it, and I dont want to be party to wasting
energy and water, just so that I can have AI summarise something for me that my
human brain is already capable of doing pretty well. I certainly dont want it
forced on me. I barely even use Siri at the moment: I ask Siri to start timers,
and when in the car, read incoming messages. Thats it. Linux seems to be the
only OS where you dont have AI forced on you if you dont want it, and I
appreciate that.
Its not my first go on Linux either. Back in the last days of MacOS 9, before
MacOS X appeared in 2001, I needed a new laptop but didnt have the money to
buy an Apple laptop. I also knew that Apple was switching to Unix
underpinnings, so I decided to buy a cheap PC laptop and run a Linux distro on
it for a few years. I cant remember which distro I settled on now, but I think
it might have been Open SuSE or RedHat? Anyway, I enjoyed the experience, and
found that knowing my way around the command line helped me a lot in the
transition to MacOS X when that arrived (and I got an Apple laptop again). I
also experimented with [14]NixOS on an old laptop back in 2018, but that was
just playing around and I didnt try to use it as my full-time personal
computer. Thats what I wanted to explore this time: would Linux work for me as
a full time computing environment at home?
The hardware
I went back and forth on this quite a bit, but in the end decided to get a [15]
Minisforum Venus UM790Pro which is an AMD Ryzen based mini PC. I figured that
if my experiment didnt work out, I could use it as a home backup server. My
choice was partly informed by seeing some third-party sellers selling it with
Linux installed (so I knew that the hardware was compatible), and partly
through watching a lot of YouTube videos where people installed Linux on it.
Its not much to look at, but not as ugly as some mini PCs, and it has a good
range of ports, and very impressive performance for the form factor and price.
I ended up getting one with 32GB RAM and 1TB SSD. In a very pleasant change
from Apple hardware, you can upgrade both the memory and SSD. Ive got a slot
free for each so there is lots of scope to cheaply double the memory and drive
space in the future if I need to. At the moment, I have plenty for my needs, as
my distro and window manager seem much more thrifty with RAM than macOS. The
CPU barely gets above a few percent, even building packages from source. It
seems to stay cool, and it is very quiet.
I have a Kensington Thunderbolt hub, so the new PC, my ageing Mac Mini and my
work laptop (when I work from home) can all connect to the peripherals and my
screen by a thunderbolt cable that I swap between machines.
Choosing a distro and desktop environment/window manager
I ran [16]ArchLinux on a Linode server to serve this blog for several years,
and came to enjoy the rolling distro life and the extensive range of packages
available, so I was pretty sure that I wanted something Arch-based. A few
distros have sprung up which use Arch as a base, but build a more friendly
installation experience and base system on top. I went with [17]EndeavourOS as
it seemed to strike a happy medium between making Arch more approachable
without installing too much or altering how you do things in Arch.
To get my bearings, I installed the system with the Gnome desktop environment,
and then KDE. I was incredibly impressed by how slick both the EndeavourOS
installation and both desktop environments are. Things have come on enormously
since the early 2000s (not surprisingly!), and almost everything worked very
nicely out of the box. Both desktop environments are so much more beautiful to
look at and more consistent visually and functionally than they used to be.
Even my Apple Magic Trackpad just worked without any configuration when plugged
in via USB. As a sidenote, this is the way I always use it. It may seem a weird
way to use a wireless peripheral, but if you plug it in, as you switch between
devices using the thunderbolt hub, they all see it as being attached and
active. In my experience, this is impossible to when all your devices are
nearby physically, even when they are all Apple devices.
Screenshot showing Emacs window on the left, editing this post in Markdown and
browser window on the right, previewing the post.
Emacs window on the left with the TokyoNight Moon colourscheme, and Vivaldi on
the right.
Of the two, I think that I preferred Gnome, at least for a personal computer. I
liked the way that hitting the Meta key (i.e. Command on a Mac keyboard) alone
would pop up an overview of your workspaces and windows, and that typing would
filter apps to launch. Its quite unlike either the Apple or Windows approach,
but it is deceptively functional and slick. I also slightly prefer the more
minimal appearance of the windows and applications in Gnome, however it is a
bit less configurable. KDE Plasma is highly configurable, though that comes
with the potential to be overwhelming at first. It is very beautiful and
functional, but to me seemed a touch more professional but marginally less fun.
Im interested to see how System76s [18]Cosmic Desktop develops, as this has a
tiling window system by default, and seems to be somewhere in between KDE and
Gnome in terms of flexibility of configuration.
Screenshot showing two semi-transparent Alacritty terminal windows, one of
which showing system details with Fastfetch, and a Rofi launcher window
floating in the centre.
Alacritty terminal windows, Fastfetch and Rofi launcher.
Really, I could be happy with either, but wanted to see where I could get to
with a tiling window manager instead of a full desktop environment. Window
managers do much less for you than desktop environments, but you usually get to
design the status bar, set all the keyboard shortcuts, and use whichever
applications you like to build your own system. Both KDE and Gnome can do
tiling by installing and configuring plugins of various kinds, but I wanted to
try a window manager that tiled by default, and opted for [19]Hyprland. It is
one of a clutch of new window managers that use Wayland instead of the ancient
X11 system to manage the graphical interface. The downside of this is that
graphical applications that have not yet been updated to use Wayland have to be
handled using XWayland as a bridge, and this is not ideal if you use a HiDPI
(Retina) monitor as I do. In practice, I have found very few applications that
I want to use that are X11 only, so it hasnt been too much of an issue.
Hyprland
I took the reasonably easy route by using [20]mylinuxforworks Hyprland starter
, which sets up a basic structure of configuration, provides a status bar,
wallpaper and so on. Its nicely organised and easy to adapt and build on for
your needs. All the configuration for Hyprland is done through text format
configuration files. I love this approach, and much prefer it to hunting
through menus for settings. You can also easily backup and version your files
if you mess something up and want to revert to a previous version.
Once I had got to grips with what goes where, I really enjoyed configuring it.
Hyprlands documentation is very good, and it is mostly quite self-explanatory.
The styling of windows and status bars and so on is done using CSS, so if you
know how to style a web page, it is all very familiar and easy. A nice touch is
that as you save the configuration files, the window manager reloads live, so
you can quickly adjust things without having to logout for most changes.
I also ran across [21]Archcraft where you can pay a small donation to download
a more complex and crafted configuration for Hyprland, which I did, as I liked
the look of the status bars and launchers in this setup. Thats what you see in
the screenshots here. I basically went all in on the [22]TokyoNight
colourscheme, and am ridiculously thrilled that I can get my terminal
colourscheme to match my Emacs theme, to match GUI application themes and my
launcher and status bar, and so on. That kind of visual consistency (using a
colourscheme of my own choice) is really fun. Im still working on it and may
change the layout a bit, but Im really happy with the way it looks and
functions.
Problems along the way
Im impressed that I have had remarkably few problems. The most annoying
problem I had when installing was that — by default — you seem to have to grant
permission as a user to connect to Thunderbolt devices. This is a problem if
your monitor connects only via Thunderbolt, as you obviously need to see what
you are doing! I solved this by taking the PC down to the living room and
connecting to the TV by HDMI, then using bolt to authorise and save the
authorisation for the Thunderbolt hub. I still had a problem when booting up: I
could see when the login manager (I was using SDDM at the time) started up from
the power to the USB devices turning off briefly then on again, but the screen
stayed dark. I found that if I entered my password blindly, the desktop would
start and the screen would display, but this was hardly ideal. I futzed about
with this for a while, before finding out that it was some issue with SDDM and
switching to GDM to manage login and launching of desktop environments or
window managers worked fine. If you have HDMI ports on your monitor, you wont
need to go through this dance. I gather also that some BIOS have a setting to
disable the security for Thunderbolt devices temporarily, but I couldnt see
that in the BIOS of this PC (maybe because it came with Windows pre-installed —
I could not get out of there fast enough…).
Final thoughts (for now!)
Ive had so much fun with this, and I am really enjoying Linux. I love a
keyboard driven system, and I really appreciate the way I can set things up to
manipulate windows, move between workspaces, switch windows and so on, all
through my own choice of keyboard shortcuts. Ive also discovered some great
software (some of which is cross-platform) that I will talk about in later
posts.
I need to use this system full time for a few weeks and months to see what I
can and cant replace from the Apple ecosystem. Inter-operability with my
iPhone and Watch is one thing, but Im going to see how much I miss that over
time.
One last thing: I like giving my computers names. I have often used animal
species names, using a sequence of penguin species (which started when I first
used Linux), then bird species. My current work laptop is named with the
scientific name for the genus of cheetahs, which amused me as a dual joke about
the speed of the M1 chips and a throwback to MacOS Cheetah (MacOS X 10.0) until
I realised that I can neither spell nor pronounce it properly.
Given that this PC is running EndeavourOS, there was an immediate choice of
name — Morse. Ill get me coat…
[23]← older
[24]newer →
— @
• Reposts:
• Replies:
• Favourites:
[25] Discuss on Mastodon
Activity elsewhere
• [26]
• [27]
• [28]
• [29]
Social media
• [30]
• [31]
• [32]
• [33]
Copyright © 2002-2024 bsag • Powered by [34]Hugo • Running on [35]Netlify •
Styled with plain CSS by me • Analytics by [36]Tinylytics
[37]but she's a girl... created by [bsag_avatar] bsag (she/her pronouns, and
known as bsag pretty much everywhere online) and based in Birmingham, West
Midlands, United Kingdom.
Ive been bsag on the web for more than 20 years now. Im a biologist by
profession, and a nerd by inclination. I have way too many hobbies, from sewing
clothes to designing and making tiny custom keyboards.
References:
[1] https://www.rousette.org.uk/
[3] https://www.rousette.org.uk/about/
[4] https://www.rousette.org.uk/archives/
[5] https://micro.rousette.org.uk/
[6] https://photos.rousette.org.uk/
[7] https://www.rousette.org.uk/tags/
[8] https://www.rousette.org.uk/archives/exploring-desktop-linux/
[9] https://www.rousette.org.uk/tags/geekery
[10] https://www.rousette.org.uk/tags/linux
[12] https://sixcolors.com/post/2024/08/apples-permissions-features-are-out-of-balance/
[13] https://github.com/nikitabobko/AeroSpace
[14] http://www.rousette.org.uk/archives/nixos-and-the-art-of-os-configuration/
[15] https://store.minisforum.com/collections/all-product/products/minisforum-um790-pro?variant=43865372492021
[16] https://archlinux.org/
[17] https://endeavouros.com/
[18] https://system76.com/cosmic
[19] https://hyprland.org/
[20] https://github.com/mylinuxforwork/hyprland-starter
[21] https://wiki.archcraft.io/docs/wayland-compositors/hyprland/
[22] https://github.com/folke/tokyonight.nvim
[23] https://www.rousette.org.uk/archives/devilish-fun-with-a-modeless-modal-editor/
[24] https://www.rousette.org.uk/archives/exploring-desktop-linux-p2/
[25] https://social.lol/@bsag/113028981223112542
[26] https://www.rousette.org.uk/index.xml
[27] https://bsag.omg.lol/now
[28] https://letterboxd.com/bsag/
[29] https://www.goodreads.com/user/show/33331686-bsag
[30] https://micro.blog/bsag
[31] https://social.lol/@bsag
[32] https://www.flickr.com/photos/bsag/
[33] https://github.com/bsag
[34] https://gohugo.io/
[35] https://www.netlify.com/
[36] https://tinylytics.app/
[37] https://www.rousette.org.uk/