davideisinger.com

My personal website
Log | Files | Refs | README

www-rousette-org-uk-ku8whc.txt (15523B)


      1 [1]Fruitbat logo
      2 
      3 but she's a girl...
      4 
      5   • [3]about
      6   • [4]archives
      7   • [5]microblog
      8   • [6]photos
      9   • [7]tags
     10 
     11 [8]Exploring desktop Linux
     12 
     13 written by [bsag_avata] bsag
     14 26 Aug 2024[9]geekery[10]linux
     15 Screenshot showing a browser window on the Hyprland web page, in a window
     16 without decorations. A minimal statusbar is at the top of the screen.
     17 
     18 Hyprland with status bar adapted from Archcraft version.
     19 
     20 I don’t know about you, but the direction that macOS has been going in lately
     21 has been making me a bit nervous. I’ve used Macs almost continuously since
     22 about 1991 and enjoyed the experience tremendously. I’ve been an enthusiastic
     23 advocate of the Mac ecosystem to anyone willing to put up with me wittering on
     24 about it. However, for the first time (excepting the time I couldn’t afford the
     25 hardware, which I’ll talk about more below), I am thinking about alternatives.
     26 
     27 That’s how I ended up buying a mini PC and seeing what modern Linux on the
     28 desktop has to offer.
     29 
     30 Why?
     31 
     32 Apple’s approach has always been opinionated. Up until now, that has mostly
     33 been fine with me, as I have agreed with their choices, and appreciated the
     34 more ‘curated’ approach to an operating system. I was able to go about my daily
     35 computing life easily and comfortably, and found few roadblocks to what I
     36 wanted to do. That is still largely true today, but there are two things on the
     37 horizon that make me think that this might not always be the case. First, Apple
     38 seems to be progressively locking down macOS so that it gets closer to iOS.
     39 Security is increasingly important, but the recent security nags that [12]
     40 people have reported on the betas of Sequoia seem ominous somehow. I’ve also
     41 long wanted to use a proper tiling manager on macOS, but that has been
     42 impossible without dodgy hacks that require disabling security features, though
     43 [13]Aerospace seems like a cool way around that. Of course, things may change,
     44 and Apple may respond to the pushback they are getting from ‘power’ users, but
     45 it gives me an uncomfortable feeling. The second issue is AI. Talking about my
     46 opinion on generative AI would be a whole other post, but let’s just say that I
     47 don’t like it, I don’t want or need it, and I don’t want to be party to wasting
     48 energy and water, just so that I can have AI summarise something for me that my
     49 human brain is already capable of doing pretty well. I certainly don’t want it
     50 forced on me. I barely even use Siri at the moment: I ask Siri to start timers,
     51 and when in the car, read incoming messages. That’s it. Linux seems to be the
     52 only OS where you don’t have AI forced on you if you don’t want it, and I
     53 appreciate that.
     54 
     55 It’s not my first go on Linux either. Back in the last days of MacOS 9, before
     56 MacOS X appeared in 2001, I needed a new laptop but didn’t have the money to
     57 buy an Apple laptop. I also knew that Apple was switching to Unix
     58 underpinnings, so I decided to buy a cheap PC laptop and run a Linux distro on
     59 it for a few years. I can’t remember which distro I settled on now, but I think
     60 it might have been Open SuSE or RedHat? Anyway, I enjoyed the experience, and
     61 found that knowing my way around the command line helped me a lot in the
     62 transition to MacOS X when that arrived (and I got an Apple laptop again). I
     63 also experimented with [14]NixOS on an old laptop back in 2018, but that was
     64 just playing around and I didn’t try to use it as my full-time personal
     65 computer. That’s what I wanted to explore this time: would Linux work for me as
     66 a full time computing environment at home?
     67 
     68 The hardware
     69 
     70 I went back and forth on this quite a bit, but in the end decided to get a [15]
     71 Minisforum Venus UM790Pro which is an AMD Ryzen based mini PC. I figured that
     72 if my experiment didn’t work out, I could use it as a home backup server. My
     73 choice was partly informed by seeing some third-party sellers selling it with
     74 Linux installed (so I knew that the hardware was compatible), and partly
     75 through watching a lot of YouTube videos where people installed Linux on it.
     76 It’s not much to look at, but not as ugly as some mini PCs, and it has a good
     77 range of ports, and very impressive performance for the form factor and price.
     78 I ended up getting one with 32GB RAM and 1TB SSD. In a very pleasant change
     79 from Apple hardware, you can upgrade both the memory and SSD. I’ve got a slot
     80 free for each so there is lots of scope to cheaply double the memory and drive
     81 space in the future if I need to. At the moment, I have plenty for my needs, as
     82 my distro and window manager seem much more thrifty with RAM than macOS. The
     83 CPU barely gets above a few percent, even building packages from source. It
     84 seems to stay cool, and it is very quiet.
     85 
     86 I have a Kensington Thunderbolt hub, so the new PC, my ageing Mac Mini and my
     87 work laptop (when I work from home) can all connect to the peripherals and my
     88 screen by a thunderbolt cable that I swap between machines.
     89 
     90 Choosing a distro and desktop environment/window manager
     91 
     92 I ran [16]ArchLinux on a Linode server to serve this blog for several years,
     93 and came to enjoy the rolling distro life and the extensive range of packages
     94 available, so I was pretty sure that I wanted something Arch-based. A few
     95 distros have sprung up which use Arch as a base, but build a more friendly
     96 installation experience and base system on top. I went with [17]EndeavourOS as
     97 it seemed to strike a happy medium between making Arch more approachable
     98 without installing too much or altering how you do things in Arch.
     99 
    100 To get my bearings, I installed the system with the Gnome desktop environment,
    101 and then KDE. I was incredibly impressed by how slick both the EndeavourOS
    102 installation and both desktop environments are. Things have come on enormously
    103 since the early 2000s (not surprisingly!), and almost everything worked very
    104 nicely out of the box. Both desktop environments are so much more beautiful to
    105 look at and more consistent visually and functionally than they used to be.
    106 Even my Apple Magic Trackpad just worked without any configuration when plugged
    107 in via USB. As a sidenote, this is the way I always use it. It may seem a weird
    108 way to use a wireless peripheral, but if you plug it in, as you switch between
    109 devices using the thunderbolt hub, they all see it as being attached and
    110 active. In my experience, this is impossible to when all your devices are
    111 nearby physically, even when they are all Apple devices.
    112 
    113 Screenshot showing Emacs window on the left, editing this post in Markdown and
    114 browser window on the right, previewing the post.
    115 
    116 Emacs window on the left with the TokyoNight Moon colourscheme, and Vivaldi on
    117 the right.
    118 
    119 Of the two, I think that I preferred Gnome, at least for a personal computer. I
    120 liked the way that hitting the Meta key (i.e. Command on a Mac keyboard) alone
    121 would pop up an overview of your workspaces and windows, and that typing would
    122 filter apps to launch. It’s quite unlike either the Apple or Windows approach,
    123 but it is deceptively functional and slick. I also slightly prefer the more
    124 minimal appearance of the windows and applications in Gnome, however it is a
    125 bit less configurable. KDE Plasma is highly configurable, though that comes
    126 with the potential to be overwhelming at first. It is very beautiful and
    127 functional, but to me seemed a touch more professional but marginally less fun.
    128 I’m interested to see how System76’s [18]Cosmic Desktop develops, as this has a
    129 tiling window system by default, and seems to be somewhere in between KDE and
    130 Gnome in terms of flexibility of configuration.
    131 
    132 Screenshot showing two semi-transparent Alacritty terminal windows, one of
    133 which showing system details with Fastfetch, and a Rofi launcher window
    134 floating in the centre.
    135 
    136 Alacritty terminal windows, Fastfetch and Rofi launcher.
    137 
    138 Really, I could be happy with either, but wanted to see where I could get to
    139 with a tiling window manager instead of a full desktop environment. Window
    140 managers do much less for you than desktop environments, but you usually get to
    141 design the status bar, set all the keyboard shortcuts, and use whichever
    142 applications you like to build your own system. Both KDE and Gnome can do
    143 tiling by installing and configuring plugins of various kinds, but I wanted to
    144 try a window manager that tiled by default, and opted for [19]Hyprland. It is
    145 one of a clutch of new window managers that use Wayland instead of the ancient
    146 X11 system to manage the graphical interface. The downside of this is that
    147 graphical applications that have not yet been updated to use Wayland have to be
    148 handled using XWayland as a bridge, and this is not ideal if you use a HiDPI
    149 (Retina) monitor as I do. In practice, I have found very few applications that
    150 I want to use that are X11 only, so it hasn’t been too much of an issue.
    151 
    152 Hyprland
    153 
    154 I took the reasonably easy route by using [20]mylinuxforwork’s Hyprland starter
    155 , which sets up a basic structure of configuration, provides a status bar,
    156 wallpaper and so on. It’s nicely organised and easy to adapt and build on for
    157 your needs. All the configuration for Hyprland is done through text format
    158 configuration files. I love this approach, and much prefer it to hunting
    159 through menus for settings. You can also easily backup and version your files
    160 if you mess something up and want to revert to a previous version.
    161 
    162 Once I had got to grips with what goes where, I really enjoyed configuring it.
    163 Hyprland’s documentation is very good, and it is mostly quite self-explanatory.
    164 The styling of windows and status bars and so on is done using CSS, so if you
    165 know how to style a web page, it is all very familiar and easy. A nice touch is
    166 that as you save the configuration files, the window manager reloads live, so
    167 you can quickly adjust things without having to logout for most changes.
    168 
    169 I also ran across [21]Archcraft where you can pay a small donation to download
    170 a more complex and crafted configuration for Hyprland, which I did, as I liked
    171 the look of the status bars and launchers in this setup. That’s what you see in
    172 the screenshots here. I basically went all in on the [22]TokyoNight
    173 colourscheme, and am ridiculously thrilled that I can get my terminal
    174 colourscheme to match my Emacs theme, to match GUI application themes and my
    175 launcher and status bar, and so on. That kind of visual consistency (using a
    176 colourscheme of my own choice) is really fun. I’m still working on it and may
    177 change the layout a bit, but I’m really happy with the way it looks and
    178 functions.
    179 
    180 Problems along the way
    181 
    182 I’m impressed that I have had remarkably few problems. The most annoying
    183 problem I had when installing was that — by default — you seem to have to grant
    184 permission as a user to connect to Thunderbolt devices. This is a problem if
    185 your monitor connects only via Thunderbolt, as you obviously need to see what
    186 you are doing! I solved this by taking the PC down to the living room and
    187 connecting to the TV by HDMI, then using bolt to authorise and save the
    188 authorisation for the Thunderbolt hub. I still had a problem when booting up: I
    189 could see when the login manager (I was using SDDM at the time) started up from
    190 the power to the USB devices turning off briefly then on again, but the screen
    191 stayed dark. I found that if I entered my password blindly, the desktop would
    192 start and the screen would display, but this was hardly ideal. I futzed about
    193 with this for a while, before finding out that it was some issue with SDDM and
    194 switching to GDM to manage login and launching of desktop environments or
    195 window managers worked fine. If you have HDMI ports on your monitor, you won’t
    196 need to go through this dance. I gather also that some BIOS have a setting to
    197 disable the security for Thunderbolt devices temporarily, but I couldn’t see
    198 that in the BIOS of this PC (maybe because it came with Windows pre-installed —
    199 I could not get out of there fast enough…).
    200 
    201 Final thoughts (for now!)
    202 
    203 I’ve had so much fun with this, and I am really enjoying Linux. I love a
    204 keyboard driven system, and I really appreciate the way I can set things up to
    205 manipulate windows, move between workspaces, switch windows and so on, all
    206 through my own choice of keyboard shortcuts. I’ve also discovered some great
    207 software (some of which is cross-platform) that I will talk about in later
    208 posts.
    209 
    210 I need to use this system full time for a few weeks and months to see what I
    211 can and can’t replace from the Apple ecosystem. Inter-operability with my
    212 iPhone and Watch is one thing, but I’m going to see how much I miss that over
    213 time.
    214 
    215 One last thing: I like giving my computers names. I have often used animal
    216 species names, using a sequence of penguin species (which started when I first
    217 used Linux), then bird species. My current work laptop is named with the
    218 scientific name for the genus of cheetahs, which amused me as a dual joke about
    219 the speed of the M1 chips and a throwback to MacOS Cheetah (MacOS X 10.0) until
    220 I realised that I can neither spell nor pronounce it properly.
    221 
    222 Given that this PC is running EndeavourOS, there was an immediate choice of
    223 name — Morse. I’ll get me coat…
    224 
    225 [23]← older
    226 [24]newer →
    227 
    228 — @
    229 
    230   • Reposts:
    231   • Replies:
    232   • Favourites:
    233 
    234 [25] Discuss on Mastodon
    235 
    236 Activity elsewhere
    237 
    238   • [26]
    239   • [27]
    240   • [28]
    241   • [29]
    242 
    243 Social media
    244 
    245   • [30]
    246   • [31]
    247   • [32]
    248   • [33]
    249 
    250 Copyright © 2002-2024 bsag • Powered by [34]Hugo • Running on [35]Netlify •
    251 Styled with plain CSS by me • Analytics by [36]Tinylytics
    252 
    253 [37]but she's a girl... created by [bsag_avatar] bsag (she/her pronouns, and
    254 known as bsag pretty much everywhere online) and based in Birmingham, West
    255 Midlands, United Kingdom.
    256 
    257 I’ve been ‘bsag’ on the web for more than 20 years now. I’m a biologist by
    258 profession, and a nerd by inclination. I have way too many hobbies, from sewing
    259 clothes to designing and making tiny custom keyboards.
    260 
    261 
    262 References:
    263 
    264 [1] https://www.rousette.org.uk/
    265 [3] https://www.rousette.org.uk/about/
    266 [4] https://www.rousette.org.uk/archives/
    267 [5] https://micro.rousette.org.uk/
    268 [6] https://photos.rousette.org.uk/
    269 [7] https://www.rousette.org.uk/tags/
    270 [8] https://www.rousette.org.uk/archives/exploring-desktop-linux/
    271 [9] https://www.rousette.org.uk/tags/geekery
    272 [10] https://www.rousette.org.uk/tags/linux
    273 [12] https://sixcolors.com/post/2024/08/apples-permissions-features-are-out-of-balance/
    274 [13] https://github.com/nikitabobko/AeroSpace
    275 [14] http://www.rousette.org.uk/archives/nixos-and-the-art-of-os-configuration/
    276 [15] https://store.minisforum.com/collections/all-product/products/minisforum-um790-pro?variant=43865372492021
    277 [16] https://archlinux.org/
    278 [17] https://endeavouros.com/
    279 [18] https://system76.com/cosmic
    280 [19] https://hyprland.org/
    281 [20] https://github.com/mylinuxforwork/hyprland-starter
    282 [21] https://wiki.archcraft.io/docs/wayland-compositors/hyprland/
    283 [22] https://github.com/folke/tokyonight.nvim
    284 [23] https://www.rousette.org.uk/archives/devilish-fun-with-a-modeless-modal-editor/
    285 [24] https://www.rousette.org.uk/archives/exploring-desktop-linux-p2/
    286 [25] https://social.lol/@bsag/113028981223112542
    287 [26] https://www.rousette.org.uk/index.xml
    288 [27] https://bsag.omg.lol/now
    289 [28] https://letterboxd.com/bsag/
    290 [29] https://www.goodreads.com/user/show/33331686-bsag
    291 [30] https://micro.blog/bsag
    292 [31] https://social.lol/@bsag
    293 [32] https://www.flickr.com/photos/bsag/
    294 [33] https://github.com/bsag
    295 [34] https://gohugo.io/
    296 [35] https://www.netlify.com/
    297 [36] https://tinylytics.app/
    298 [37] https://www.rousette.org.uk/