299 lines
15 KiB
Plaintext
299 lines
15 KiB
Plaintext
[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 don’t know about you, but the direction that macOS has been going in lately
|
||
has been making me a bit nervous. I’ve used Macs almost continuously since
|
||
about 1991 and enjoyed the experience tremendously. I’ve 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 couldn’t afford the
|
||
hardware, which I’ll talk about more below), I am thinking about alternatives.
|
||
|
||
That’s how I ended up buying a mini PC and seeing what modern Linux on the
|
||
desktop has to offer.
|
||
|
||
Why?
|
||
|
||
Apple’s 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. I’ve 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 let’s just say that I
|
||
don’t like it, I don’t want or need it, and I don’t 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 don’t 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. That’s it. Linux seems to be the
|
||
only OS where you don’t have AI forced on you if you don’t want it, and I
|
||
appreciate that.
|
||
|
||
It’s 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 didn’t 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 can’t 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 didn’t try to use it as my full-time personal
|
||
computer. That’s 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 didn’t 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.
|
||
It’s 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. I’ve 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. It’s 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.
|
||
I’m interested to see how System76’s [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 hasn’t been too much of an issue.
|
||
|
||
Hyprland
|
||
|
||
I took the reasonably easy route by using [20]mylinuxforwork’s Hyprland starter
|
||
, which sets up a basic structure of configuration, provides a status bar,
|
||
wallpaper and so on. It’s 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.
|
||
Hyprland’s 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. That’s 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. I’m still working on it and may
|
||
change the layout a bit, but I’m really happy with the way it looks and
|
||
functions.
|
||
|
||
Problems along the way
|
||
|
||
I’m 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 won’t
|
||
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 couldn’t 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!)
|
||
|
||
I’ve 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. I’ve 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 can’t replace from the Apple ecosystem. Inter-operability with my
|
||
iPhone and Watch is one thing, but I’m 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. I’ll 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.
|
||
|
||
I’ve been ‘bsag’ on the web for more than 20 years now. I’m 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/
|