[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/