Take your Pi 4 to the next level with 2 Active cooling 3 Front ports
D 4 EE OA 1.0 FR NL 2 W TU DO N U UB
BUILD A BETTER Pi CASE
Custom PCB Solid state drives
PROTECT USB DRIVES USE PHYSICS IN BLENDER CREATE MAGIC EYE IMAGES
The #1 open source mag
UBUNTU Easily install and run the latest release and try its new Wayland display system!
pages of tutorials & features
Create a robust home NAS system with Ubuntu Enjoy the best open source media centre with Jellyfin
Create in-game Python objects
TIME SERIES MINING
Discover Stumpy for Python and process huge data sets
LXF July 2021
Design 3D models the easy way with open source tools
MEET THE TEAM This issue we’re trying the new Wayland display protocol, which is replacing X11. What else is long past its prime and needs replacing? No one say the editor!
Jonni Bidwell Do I still get a chuckle if I say Windows? Sigh. Well anyway, our friendly contact at UKFast agreed that our server needed putting out of its misery. We doff our moth-eaten caps as we remember its legacy. But we (well, I) quite like the new website that its successor is powering.
Christian Cawley Keyboard-dependent text entry is in dire need of replacement. With AR and VR solutions for almost everything else, the lack of a postQWERTY input method for commands and text, over 50 years after the Mother of all Demos is baffling. (This has nothing to do with my typing ability!)
Nick Peers I’m fed up with disposable devices with builtin obsolescence, like phones that can’t easily be repaired or upgraded. Tiny manufacturer Fairphone has shown you can support a phone for over five years – it recently rolled out Android 9 to the ageing Fairphone 2. Sort it out world!
Les Pounder The Raspberry Pi has long had a 32-bit OS, used to support older models of Pi but since the Raspberry Pi 3 we’ve had a competent 64-bit machine that’s lacking a 64-bit OS. So with the Pi 4, CM4, and so on, perhaps now is the time for 64-bit to be the default?
Alexander tolstoy Is Wayland that new? I remember my Wayland tutorial from 2011 in LXF141, which was one of my first official commissions! I believe that the Windows NT kernel is definitely past its prime and needs replacing with Linux. Less legacy code, more speed…
We need upgrades! Technology never stops advancing – that’s a blessing and a curse. Look at Ubuntu 21.04 and the seemingly never-ending story of the Wayland display protocol. It’s been in development for over a decade (see our first feature on it in 2011’s LXF141 by a certain Alexander Tolstoy), yet is still only just making it into Ubuntu, after an earlier failed attempt with Ubuntu 17.10. You can point at a lot of things – Nvidia, screencasting, program incompatibilities – but ultimately it’s a user experience thing. So four years on and the planets are finally aligning for Wayland. Even that immovable mountain of Nvidia driver support appears to be falling into place. Fedora has gone full Wayland and now Canonical thinks that it’s the right time, too. This is a good thing, even though some systems will be left behind. The X11 display server was 36 years old, and the last stable release was eight years ago. That’s almost as old as Wayland itself. X11 is a vast, insecure, outdated system with an unused print server. Linux needs a modern display protocol that understands modern technology and modern requirements. Greater exposure will only lead to faster improvements and more enhancements for all. In a similar vein, the faithful (if aging) Linux Format Archive Server has finally been upgraded after a decade of faultless dedicated server hosting by UKFast. Jonni’s documented his fun month of migrating an aging system, which had long outlasted its role, to a new shiny cloud-based instance complete with a modern software stack. So get experimenting and enjoy!
Neil Mohr Editor firstname.lastname@example.org
Subscribe & save! On digital and print – see p24
July 2021 LXF277 3
Phrozen Sonic Mini 4K
With more pixels per inch than an iPhone 12 Pro, Andrew Sink has a field day printing miniature busts of historical figures.
SUBSCRIBE NOW! Page 24
UBUNTU The latest version of Ubuntu has landed, and Nick Peers is on hand to show you how to install it and find out what’s new. Starting on page 34.
Intel Core i5 11600K
Big Blue is back and badder than ever! No, better than ever says the penny-pinching, wallet-based moth-collector Dave James.
He’s not a fan of release names, so Mayank Sharma is even more perplexed than normal as hippos aren’t known to be hairy.
Mayank Sharma is hopeful this Red Hatbacked distro release will help heal some of the recent community wounds.
Escuelas Linux 6.13
Remote learning is the flavour of the year and Mayank Sharma finds a distro that’s just what the doc, er… headmaster ordered.
We often find Management going around in circles, so when Evan Lahti introduced this “micro RPG” they were left all in a spin!
Not everyone can invest the time needed to learn a complicated piece of 3D software, Michael Reed shows you an easier way to create your own 3D assets.
4 LXF277 July 2021
Before super-fast broadband, before Web 2.0, before Web 1.0 there was Prestel. Mike Bedford reveals the online data service that pre-dated the WWW by more than a decade.
CONTENTS ON YOUR FREE DVD
Pi USER Raspberry Pi news
Ubuntu 21.04 MX Linux 19.4 See page 96
The Compute Module 4 gets released in a 4K signage card from NEC, a novel way to add more GPIOs to a Pi 4 and the Wi-Fi add-on that’s coming for the Pi Pico.
Mu code editor
Les Pounder is a life-long learner and keen to try something new. He goes back to basics and codes from a new coder’s point of view.
Scratch the evil bats!
Jonni Bidwell has more on Ubuntu 21.04 64-bit and MX Linux 19.4 32-bit.
Les Pounder has landed on a new planet and the evil mutant space bats are trying to steal his space snacks. Defend his snacks!
Build a better Pi case
TUTORIALS TERMINAL: USB guard
Your dreams of a Raspberry Pi desktop can be fulfilled with the DeskPi Pro case. Just be sure to read Christian Cawley’s guide first.
Security is more than just a strong password. Shashank Sharma is always on the hunt for robust techniques to safeguard his data.
JELLYFIN: Media server
CODING ACADEMY Dwarf project
BLENDER: Physics and tricks
Michael Reed uncovers some impressivelooking modelling features that are surprisingly easy to get started with.
Tired of being called small and hairy, Andrew Smith grabs his double-headed axe and sets out to create a world full of dwarfs.
Time series data with Python
Nick Peers reveals how to install and set up an open source – but brilliant – alternative to Plex, the streaming media platform.
UBUNTU: Build a NAS server
Nick Peers takes a generous portion of Ubuntu Server, adds a dash of Cockpit and whips up tasty network-attached storage.
Mihalis Tsoukalos explains how to use the Stumpy library to compare time series, with a little help from Anaconda.
XROAR: Dragon 32 emulation
Les Pounder dons his suit of armour and gets ready to do battle with the fearsome Dragon from the Welsh valleys!
REGULARS AT A GLANCE
GIMP: Magic Eye images
There are shenanigans afoot with some kernel commits and people are not happy! Google gets told to FLoC off, a million kernel commits, Apple M1 GPU driver progress, a new Spectre issue arises and more chess!
Piping DVD streams over a network, VPN configuration, mounting your drives each boot, building code with Python, Android transfers and looking into dd.
Should we do an archive DVD? Should we be covering more of awk? Should we be covering more on low-level coding?
Get hold of previous Linux Format editions, but act fast because they soon sell out!
Alexander Tolstoy hasn’t got time to blast off to the ISS and make films, he’s far too busy on Earth making top FOSS like: Shortwave, Cosmic, Haruna, Vizex, eBPFSnitch, Evilpixie, Nethogs-Qt, Kitchen Tales, zFRAG, Optimizt and SingleFileZ.
Discover how Magic Eye images work by learning how to create your own pictures with hidden 3D objects and Mike Bedford.
LXF’s new $HOME
Jonni Bidwell has one month to save Linux Format’s web presence. He claims that he didn’t sign up for this. Fate has other ideas…
July 2021 LXF277 5
THIS ISSUE: Rogue kernel commits raise hackles Google’s cookie replacement rejected Linux edges towards Apple M1 compatibility
LINUX KERNEL CREDIT: Runner1928, CC BY-SA 3.0, https://commons. wikimedia.org/wiki/File:Northrop_Mall_panorama.jpg
University banned for ‘hypocrite commits’ Students had been experimenting on the Linux kernel, and the community, without consent. he University of Minnesota has been banned from contributing to the Linux kernel after two researchers from the institution were discovered deliberately submitting patches with flaws. Qiushi Wu and Kangjie Lu’s paper (http://bit. ly/LXF277Paper) reveals how they submitted patches to the kernel to fix issues, but in fact introduced problems – which the researchers called ‘hypocrite commits’. They claimed this would show how malicious users could slip dangerous code into the kernel, in a similar way to how white hat hackers identify security holes in software. Of course, white hat hackers are invited to find security holes by the people behind the software, and are often given rewards for doing so. Wu and Lu neither asked nor told anyone in the community what they were doing. Their actions have led to accusations that the pair were experimenting on people without consent – something they and the university’s Institutional Review Board deny. They claim that none of the hypocrite commits made it to the Linux kernel, and instead were swapped out for real patches. However, as The Verge reports (http://bit.ly/LXF277Verge), Greg KroahHartman of the Linux Foundation claims that one bad patch of theirs did make it into the kernel, though it didn’t do any harm. The experiment has upset a lot of people who felt it was unethical, and how it wasted many volunteers’ time by submitting useless patches. The release of the paper led to any submission from the university being reviewed.
6 LXF277 July 2021
However, the final straw appears to be when another University of Minnesota student submitted a nonfunctional patch, leading to Kroah-Hartman to angrily state (http://bit.ly/LXF277GregK-H) that, “Our community does not appreciate being experimented on, and being ‘tested’ by
The University of Minnesota has been banned from submitting commits to the Linux kernel.
ON THE ‘HYPOCRITE COMMITS’ “Our community does not appreciate being experimented on, and being ‘tested’ by submitting known patches that are either do nothing, or introduce bugs on purpose.” submitting known patches that either do nothing on purpose, or introduce bugs on purpose. If you wish to do work like this, I suggest you find a different community to run your experiments on, you are not welcome here.” All future contributions from the University of Minnesota are now banned, and previous contributions will be removed. The university has issued an apology (http://bit.ly/LXF277Apology) and promise to ‘immediately suspend this line of research’. This could be too little, too late, with any further commits by the university to other open source projects will now surely be viewed with suspicion. See page 10 for more.
The usually gentle giant Greg Koah-Hartman was moved to emit an uncharacteristic “tisk” or two.
Got a burning question about open source or the kernel? Whatever your level, email it to email@example.com DVDs Q Piping I would like to do be able to build
DVD-R images with genisoimage on one computer and burn them with wodim on another computer, a “burnerpc”. I build a ~/DATA.iso genisoimage. When I copy it to the burnerpc with scp and then go there via ssh then I can burn it with $ wodim -v -eject speed=8 dev=/dev/sr0 / DATA.iso
I would like to do this on the fly. Is there a way (maybe with a pipe) to burn it from my home PC via ssh ? Ingo Rodowsky
It’s possible to do what you want, although you have to be sure the bandwidth between the two machines is sufficient to keep up the flow of data required by the burner. Otherwise you risk buffer underruns and coasters. A decent wired network should handle this with no problems, but using a wireless connection is more risky. It’s not just the lower bandwidth of wireless, but that it’s shared and outside of your control. All it takes is for someone else in the household to start streaming video and your data rate will slow. This can even be caused by non-Wi-Fi devices (nearby microwaves) causing interference on the channel. I wouldn’t consider doing this if the two computers are remote from one another, using an internet connection. The ssh command can accept input from a pipe. It then passes that to whatever program you’re running on the remote computer. As with many commands, if wodim is passed an input file name of - , it will read from standard input, so you could do something as simple as
is done by adding the fs option to your command, say fs=128m . This is probably the most important setting because a larger buffer enables the burner computer to better cope with transient interruptions to the flow of data. If one of the computers involved is fairly low powered, it may be worth using a different cipher with SSH. All SSH traffic is encrypted, but if you’re sticking to your local network, you could try a less-secure, but also less processor-intensive, cipher to improve throughput. Check the SSH man page to see which ciphers are available on both systems if this may be an issue.
VPN or not VPN? Q To I wonder if you have published any tutorials on setting up split-tunnelling on Debian? I run my server on AirVPN VPN 24/7 and run a number of service such as a media server and web server. These use the port-forwarding DDNS facility provided by AirVPN, but that’s limited to 20 ports. Some of those services don’t need to be protected by VPN, so I could release some DDNS ports if I could implement split tunnelling and instead just forward router ports. I should mention that this is a typical home NAT setup so I don’t have a domain name for the server. Chris Wilkinson
Neil Bothwick spends most of his time correcting the editor.
Split-tunnelling is something that needs to be set up on the VPN gateway – AirVPN in this case. It’s not related to the distro that you use. You can set this up using the GUI client for AirVPN, Eddie. You can download a Debian package from the AirVPN website, or grab the Appimage file to be able to run it anywhere. Split-tunnelling is set up in the Routes section of Eddie’s settings window. This does mean that you have to be using Eddie. If your server is headless, you can run it over SSH using X forwarding. SSH into your server as normal but add -Y to the options. Then you can run a GUI program on the server and it’ll open its GUI on the local desktop. However, there’s another way of approaching this. If all you want is to access your server without going through the VPN, why not just set up another hostname for it using a dynamic DNS service? I use the FreeDNS service at https://freedns.afraid.org, but there are others available. You set up a domain name with them that points to your server. Then all you need is a way to tell their server your IP address. Its Clients page has programs for various operating systems that send the required information to them whenever your public IP address changes. Many routers also have Dynamic DNS settings that can send this information for you.
$ cat DATA.iso | ssh burnerpc wodim --your-options -
This would be a good starting point from which to test, but you may have to add extra options to avoid buffer underruns. Reducing the write speed is one such option, but probably one you would prefer to avoid if possible. You can cope with short-term reductions in the data rate by increasing wodim’s buffer size, the amount of data to hold before starting to write. This
12 LXF277 July 2021
VPN providers such as AirVPN supply a means of sending some traffic outside of the VPN, but you can do that yourself by creating a separate hostname.
WRITE TO US Do you have a burning Linuxrelated issue that you want to discuss? Write to us at Linux Format, Future Publishing, Quay House, The Ambury, Bath, BA1 1UA or email lxf.letters@ futurenet.com.
In response to Jack Kendrick, in issue 275 “Pyconfusion”, this attitude is something that bugs me, especially with Windows users who bash Linux, just because you have to sometimes use some grey matter to use it. I see it all the time on forums and Facebook groups. My answer to them is RTFM (Read The Fine Manual) or the modern-day equivalent: Google, say “install pygrame”. Linux is an Operating System (OS). Python is a programming language. You can install Python on Windows and you install pygame (which stands for Python Game as .py – the extension for a python file) the same way on both Linux and Windows. My advice to Mr Kenrick is that he starts off with Scratch or Google’s blocky (see page 44, “A Parent’s Guide to Programming” in LXF275) and then move on to Python. Then again, he could visit his nearest Coder Dojo and ask one of the kids to tutor him. Mr A MacHugh
Neil says… Certainly you’re going to run into the same issues coding on either Windows or Linux. I think a possible issue is people might still frame coding tutorials in the context of the old BASIC listings magazines used to run. These days, apart from trivial examples, nothing is standalone code. Or when someone tries to run code written for a 64-bit desktop PC on a 32-bit Raspberry Pi – that’s always fun.
Who am I?
Is there a DVD archive available of past issues of Linux Format? If one is available, how can I purchase it? I’m a subscriber of the print version of Linux Format. How can I find out what my subscriber ID number is? Bob Boisvert
No we don’t offer issues on DVD, largely as we have the Archive for subscribers. So I’d think uptake would be low. Your subscriber number should be sent with your confirmation – they introduced a new system towards the end of 2020. It’s also printed on the address label of each issue sent to you. Alternatively I think if you go to the self-service system at www.mymagazine.co.uk and create an account it’ll list your subscriber number, along with any other subscriptions you have taken out. It’s also a handy place to send complaints about missing issues.
There’s a Windows application called EZ Home and Office Address Book Plus. It’s a fantastic address book with complete information, not just email address. I haven’t been able to find one that even begins to match this on Linux. I’ve been using Linux since 1998 and love it, but every once in a while I run into this issue. WINE doesn’t seem to like it too much. Do you know of any compatibles? By the way, your magazine remains top of the line. I was sorry to see Doc Brown go a few years back but your crew has certainly taken up the slack. Would like to see more on CLI and AWK. John McMahan, Puerto Rico
Neil says… Do people still use address books? Well apparently! I’ve put Nick Peers on the case and hopefully we’ll have something that’s just as good. You could try something like AlternativeTo (https://alternativeto.net/category/ productivity/contacts-management) though this includes non-free options, or Linux App Finder (https:// linuxappfinder.com/office/contactmanagers). Doc Brown? It’s been more than a few years sadly, just over six years now! It was an excellent section, though considering the changing audience perhaps past its time. Part of the issue is say, take awk – here’s the official free 600 page online book on it: www.gnu.org/software/ gawk/manual/gawk.pdf. We do, of course, run our regular Terminal tutorial looking at interesting and useful tools each issue, plus random
Modern programming isn’t like the olden days! Things have to work together on modern hardware.
16 LXF277 July 2021
MAILSERVER LETTER OF THE MONTH Boot time
I bought a laptop last year, and have now been sent information regarding the installing of coreboot. It is, according to a search of your archives), four years since you last discussed coreboot in the magazine, so I was wondering if you might consider doing a new article on this topic. Basically, I’m not awfully sure whether I ought to install coreboot, and would like your expert viewpoint! I’m currently using Manjaro. Katherine Oliver
Neil says… There’s so many layers above the electronics listed at the bottom…
features on Terminal use. Are you all saying you want more? Let us know.
In days gone by, designing computer software required understanding the basic hardware and how to drive it. For example, to position the cursor on a screen required various Escape Codes and also the port of the screen connection. This was important for producing accurate plots of data and having exact copies on both the screen and plotter/printer. Given modern methods, how do we advise ‘new’ programmers how to understand how a computer works. Any chance of a refresher? Not just for newbies but for us oldsters?
Coreboot is really interesting and you’re right that we should cover it again because it’s more widely accessible these days. But generally, being pragmatic, if you’re saying “I’m not awfully sure” then coreboot might not be for you. Coreboot was originally designed to replace the proprietary firmware used by PCs, so people that care about fully open hardware can trust their equipment. In terms of pure functionality it won’t offer anything new over your current BIOS/UEFI – indeed, it’ll likely offer fewer features. So it depends: if you’re a privacy advocate or you like tinkering with your hardware, go for it. Google is using coreboot on its Chrome OS devices and coreboot is useful for Arm and RISC-V devices where there’s no boot-time standard yet and we understand AMD is supporting it for its newer chipsets. So it is likely we’ll see more of it in the future. At least coreboot has a decent logo.
To be fair to us, Les Pounder has done many an introductory coding tutorial in Pi User and we’ve been running accessible game code over the past year or so. Hopefully the Parent’s Guide to Programming in LXF275 was also a useful first step. But I think we’re more after low-level guides on how PCs work. Thankfully this isn’t the bad-old days when it was necessary and desirable to directly “hit the hardware” and all the issues that introduced. That’s all abstracted away multiple times so programmers can get on delivering functionality and not worrying about what register to pop an address into to draw a pixel on the screen. Certainly though with 30 years of Linux just months away, perhaps looking at how the kernel is constructed would be useful.
July 2021 LXF277 17
SUBSCRIBE Save money today!
Sign up today and get your
YOUR GIFT! WORTH £50 ut,
iss o Don’t m e now! ib r c s b su
wireless charger Product features
harge your devices wirelessly C or via cables (USB-A or USB-C) The PowerKick’s built-in kickstand enables you to keep your device in landscape or portrait orientation while it’s charging Suction cups secure the PowerKick to your phone for consistent charging 10,000mAh lithium polymer battery Fast charging capability
www.magazinesdirect.com/lin/stm21 Call 0330 333 1113 and quote 97AK 24 LXF277 July 2021
Save money today! SUBSCRIBE 1
1,000s of DRM-free PDF back issues and articles! Get instant access back to issue 66 (May 2005) with tutorials, interviews, features and reviews. At linuxformat.com
! DON’T MISS s ar ye Now with 5 & r se U x nu of Li Developer issues
CHOOSE YOUR PACKAGE! ANNUAL PRINT EDITION
ANNUAL PRINT + DIGITAL EDITION
PLUS! Only 22%
13 issues of Linux Format in print over 12 months by Direct Debit
NOT FROM THE UK?
Turn to page for more grea63 subscriber t deals!
DIGITAL EDITION ONLY
13 issues of Linux Format over 12 months in print and digital by Direct Debit
13 issues of Linux Format in digital by Direct Debit
Terms and conditions: Offer closes 30 June 2021. Offer open to new UK subscribers only. Pricing is guaranteed for the first 12 months and we will notify you in advance of any price changes. Please allow up to six weeks for delivery of your first subscription issue (up to eight weeks overseas). Your gift will be delivered separately within 60 days after your first payment has cleared. Gifts only available to subscribers on the UK mainland. Gift not available with a digital subscription. The full subscription rate is for 12 months (13 issues) and includes postage and packaging. If the magazine ordered changes frequency per annum, we will honour the number of issues paid for, not the term of the subscription. For full terms and conditions, visit www.magazinesdirect.com/terms. For enquiries please telephone +44 (0) 330 333 1113. Lines are open Monday-Friday 9am-5pm UK Time or email firstname.lastname@example.org. Calls to 0330 numbers will be charged at no more than a national landline call, and may be included in your phone provider’s call bundle.
1) Only available to www.magazinesdirect.com subscribers
PLUS: Exclusive access to the Linux Format subs area!
July 2021 LXF277 25
ROUNDUP 3D modellers
User interface A clear interface is vital for graphics work. our levels of enjoyment and productivity spent creating objects in 3D is directly related to the usability of the graphical interface. Prepare to take the fun-factor down a notch if the program’s user interface is awkward. In addition, every 3D program requires at least some learning period, so an intuitive GUI is a massive plus. That said, personal preference has to be taken into account. For example, Art of Illusion resembles an older style of 3D application with an old-fashioned way of working, but some will prefer that. It’s also a bit easier to guess how it works from first glance than certain industry standard 3D applications. However, more modern applications are perhaps faster, in long-term use, once you’ve learned how to use them. So, the main criteria for what makes a good user interface are intuitiveness along with convenience when carrying out the dayto-day workload.
7/10 Art Of Illusion
Comparing it to the relative drabness that Blender has opted for over the past couple of years, we quickly warmed to the extra use of colour in the toolbars. Icons have been removed to reduce duplication within the UI, while extra icons have been added for common functions. For example, there are now dedicated buttons for adding primitives (such as cubes and cylinders) along the top of the window. Nice. The mouse button functions have also been rethought. For example, right-click context menus have been deprecated in favour of reserving that button for rotation. Although there are differences, the powerful features are still under the hood, and a Blender veteran would still be able to find their way around, given a bit of experimentation. Overall, switching back to Blender afterwards feels awkward in comparison, so we’re declaring the changes to the interface a success.!
Art of Illusion has an old-fashioned look. In common with older 3D programs, the program defaults to a four-pane display (orthographic projection, old school!–Ed). Also harking back to an earlier era, expect to deal with pop-up windows and dialogs. For example, the extrude function pops up a window and you only see the end result when you click OK. Some people might prefer this to the one-window approach favoured by most modern programs. Adding to its intuitiveness, there are buttons to create the most common geometric primitives (such as cube and sphere) along with curves and polygons. None of these comments are meant as a criticism as such and some might prefer an old-style approach to the user interface. For one thing, we’d guess that the average reader would find it easier to guess how the basic functions work than with some other software.
Documentation and community Is help and support available when you need it? forartists has some good introductory videos created by the developer himself. These cover the basics of using the program and the differences between its interface and the stock Blender interface. The ace that Bforartists has up its sleeve is that it’s a variant of Blender. As such, beyond the aforementioned basics of the user interface, most of the Blender tutorials should be adaptable to Bforartists, given a bit of prodding and experimenting. The long-established Art of Illusion has some good tutorials on the website, and these will step you through some typical miniprojects. The forum on the website is a bit quiet, but it looks as though you could obtain answers to questions in a pinch. There are also a few YouTube tutorials floating about, if you prefer to learn that way. Quite a few people have created Asset Forge YouTube tutorials. There is a moderately active forum and a simple manual on the website. However, the Discord server is very active and probably the best place to go with questions.
30 LXF277 July 2021
Goxel has some introductory video tutorials on YouTube, but the online documentation in general is scant with no official forum. This shouldn’t be a deal breaker because it’s not an immensely complicated program anyway. There are some YouTube tutorials explaining how to use Dust3D. In addition, the website of the developer contains an online manual. There isn’t much of an online community around Dust3D, but it’s a relatively young project. As with Goxel, it’s not a huge program, so the lack of support isn’t that big a problem, thanks, in part, to the built-in examples.
VERDICT BFORARTISTS 8/10 DUST3D 6/10 GOXEL 5/10 ASSET FORGE 9/10 ART OF ILLUSION 7/10 Asset Forge has some good online resources, and Bforartists can leverage the wealth of Blender information that’s available.
3D modellers ROUNDUP
Asset Forge has the easiest interface of the applications that we’re looking at. It does one job very well, and most users will get the gist of how it works almost immediately. On the left-hand side of the screen there is a toolbox of component parts called ‘widgets’ that you place to make complete objects. When a widget is placed, it can be moved by clicking it, or it can be rotated or scaled, and it’s fairly apparent at first glance how you do that. One criticism here: the auto-snapping for widget placement sometimes guesses wrong, and you end up having to place it and then move it afterwards, but it isn’t a huge problem. The toolbox has some tabs that can be used to access the more advanced features such as changing materials. Overall, making things in Asset Forge is intuitive and a fun way to spend some time in the 3D realm.
Goxel is a voxel editor (try saying that fast), so the main work that you do when editing an object or a scene is to paint in 3D space. Unfortunately, there’s always going to be ambiguity as to where you’re pointing, sometimes necessitating a bit of trial-and-error on the block positioning. Often, you either have to rotate the scene to access the area that you want to get at or build upwards and then delete the blocks you don’t need. In use, you’ll typically alternate between doing that and navigating the healthily populated tabbed toolboxes on the left-hand side of the window. For a fairly simple program, there are quite a lot of options and tools to be discovered, such as changing materials and colours and altering the lighting, in the tabs of the sidebar. Overall, the workflow is fairly smooth and building things out of blocks is tremendous fun.
The Dust3D interface is admirably streamlined, but it’s awkward to deal with in places. On the left-hand side of the screen, there’s a fairly brief toolbar. Over on the right-hand side we have a series of tabbed panels. Unfortunately, much of the interface is extremely small and dark, with no way we could find to scale it. To use this program you’ll need good eyesight, a big monitor or both. The way the main viewport area of the window works takes a bit of getting used to at first. Unlike most 3D software, the side and front views of the skeletal layout and the solid 3D preview all share the same area, rather than having their own windows. It’s workable in use, and because the editing is fairly simple, it’s a fairly enjoyable affair. Within a few minutes of experimenting with Dust3D’s interface, you can at least start to create some weird, nightmarish creatures.
How well does it work and play with other programs and engines? ust3D, Asset Forge and Goxel are most at home when being used to create objects that are then used in other programs. That said, Asset Forge and Goxel contain their own renderers, which means that they can be used as standalone programs too. Goxel can export to the common .obj model format, but the colours get lost. We were able to import into Blender, with colour, by using the glTF format. The Unity game engine doesn’t support that format, so we imported the model into Blender and exported from there in a format that includes colour information, but it was extra work. Asset Forge worked more smoothly because it has export presets specifically for Blender, various game engines and for 3D printing, among many other export options. We tried importing into Blender and the Unity game engine, and it worked well. Dust3D is designed primarily to create objects to be used in other software. In our experiments, we were able to export a model and import it into Blender. glTF export produced the best
results. Sure enough, the rigging scheme worked and we were able to move the limbs of the creature in Blender. Art of Illusion and Bforartists are rendering and modelling applications in their own right, meaning that they need to have robust and extensive import and export facilities. Bforartists is well equipped in both regards, and because it’s a Blender derivative, the application has the benefits of being considered and tested as a target for import. Art of Illusion had less-extensive file support, but it does support .obj format, which was arguably the most important consideration here.
VERDICT BFORARTISTS 9/10 DUST3D 7/10 GOXEL 7/10 ASSET FORGE 9/10 ART OF ILLUSION 6/10 Asset Forge worked very well and had all of the export options that you’re likely to need. Bforartists had extensive options too.
July 2021 LXF277 31
The latest version of Ubuntu has landed, and Nick Peers is on hand to show you how to install it and find out what’s new.
buntu 21.04 – known to its mates as Hirsute Hippo – is here and demanding your immediate attention. If you’re running Ubuntu 20.10 then you’ve probably already had the update reminder, while those running Ubuntu 20.04 LTS may be getting itchy feet and wondering if now is the time to switch to the six-monthly release cycle, at least for the next year. And what if you’re thinking of switching to Ubuntu for the first time? Perhaps you’re fed up with broken Windows updates and constant privacy creep as it tries to trick you into surrendering more of
34 LXF277 July 2021
your personal data. Whatever camp you fall into, this feature is for you. We’ll kick off by looking at how you can test-drive the latest version of Ubuntu without committing to a full-blown install on your system. All you need is a blank DVD or spare USB stick, which enables you to run a ‘live install’ that doesn’t touch your existing system. Want to try the full version, but not quite ready to commit? Discover how easy it is to install in VirtualBox. And when you’re ready to give it a permanent home on your PC, we’ll reveal how to install it alongside your existing operating system, making it possible to switch between the two as you see fit.
But what of Ubuntu 21.04 itself? We’ve also explored the new and improved features to give you a full rundown of what to look for. The big talking point is a new default windowing system called Wayland – we’ll reveal what this is, what it means and whether it’s a change that will finally stick after one previous failed attempt. We’ll also reveal what else to look for in an update that, while not revolutionary, has lots of useful tweaks and improvements to make your computing life that bit easier. We’ll finish by asking the big question: do you need to upgrade, particularly if you’re currently on the LTS (long-term support) channel? Read on to find out…
Get into Ubuntu
Install Ubuntu 21.04 Looking to switch to Linux from Windows? Discover how to take Ubuntu for a test drive, then install it alongside your existing operating system. he release of any new version of Ubuntu is bound to attract potential switchers from other operating systems. The truth is, these days, installing most flavours of Linux in general – and Ubuntu in particular – is no harder than installing Windows, and in many ways it’s much easier. Crucially, it’s also free, and unlike Windows there are several ways in which you can give Ubuntu a test-drive without committing to a full-blown install. The Ubuntu installation media doubles up as a live disc, which loads a fully functioning version of Ubuntu without touching your hard drive, giving you the chance to try out its user interface and key programs in minutes. If you want to take it further, we recommend running it in a virtual machine – the box (overleaf) reveals how, enabling you to install and try out everything Ubuntu has to offer over an extended period. Then, once you’ve decided you’d like to run it permanently and natively on your PC, we’ll step you through the process of setting Ubuntu up alongside your existing Windows installation, so you can easily switch between the two.
Create your boot disc
First, obtain your Ubuntu installation media. Visit https://ubuntu.com/download/desktop to download the desktop version. You have a choice of two versions: choose the newer (21.04) version if you want access to the latest features and are happy with upgrading Ubuntu every six months or so; the LTS version only updates once every two years and is supported for five years as opposed to nine months for non-LTS releases. Save the ISO file to your hard drive. It’s around 2.6GB in size, so may take a while to download (it’s on the LXFDVD too) depending on your internet speed. Once saved to your hard drive, the ISO file can now be copied to install media or used directly with VirtualBox. If you’re looking to create installation media, then the simplest option is to pop a blank DVD into your DVD writer, then right-click the ISO file and choose Burn disc image. Bootable DVDs are simple to set up, but they’re slow. If you have a spare USB flash drive (4GB or later) that you’re happy devote exclusively to Ubuntu, then format it as FAT32. Next, download and run Unetbootin (https:// unetbootin.github.io). Select Diskimage and click … to select your ISO file. You’ll see ‘Space used to preserve files…’ option, which basically creates ‘persistence’. For a quick road-test of Ubuntu, leave this set to 0. Plug in your USB drive and select it from the Drive drop-down, then click OK.
Boot from Ubuntu
It’s time to give Ubuntu a test-drive. Reboot your PC with the DVD in the drive or USB flash drive plugged in. If you’re lucky, your PC will be set up to detect your boot
Create your USB boot media with the help of Unetbootin, available for Windows, Mac and Linux.
drive and reveal a simple loading screen – you can skip to the next section. If you boot straight back into Windows, restart your PC again and look for a message enabling you to press a key to either enter the BIOS/UEFI setup utility or select a boot device. Choose the latter, then select your bootable media from the list. If it appears twice, try the UEFI option first. If neither option works, then you’ll need to boot to the UEFI setup utility and look for options to disable QuickBoot or FastBoot and Intel Smart Response Technology (SRT).
AN EASY WAY TO TRY UBUNTU “The Ubuntu installation media doubles up as a live disc, which loads a fully functioning version of Ubuntu without touching your hard drive.” You may also need to disable Fast Startup in Windows itself – navigate to Settings>System> Power & sleep and click ‘Additional power settings’. Click ‘Choose what the power buttons do’ followed by ‘Change settings that are currently unavailable’ and untick ‘Turn on fast start-up (recommended)’.
If your boot media is detected then you should see a boot menu appear with various choices – leave the default Ubuntu selected and hit Enter. This should now load Ubuntu to the point where you’ll given the option to either try or install Ubuntu. Click Try Ubuntu to find
July 2021 LXF277 35
IN-DEPTH Exploring Prestel
PRESTEL Mike Bedford shines a spotlight on the online data service that predated the World Wide Web by more than a decade… hirty years ago the CERN European particle physics laboratory near Geneva in Switzerland released the first web browser. For the first time, the World Wide Web, which had been developed at CERN a couple of years earlier in 1989 by British scientist Tim Berners-Lee, was available to other research institutions and the general public. It’s no overstatement to say that the world has never been the same since. How that milestone has influenced industry, commerce, popular culture and so much more is well-known. What is less well-appreciated is the technology that this momentous achievement helped bring to a close. That earlier technology – the UK’s Prestel system and similar Viewdata services in other countries – is our subject in this month’s feature. This isn’t just a history lesson, though. We’ll show you something of the underlying technology using some exercises that you can try out yourself and,
if you’ve ever doubted it, you’ll discover how much of a game changer the web really was compared to its predecessor.
If you’re not old enough to have delved into Prestel back in the 80s, or if you were around at the time but, like so many
presented with a display screen on the left and a keypad on the right. You’ll probably prefer to use the keys on your keyboard, but these will be limited to the figures 0 to 9 plus * and #, as the on-screen keypad makes clear. For although some home computer users of the early 80s accessed Prestel on their BBC Micro, ZX Spectrum or similar, most people used a Prestel adapter. This connected to a TV and the phone line, and which had just a numeric keypad as its user interface. To start, you need to select your service and, at least initially, we suggest that you choose Telstar (slow) from the menu at the bottom of the keypad. Then click Connect. Unlike most of the other supported services, this restricts the speed to that which was achievable on Prestel and you’ll notice two things: First of all, you’ll be able to see pages bring written, character by character and line by line, and it takes several seconds for a page to appear. Second, despite the slow update, the screen resolution isn’t exactly high. Specifically, all pages are 24 lines of
CONNECTING WITH PRESTEL “Although some home computer users accessed Prestel on their BBC Micro, ZX Spectrum or similar, most people used a Prestel adapter.”
42 LXF277 July 2021
people, never used Prestel, let’s take a look at what is was like. In fact, even if you’re a former user of the system, you might still like to take a look to remind you how different it was to today’s online world. Although Prestel closed back in 1994, you can find an emulator at https:// vd-view.azurewebsites.net which enables you to access several Prestel-like services. Once you head over to that site you’ll be
TUTORIALS Code in Scratch
SCRATCH Credit: https://scratch.mit.edu
Blast the evil mutant space bats Les Pounder has landed on a new planet and the evil mutant space bats are trying to steal his space snacks. Defend those provisions with your life! ontinuing our Scratch projects, and after blasting off from the planet of the evil space aliens we’ve now landed on a mysterious planet with evil space bats, intent on eating our space food rations. To stop the bats from eating our food we need to SPLAT THE BATS with our space ray guns. Scratch 3 should come pre-installed on your Raspberry Pi OS image, but just in case it’s missing it can be installed from the main menu, under Preferences>Recommended Software. Scratch 3 is found in the Programming category – place a tick in the box and click Apply to install. Once installed, Scratch 3 can be found in the main menu under Programming. Launch Scratch 3. We’re going to start with a new sprite. In the bottom-right of the screen click the Cat sprite and then click the trash can icon to delete the cat. In the same section look for an icon that looks like a cat with a plus sign above it. Click this and select Choose a sprite . Look for the Bat sprite. This sprite has four costumes, which are used to give basic animation to the sprite. Click the bat and it’ll appear in the box. We’re going to write code for the bat, so make sure it’s selected. The first block of code is the trigger that starts the game. From the Events blocks, drag the When Green Flag Clicked . Next we go to Variables, and click Make a Variable . Call the variable score and make it available for all sprites. From Variables drag the Set score to 0 . You may need to use the drop-down menu to select the variable. Now go to Control and drag a forever loop and connect it to the previous blocks of code. The next three blocks are inside the forever loop. The first is from Looks
OUR EXPERT Les Pounder is associate editor at Tom’s Hardware and a freelance creative technologist. He blogs at bigl.es.
YOU NEED Any Pi, best on 3/4/ 400 The latest Raspberry Pi OS You can play the game at https:// scratch.mit. edu/ projects/ 510754728
The vector editor is a great way to design your own sprites. They can also be converted to bitmaps for eight-bit games.
48 LXF277 July 2021
Can you save the snacks from the evil mutant space bats? They’re hungry for space food… your space food!
and it’s next costume . By changing costumes we can animate the sprite. The next block is glide 1 secs to random position and it’s found in Motion. This block will make the bat glide around the screen.
Next we add a little more animation to the bat. Grab When Green Flag Clicked from Events and drag it into the coding area. Go to Control, drag another Forever loop and connect the two. Inside the new forever loop, drag a turn 15 degrees block from Motion. Finally go to Control and drag wait 1 seconds inside the loop. Change the 1 to 0.1 to make the rotation 10 times faster. The final section of code for this sprite starts with when this sprite clicked found in Events. From Sound drag start sound and place it under the previous block. The default sound is pop, but we want something cooler. In the top-left of the screen, look for the Sounds tab, click the tab and in the bottom-left look for the speaker icon. Click the icon and select Choose a sound . Go through the library and choose a sound. We used squishy pop . Select the sound, then click the Code tab and change the play sound dropdown to your chosen sound. From Variables drag Change score by 0 and place it under the previous block, change the 0 to 1. This means if we hit the bat, we get a point. The final block is from Looks and it’s switch costume to . Connect this to the previous block and set the dropdown to bat-c , which is an open winged bat that looks like it’s been splatted!
TUTORIALS Desktop Pi 4 case
ADVANCED Pi CASE
Fit a Raspberry Pi 4 inside a custom case Your dreams of a Raspberry Pi desktop can be fulfilled with the DeskPi Pro case. Christian Cawley’s on hand to provide assembly instructions. ith up to 8GB of RAM, USB 3.0, a quad-core CPU and dual-band WiFi5, the Raspberry Pi 4 is the first iteration that can deliver a consistent, reliable desktop experience. But to fulfil that potential, you need a desktop case with space for additional storage, full access to the USB ports, and a reliable cooling solution. Among the various solutions available is the $55 DeskPi Pro from SeeedStudio (www. seeedstudio.com). It has everything you need to turn your Pi into a desktop system and delivers a great experience, but setup can be tricky.
OUR EXPERT Christian Cawley isn’t an expert guitarist, culinary whiz or pro eSports player. He does, however, know how to press buttons and use a screwdriver.
We’re on the case!
You can’t search through a list of Raspberry Pi accessories online without tripping over a bunch of cases. These range from the official white and red case to LEGO-compatible boxes, transparent cases, layers of plastic stacked one on the other, and various DIY solutions. With so many options for keeping your Pi free from dust, splashes, and other potential interruptions, it might seem strange to consider a solution like the Argon ONE range or the DeskPi Pro. But consider the benefits: an all-in-one power supply, integrated storage; a PC-like experience; a Pi that won’t get pushed around by the weight of the HDMI or Ethernet cables (or both). Plus modern luxuries like front-mounted microSD slot, two USB ports and a power switch. The GPIO is also rerouted, away from the side of the Raspberry Pi to the back of the DeskPi Pro. The power of the Pi 4 (especially the 8GB model) and the robustness of Raspberry Pi OS and other compatible OSes underlines the fact that this is a platform that has hit maturity. It needs a desktop case.
YOU NEED Raspberry Pi 4 (4GB or 8GB) DeskPi Pro case Phillips screwdriver 50 LXF277 July 2021
Assembling the DeskPi Pro with your Pi 4 can be timeconsuming. If you’re used to the ease of traditional Raspberry Pi cases, you’re in for a rude awakening. Mounting the Pi in the DeskPi Pro is more akin to installing a motherboard in a traditional desktop case. Like many such cases, the DeskPi Pro features peripherals and add-ons to enable compatibility with the Raspberry Pi. Key among these is the microSD adaptor, which reroutes the microSD slot to the front of the DeskPi Pro. This small PCB easily slots into the
The first stage of assembling the DeskPi Pro is the spider-like heatsink that has a nasty bite. One wrong move and your Raspberry Pi is at risk.
microSD slot, with the ribbon cable connector facing up. The cooling fan assembly’s mounting posts are also used to secure the microSD slot adapter in place.
Cooling fan assembly
The most complex aspect of assembling the DeskPi Pro, is the cooling fan and heatsink assembly. Arguably the most important stage of setting up the Pi with a DeskPi Pro case, it’s vital to complete this efficiently. A wrong step here could leave you without a Raspberry Pi 4. Getting this right means first assembling the heatsink correctly. If you have experience of building full-sized PCs, you’ll appreciate the requirement to build the fan and heatsink before attaching it to the CPU. In the case of the DeskPi Pro cooling system, a thermal pad is included for the CPU, although you might prefer to use thermal paste. Another aspect of constructing desktop PCs is reflected in this stage of the DeskPi Pro. The springy legs of the assembled heatsink must be accurately positioned for effective cooling. But what does this mean? Essentially, the heatsink should be constructed in a slightly offset manner, with more “leg” on the righthand side of the heatsink (with the Pi’s USB ports facing away from you). Completing the trio of similarities with a desktop build is the requirement to apply some pressure to correctly attach the heatsink to the Pi 4. This can be a stressful moment for your beloved Pi, and one that’s
IN-DEPTH LXF’s new $HOME
LXF’s NEW $HOME Jonni Bidwell has one month to save Linux Format’s web presence. He claims he didn’t sign* up for this, but Fate takes a different view… o there was us happily thinking things were getting back to normal, enjoying a beer on the terrace that latterly had become our base of Friday operations. We sipped our ales and couldn’t help feeling a sense of accomplishment. In spite of adverse circumstances, in particular the closure of the LXF Towers deli, we had kept making the magazine and soon things would be back to normal. And then, the phone rang. It was UKFast. To what did we owe this pleasure? Well, says they, “we’ve been looking at our legacy contracts, and it seems you’ve been getting free hosting from us since, er, 2008”. Indeed, in the early days of LXF, before Future knew about things like the internet, UKFast generously gave us not one, but two dedicated servers. One of these was shut down last year while the other, right up until early May, hosted linuxformat.com. There’s no way we
could reasonably expect UKFast to continue to provide free hosting, especially since management have got us all drinking the digital-first Kool Aid. Times change and servers are expensive, so we decided to move things in-house. Naturally, we thought our world-class devops team could sort all this out in the blink of an eye. So we documented our setup, outlined our (meagre) requirements, deciphered our database schema and sent our findings upstream. It didn’t take long for them to find a solution: “How about we give you some AWS credit and you chaps sort it out?” So, with only 30 days’ grace hosting left, Jonni Bidwell set to work. Read on to find out why, besides archaic PHP, it took him 33 days to succeed–mastering a DVD on the way. And to learn scandalous, never-before-printed details about the shoe and ham-strings that held the previous website together.
* it’s in your job description! –Ed 52 LXF277 July 2021
TUTORIALS Stream your media
JELLYFIN Credit: https://jellyfin.org
Get a next-gen media server up and running Nick Peers reveals how to install and set up a completely open source – but brilliant – alternative to Plex, the streaming media platform. ant the best features of Plex and Emby without the cost (or closed-source components)? Then take a look at Jellyfin (https://jellyfin.org), which has come on leaps and bounds from a simple fork of the last open-source Emby release (3.5). While Jellyfin still has a similar feel to Emby, it’s carving out its own unique niche in the media server marketplace. It may be free, but that doesn’t mean you’ll miss out on features. On the contrary, Jellyfin includes features found only behind Plex and Emby’s respective paywalls: hardware GPU transcoding for one, full support for live TV (including DVR facilities) for another. It’s even keeping up with some of the newer features added to its rivals. Early in lockdown, Plex and Emby
OUR EXPERT Nick Peers is shifting his allegiance from Plex to Jellyfin, and not just because it’s free!
NAVIGATION JELLYFIN’S MEDIA LIBRARIES
Getting started 3
Slide-out menu Click here to quickly jump between libraries – including Jellyfin’s Collections, which can be manually curated or created automatically via a plugin.
Playback controls Click here to play the movie, watch the trailer, plus other tasks – for example, adding it to a playlist or editing its metadata.
Admin tools 2 The Dashboard is where you go to monitor and administer the Jellyfin server.
Access multiple versions Rip different versions – say extended versus theatrical release – of the same film and choose which one to watch.
Sharing options Click here to set up SyncPlay to watch with friends and family, cast to another device or search your library.
Choose audio and subtitle tracks If your movie contains multiple audio tracks – as well as subtitles – you can select which ones you want from these menus.
58 LXF277 July 2021
introduced features for watching the same server content in real-time with far-flung friends and family. Jellyfin quickly followed suit with SyncPlay, available to anyone who’s logged into your server. While it’s true that Jellyfin isn’t quite as slick and well-supported in terms of clients as its better-known siblings, it still covers most bases (see https://jellyfin. org/clients for a full list). What it lacks in polish is more than made up by its customisability, and unlike Plex and Emby doesn’t require cloud-based authentication to unlock all its features, making it perfect for those wanting a server exclusively for use over their own network. (You can still open up Jellyfin for remote access though – see the box for details, below right.)
You can install Jellyfin natively or through Docker – visit https://jellyfin.org/downloads for a complete set of instructions. We recommend a native install if you plan to make use of Jellyfin’s hardware-transcoding features. Click the Stable link to reveal the full commands, or save time if you’re running Ubuntu LTS (16.04 or later) by issuing the following commands: $ sudo apt install apt-transport-https $ wget -O - https://repo.jellyfin.org/jellyfin_team.gpg. key | sudo apt-key add $ sudo tee /etc/apt/sources.list.d/jellyfin.list $ sudo apt update | sudo apt install jellyfin
Once installed, Jellyfin will set itself up a service, and will start running in the background. You can configure it from your web browser by going to http://127.0.0.1:8096 – if you installed it on a server, you can access it remotely via http://192.168.x.y:8096 (where 192.168.x.y is Jellyfin server’s internal IP address). The first-run wizard will appear. After choosing a username and strong password you’ll be prompted to set up your first media library. The process is the same here as it is when adding further libraries via Jellyfin’s main Dashboard, so is worth covering.
Set up media libraries
First, choose your content type: Movies, Music, TV Shows, Books, Photos, Music Videos and the catch-all Mixed Content are all available. Name your library, then click + to select a folder containing that library’s
ISSUE 276 June 2021
ISSUE 275 May 2021
ISSUE 274 April 2021
In the magazine We show you how to set up your own server for your photos, either at home or in the cloud. Learn how to emulate the Commodore PET, manage headless servers with Cockpit and render objects in Blender. Plus get coding and graph metrics in Python today!
In the magazine Get more from your Raspberry Pi with our great selection of projects. A parents’ guide to coding, an introduction to 3D tool Blender and a tour of video conferencing tool Jitsi Meet. Plus code a first-person shooter, audio software reviewed and photo effects.
In the magazine Ramp up the security of your Linux system and turn it into a fortress. Have fun with a Raspberry Pi Pico, explore the best window managers, code a Space Invaders-style game in Python, emulate 486 PCs, set up a back-up system and more!
DVD highlights Manjaro 21 (64-bit) and Tails 4.17 (32-bit).
DVD highlights Mageia 8 (64-bit) and AntiX 19.3 (32-bit).
DVD highlights Linux Mint 20.1 (64-bit) and Sparky 5.14 (32-bit).
ISSUE 273 March 2021
ISSUE 272 February 2021
ISSUE 271 January 2021
In the magazine Machines within machines are the order of the day as we show you how to better run a VM. Discover how to construct a mind map, emulate a BBC Micro and we explain Active Directory. But it’s not all work: we review five game engines, connect a gamepad to a Pi and explore chess engines!
In the magazine Enjoy a fresh FOSS start with the latest version of Ubuntu, plus encode video more efficiently, remake Angry Birds in Python, emulate the Classic Apple Mac, transform your command line life, and get into astronomy with our review of star-gazing software.
In the magazine Discover how you can get Linux up and running on your laptop and mobile devices! We also explore the chat tool Jami, provide essential tips for Firefox, use a Raspberry Pi as your daily driver and reveal how to become a package maintainer.
DVD highlights Ubuntu 20.04 LTS (64-bit) and Bodhi Linux 5.1 (32- and 64-bit).
DVD highlights Pop!_OS 20.04 LTS and Fedora 33 (both 64-bit).
DVD highlights (64-bit only) Manjaro 20.2 and Gecko Linux 152.
To order, visit www.magazinesdirect.com Select Single Issues from the tab menu, then select Linux Format. Or call the back issues hotline on 0330 333 1113 or +44 (0)330 333 1113 for overseas orders.
Quote the Product code shown above and have your credit or debit card details ready 62 LXF277 July 2021
READING IN THE USA?
UK readers turn to p24
Don’t wait for the latest issue to reach your local store – subscribe today and let Linux Format fly straight to you. Faster, cheaper and with DRM-free archive access!
3 GREAT WAYS TO SUBSCRIBE
Print, digita l-only, and print+d igital bundles!
From $132 For 13 issues
REST OF THE WORLD From $137 For 13 issues
From €100 For 13 issues
IT’S EASY TO SUBSCRIBE!
Call +44 0330 333 1113 Lines open Monday-Friday, 9am-5pm, UK time
July 2021 LXF277 63
TUTORIALS Animate in Blender
BLENDER Credit: https://www.blender.org
Exploring Blender’s features and tools
Looking for parts one or two? Turn to page 62
Delving further into Blender, this month, Michael Reed uncovers some impressive-looking features that are surprisingly easy to get started with. lender often feels like five pieces of software in one package. While it’s amazing that it has so many facilities, it does mean that every time you think you’ve acquainted yourself with the basics, you then discover something else it can do. For this tutorial we’ve chosen Blender features that might sound intimidating (such as physics simulation or shader programming) but that are surprisingly easy to get up and running. You can take a stab at the sections individually, but you’ll probably get more out of the tutorial by following them in order. As ever, you’ll often want to start with a blank scene when working with something new (File>New>General). Unless we mention that we’ll be working with the default cube, delete it before you start work (select with left mouse button and then press Delete).
OUR EXPERT Michael Reed has been playing around with Linux since first trying Slackware back in 1996..
Working with text
If you’re working with animation or physics, don’t forget to set the Timeline back to frame 1 before you make any changes to objects. Of course, this isn’t the case if you really want to change the position (or other parameter) of an object at a later stage of the animation.
64 LXF277 July 2021
Blender has facilities for working with 3D text that you could use to create a 3D logo. You could even animate it. Spinning metallic text, here we come! Start by adding a text object (Add>Text). The first problem is that the text is flat against the floor when first created. As it’s just a standard Blender object, prop it up vertically using the Object Properties tab in the Properties Browser on the lower right-hand side of the screen. To do this, change the Rotation X field in that panel to 90. If you want to edit the text, go into Edit mode by pressing Tab. From here, you edit the text directly on screen by typing in the normal way. This is particularly neat because you get real-time visual feedback as you’re editing, and this holds true even when we’ve
You can highlight part of the text object and assign a different material. This is true for most object types in Blender.
added extra features to the text. Speaking of which, let’s explore altering the characteristics of the text object to move beyond a flat piece of text. Press Tab to go back into Object mode, as we want to alter the text as a whole rather than the individual characters. Text objects have their own special tab in the Properties Browser, denoted by a lowercase ‘a’ icon; It’s fairly easy to find, although, confusingly, it’s labelled Object Data Properties. In this panel, open the Geometry subsection and increase the Extrude value to around 0.06m, giving a more substantial look to the text. Increase the Depth value in the Bevel subsection to 0.02m to round the edges of the text characters. One of the main things you want to do when working with text is to change the font, and things are a bit fiddly here as you have to specify the True Type format font in the Font subsection in the Object Data Properties panel. Download a font in TTF format or locate the fonts on your system. For example, on Ubuntu, the fonts tend to be in /usr/share/fonts/truetype/ . Although it’s a shame that the text isn’t more colourful...
Materials, metal and shininess
We’ll stick with the text in the previous example for the moment. Adding a material to an object enables us to assign not only a colour, but also surface characteristics such as how shiny or metallic it is. As always, when doing any work with materials, set the Viewport Shading mode to Material Preview (icons in the top right-hand side) so that we can see the results of our changes. Go to the Material Properties tab in the Properties Browser. Add a new material by clicking the New button and then click the white part of the Base Color field to change the colour. You can increase the shininess of the text by lowering the Roughness parameter in this panel. If you really want a metal-like material in Blender, select the Glossy BSDF shader in the Surface field. You can alter the Base Color field in the panel to simulate the look of different metals. Leave it white for steel, and change to orange for brass and yellow for gold. Different parts of objects in Blender can have different materials assigned, and this goes for text too. So, in Edit mode, Shift-select different parts of the text, add a new material to the object (+ button in the Material Properties panel) and click the Assign button. If
TUTORIALS NAS server
UBUNTU Credit: https://www.ubuntu.com
Build a fully featured Ubuntu NAS system Nick Peers takes a generous portion of Ubuntu Server, adds a dash of Cockpit and whips up a tasty network-attached storage setup, our NAS server needs a suitable operating system to run, and because it’s designed to be run headless, we’re going to install Ubuntu Server 20.04 LTS. The Server version doesn’t come with unnecessary system overheads such as a desktop, because everything is done from the command line. Don’t worry, though: after it’s been set up, we’ll install a special add-on (Cockpit) that enables you to easily administer your server remotely from any web browser on your local network. We chose the LTS version of Ubuntu Server to reduce the number of major OS upgrades that we’ll need to apply during the server’s lifetime.
OUR EXPERT Nick Peers is available for Captain Riker impersonation gigs and freelance writing.
Start the install process
Ubuntu Server’s text-based install wizard is simple enough to use.
Head over to www.ubuntu.com/download and click the Ubuntu Server link, followed by Option 2 – Manual server installation. You should find the latest LTS version (Ubuntu Server 20.04.2 at the time of writing) as the main option. It’s a much smaller download than the fullblown desktop version and comes in at a mere 1.1GB. Once Ubuntu Server has downloaded, you can burn it to a blank DVD or copy it to an unused USB flash drive (2GB or larger).
Once you’ve created your install media, plug it (or insert the disc) into your server PC before powering it on. If the BIOS isn’t configured to boot from USB drives, press F11 (possibly F12) on startup to bring up the boot menu, then select your USB drive to start the install process. If you’re familiar with the Ubuntu Desktop install process then prepare to forget everything (albeit temporarily!) because Ubuntu Server uses a text-based install method. When the GRUB menu appears, leave Install Ubuntu Server selected, and press Enter. You’ll see some familiar command-line messages scroll by as your drive is tested for errors and key steps are performed. Eventually, you’ll be shown the text-based setup menu. It’s not as attractive as Ubuntu Desktop, but still relatively simple to navigate.
Set up your system
Select your preferred language and hit Enter, then choose your keyboard language and layout. The next step is potentially the trickiest, because it involves configuring your network. Servers should be given static IP addresses, which enables them to be easily found on the network. Start by pressing the up arrow key twice to select the current interface (ETH or WLAN) and press Enter. Use the down arrow key to select Edit IPv4, hit Enter, then hit Enter again to change the setting from Automatic (DHCP) to Manual.
68 LXF277 July 2021
TUTORIALS Emulate a Dragon 32
Emulate the classic Dragon 32 Les Pounder dons his suit of armour and gets ready to do battle with the fearsome Dragon! ales has a history of making computers, going back to the early days of the Raspberry Pi in 2012. Sony’s technology centre in Pencoed is where the Pi has been made since the first revision of the board (the first batches of Raspberry Pi were made elsewhere, but after that it was all Sony). Yet before the Raspberry Pi there was another Welsh computer: the Dragon 32 made by Dragon Data Ltd from 1982 to 1984. After a short life Dragon Data Ltd collapsed in 1984 and from then production of the Dragon 200, a Dragon 64 in a new case, went to Eurohard SA, which itself went bust in 1987. The remaining stock of Dragon machines were given away to subscribers of a Spanish electronics magazine. But in these short years the Dragon 32 and 64 were part of the rich tapestry of 1980s home computers that inspired a generation to learn coding and to create their own games. The Dragon 32 came with 32KB of RAM, and the Dragon 64 with 64KB, but both were powered by a Motorola 0.89MHz MC6809E CPU. The Dragon machines didn’t fit into the home computer market, nor the educational market. For the home, the Dragon machines didn’t have the best graphics or sound and the machine wasn’t on the market long enough to generate the interest of the big software houses of the
OUR EXPERT Les Pounder is associate editor at Tom’s Hardware and a freelance maker. Read his blog at bigl.es.
Made a mistake in the code? Need to delete a line? No problem – just type in the line number that you wish to delete, and then press Enter. To edit, just re-type the line number and reenter the code.
The Dragon could accommodate a CRT screen on the case. The full-size keyboard was only bested by the BBC Micro.
time. For education, the BBC Micro was king and the Dragon machines were only able to display uppercase characters – not ideal for the education sector. Despite the short life and shortcomings of the Dragon machines, they are an interesting machine with a rich history and fun range of games. So let’s delve in and learn more about the Welsh Dragon!
Emulating a Dragon 32
Our emulator of choice is XRoar, an application that can emulate Dragon 32 and Tandy Color computers. To install XRoar on Ubuntu we need to add a PPA (personal package archive). Open a terminal and type the following to add the PPA to your sources: $ sudo add-apt-repository ppa:sixxie/ppa
It’s always good practice to update the list of available repositories before installing software via apt: $ sudo apt update $ sudo apt install xroar
The Phantom Slayer is considered the breakthrough firstperson shooter and sees our brave character being stalked by ghoulish phantoms in complex mazes.
72 LXF277 July 2021
Next we need to create a hidden directory in our home directory to store the firmware ROM. $ mkdir -p .xroar/roms/
Where do we get the ROM? If you own a Dragon 32 then you can dump your own ROM. Otherwise search online, but remember that the firmware ROM is under copyright. The ROM file is called D32.ROM and it should be placed inside the .xroar/roms/ directory. To run XRoar, enter this command into the terminal. $ xroar
CREDIT: Liftarn, CC BY-SA 2.0, https://commons.wikimedia.org/wiki/File:Dragon_32.jpg
TUTORIALS 3D photos
MAGIC EYE Credit: www.easystereogrambuilder.com
Make your own Magic Eye images
Discover how Magic Eye images work by learning how to create your own pictures with hidden 3D objects. Mike Bedford’s behind the visual wizardry. t first sight a Magic Eye picture, or an autostereogram to give it its generic moniker, looks like a patterned image that repeats several times across its width. However, if you stare at them for a while, a three-dimensional object will eventually appear to pop out of the page. Here we’re going to see how to generate your own Magic Eye images. But while it’s interesting to produce these astonishing pictures using readily available software – and we’ll show you how to do that – we’re going to start with a few rather more manual exercises. By delving into the underlying principles in this way, you’ll gain an inkling of the magic that fools our eyes.
OUR EXPERT Mike Bedford has an enduring fascination with 3D photography, but, he admits, this is the first time that he’s understood how Magic Eye images work.
When talking about 3D images we’re thinking of images that are able to reproduce one particular visual characteristic, namely stereoscopy. Putting that in plain English, this refers to us seeing a scene from two slightly different viewpoints – one from each of our eyes – in such a way that our brains merge those two images and, in so doing, provide a much stronger depth perception than is present in 2D images. Returning to Magic Eye images, it’s stereoscopy that makes their magic possible. Generally, we don’t notice the two slightly different images that our eyes capture, because our brains do all the processing subconsciously. However, to get a better feel for this important visual effect, here’s a simple
exercise you can try out. Hold the index finger of one hand at arm’s length and hold the index finger of your other hand much closer to your eyes. Now, try looking at this scene with just one eye at a time, and you’ll see how the horizontal position between the two fingers shifts as you swap between your eyes. Taking this one stage further, we’re going to delve into stereo pairs or, in other words, pairs of images. These could be either photographs or computergenerated images that represent what each eye would see of a scene. Having done the “fingers in the air” exercise, if you look at the stereo pair of the canal lock (below) you’ll be able to appreciate how the two images differ, even though the horizontal shift isn’t nearly as great. In photography, the two images can be generated by taking two photos, moving the camera by a small horizontal distance between the two shots. Similarly, 3D modelling software can capture 2D images for two horizontally different viewpoints. Stereo pairs are viewed in such a way that our left eye sees only the left-eye image and the right eye sees only the right eye image. Instruments called stereoscopes can achieve this using simple optics. However, because we’re going to be using a free-viewing technique later in this article – one that doesn’t require an optical aid – this is a good time to start. So, using the stereo pair, try out the viewing technique (see box, facing page). Once you’ve learned the technique, you’ll be able to see a fully three-
Here’s a stereo pair of images. With your head about 1-foot away stare straight ahead at the images until your brain resolves it into a 3D image.
76 LXF277 July 2021
THE BEST NEW OPEN SOURCE SOFTWARE ON THE PLANET
Alexander Tolstoy likes to thunder across the great open-source plains, hunting down delicious FOSS picks.
Cosmic Haruna Vizex eBPFSnitch Evilpixie Nethogs-Qt Kitchen Tales zFRAG Optimizt SingleFileZ
Shortwave Version: 2.0 Web: https://gitlab. gnome.org/World/Shortwave here are so many ways to listen to internet radio with Linux. Choose from a web browser, a media player that can open streaming URLs, a desktop widget, a panel applet, and finally a dedicated fully fledged desktop program. Shortwave falls into the final category. This is a modern, beautiful and generously populated catalogue of public internet radio stations. While they’re all available elsewhere (most stations have their home pages online), Shortwave brings them together and enables you to search, rate, manage your favourites and keep an eye on what’s being played at the moment. The application remembers your search history and offers a front-page selection of stations based on your tastes. Version 2.0 of Shortwave features a redesigned user interface. The UI is adaptive and flexible, and you’ll soon notice it after resizing the program’s window. When it’s reduced to a certain size the classic GTK controls disappear and the player transforms into retro-styled mini mode, very much like a customised floating desktop widget. There’s a small display and four buttons in the mini mode, which is enough to control the radio station that’s currently playing. The flexible Shortwave interface makes hopping between stations easy and fun. However, the program is capable for much more than that. For instance, Shortwave automatically splits the stream into songs and stores them in the local cache, available for further access outside of Shortwave. It’s also possible to stream the audio playback to a network device, provided it supports Google’s Chromecast. With over 25,000 stations in the catalogue, there’s definitely plenty of listening choice. Give Shortwave a try by installing it from Flathub, or building from source. The latter – and more difficult – approach reveals that Shortwave is a GTK4-based program and is heavily dependent on the Libadwaita library. The UI looks nice with that default theme, but may become clunky when themed differently, so bear that in mind.
Reduce the Shortwave window to turn it into the stylish mini-radio widget.
GET TO KNOW THE SHORTWAVE INTERFACE 5 4
Quick access area This panel contains several pages for quickly adding a new station and selecting a web version of the catalogue of radio stations.
The fantastic ‘mini-mode’ This mini-player is the perfect showcase of GTK4’s UI flexibility features. Reduce the main Shortwave window to access it.
Browse the catalogue Find something that takes your fancy and hit the Play button to turn the station on.
Search and configure Here you can access the Shortwave Preferences window. The dedicated Search button can help you to quickly find a particular radio station.
‘Now playing...’ See what’s being played now, adjust the volume and even download the song to the ~/Music folder.
July 2021 LXF277 81
CODING ACADEMY CODING ACADEMY Game objects
Managing game objects with Python Tired of being called small and hairy, Andrew Smith grabs his double-headed axe and sets out to create a world full of Dwarfs. his issue we’re going to add to an already developed game platform, fully created in the Python scripting language using the PyGame library module. The theme of the project was inspired by an isometric video game in the early 1990s called HeroQuest (http://bit.ly/lxf277dwarf). This project first started off as an experiment in video game construction over one weekend when the question was asked: What if the game world moved around the main game character instead of moving the main game character around the game world? The Dwarf Game Project that we’ll be modifying as part of this month’s tutorial consists of a constructed game map made up of interconnected rooms, game objects and enemy game characters (hostile dwarfs). The player of the game will control the main game character (a green dwarf), around the map disposing of all the enemy players to complete the game or until the main game character is killed by any of the enemy dwarf characters. To get started, we’ll need a few things: Python,
OUR EXPERT Andrew Smith is a software developer at NHS Digital, has a degree in software engineering and an MSc in computer networks (mobile and distributed).
PyGame and the Dwarf Game Project. To install Python, open a terminal window (Ctr-Alt-T) and type sudo apt-get python3 followed by sudo aptget install pip3 . Then install the PyGame module by typing pip3 install PyGame . Finally, grab a copy of the Dwarf Game Project from the author’s GitHub repository: mkdir lxf278dwarfproj cd lxf278dwarfproj git clone https://github.com/asmith1979/dwarfgame
The source code and project can also be retrieved from the Linux Format archive. Once cloned,you’ll notice the following folder structure: design, images, sfx and src. The src folder contains the Python source code and is also where the source code is executed. cd src python3 ./dwarfgame.py
If all goes well, you should obtain the following output of the Dwarf Game Project (see screenshot, above right): Before continuing any further, feel free to get to know the game by moving the game character around the
PYGAME: THE MAIN LOOP In every PyGame program there needs to be a main loop that renders the graphics used in the program and that also controls input for the game via keyboard and/or mouse depending on the PyGame application being developed. Let’s take a look at the main loop implemented in this Dwarf Project. while not programEnd: for event in pygame.event.get(): if event.type == pygame.QUIT: programEnd = True if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: programEnd = True
88 LXF277 July 2021
... Continuing on from this is the processing that’s carried out for both As can be seen from the code, the main human and computer players, as well as while loop ends on a boolean condition to identify when the program has finished screen rendering operations to process completely. A variable called programEnd graphics for the game itself and everything in it. is used to identify this, which initially is Finally after doing all this we come to set to a False boolean value. the final part of the loop, as shown below: In this particular main while loop, you’ll notice as you look through the code in the while loop that first the input to … control the game is dealt with via the clock.tick(100) keys on the keyboard. The Escape key is pygame.display.flip() used to exit the program, the cursor keys enable directional movement of the From the above code we determine our player and the Space bar invokes the framerate, which is set to 100, and then attack move of the player. update the contents of the entire display.
CODING ACADEMY Time series
Comparing time series data like a pro Mihalis Tsoukalos explains how to use the Stumpy library to compare time series, with a little help from Anaconda. this month’s coding tutorial will concentrate on Stumpy .This is a Python 3 library for working with time series data, which also uses the matrix profile. The matrix profile together with MPdist are research subjects that are being applied to real world problems. Although it’s good to know how they work, you don’t need to know the theory to use them. If some of the topics in this tutorial look too theoretical, feel free to skip them! This tutorial also includes a quick introduction to Anaconda, which comes in very handy for setting up the Python environment when working with Stumpy.
OUR EXPERT Mihalis Tsoukalos is a systems engineer and a technical writer. He’s also the author of Go Systems Programming and Mastering Go. You can reach him at www. mtsoukalos.eu and @mactsouk.
Because Stumpy has close ties with the Python version being used, we’re going to use Anaconda to create the ideal development environment and gain complete control over the installation process. This requires the installation of Anaconda, which operates using the conda command line utility. If the conda binary can’t be found in the PATH environment variable, you should run source /opt/ anaconda/bin/activate root . Feel free to add this command to the startup file of your shell to ensure that it’s executed automatically each time you log in. To create a new Anaconda environment called LXFormat that uses Python 3.8.5, just run the following command: $ conda create --name LXFormat python=3.8.5 Then run conda activate LXFormat to activate this
environment. If you want to deactivate an active environment, run conda deactivate . If you want to totally deactivate Anaconda and work with the default Python installation found on your Linux system, you might need to run conda deactivate multiple times, depending on the number of the conda activate commands that were previously executed. Now that the LXFormat environment is active, we’re ready to install the Stumpy library using the pip command: pip install stumpy . Although the library is installed using pip , it’s still controlled by Anaconda. The following code, which is called helloStumpy.py, makes sure that Stumpy is properly installed by printing its current version:
92 LXF277 July 2021
Here’s the output of the randomData.py script that generates a time series with random data and calculates its Matrix Profile.
#!/usr/bin/env python3 import stumpy print(stumpy.__version__) print("Good to go!")
Running helloStumpy.py prints the following output: 1.8.0 Good to go!
This means that Stumpy was successfully installed and that we’re using Stumpy version 1.8.0. Stumpy contains functions related to Matrix Profile and its applications. Two of these functions enable us to calculate the Matrix Profile and the MPdist metric – the names of these functions are stumpy.stump() and stumpy.mpdist() , respectively. So, let’s move onto generating random data with the Stumpy package and calculating the Matrix Profile.
We’ll create a script that generates a time series with random data and calculates its Matrix Profile, to gain a better understanding of how Stumpy works. The most important part of randomData.py is the following: ts = np.random.rand(size) matrix_profile = stumpy.stump(ts, m=windowSize)
The first statement creates a time series with a given amount of random data. The stumpy.stump() function returns the Matrix Profile matrix. The first column of the
On the disc
DOWNLOAD YOUR DVD
Get code and DVD images at: www.linuxformat.com /archives
Discover the highlights from this month’s packed DVD!
START HERE USING THE LXFDVD
Using Linux for the first time can be very confusing. It’ll most likely be unlike anything that you’ve operated before, especially if you’re used to Microsoft Windows or Apple macOS. Generally our DVDs are designed to be run directly, which is to say that when you first power on your PC (or Mac, see below) it should ‘boot’ from the DVD – so before Windows or macOS even starts to load – with Linux running directly from the DVD. This trick is known as a Live Disc. It enables you to try out the various versions of Linux without having to install or change anything on your PC. Just remove the DVD, restart your PC and it’ll be exactly as you left it. While many systems will boot from a DVD when it finds one, many will not. See below for the standard process for enabling booting from a DVD on various desktops and laptop PCs. The alternative option is to locate the ISO file on the DVD and write this to your own USB thumb drive and attempt to run that. We recommend using Etcher from https://balena.io/etcher that’s available for Windows, macOS and Linux. Good luck!
BOOT THE DISC
Many PCs should boot automatically if they’re turned on with a disc in the drive. If not, many offer an early Boot Menu accessed by tapping a key while powering up from cold: F9 (HP), F12 (Dell, Lenovo), F8 (Amibios) or F11 (Award BIOS). Alternatively, use the BIOS/UEFI to adjust the boot order to start with the optical drive. Again, this is accessed by tapping a key during power up, usually Del but sometimes F1 or F2. Some new UEFI PCs require access via Windows: holding Shift select its Restart option. If you’re still having problems using the DVD then visit www.linuxformat. com/dvdsupport Mac owners: Hold the C key while powering on your system to boot from the disc.
96 LXF277 July 2021
HIP, HIP HIPPO! MIN SPECS: 4GB RAM , 25GB DISK SPACE
ablo Escobar liked hippopotamuses so much he had four of them imported to the zoo at his Hacienda Napoles ranch. The Medellin Cartel may be no more, but the hippos continue to roam the jungles that have reclaimed their zoo. We like hippos too, but we don’t think they’d be happy wallowing in the River Avon in the shadow of LXF Towers, so rather than learn the ins and outs of artiodactyl adoption we’ll settle for putting the latest Ubuntu, which by the way is codenamed Hirsute Hippo, on our disc and in our pages. We’ve got everything you need to know in the cover feature (see page 34), but the big change with this outing is the switch to Wayland by default. All going well you won’t notice any difference, except that vaguely refreshing feeling you’re no longer relying on a 30-year old codebase so sprawling that very few humans alive today have a handle on all of it. If you’re using the proprietary Nvidia driver, Gnome will default to the traditional X.org session, though if you want to test Wayland you can do so from the
log-in screen. If you encounter display problems booting from the DVD, try again with the safe graphics option. To complement this new pixelpushing mechanism, a new multimedia framework is available too. With Pipewire, screen recording, remote desktop and everything else it seemed Wayland didn’t want you to do should now be simple. And if you never liked Pulseaudio anyway, good news – Pipewire is a drop-in replacement for it, and indeed Jack (the rather complex audio subsystem for audiophiles). Usually, Ubuntu features the latest release of Gnome, but the release schedules didn’t align this time. So the underlying shell is much the same Gnome 38 as was in Ubuntu 20.10, but most of the applications have been updated to their Gnome 40 versions. The Yaru theme and its light and dark variations have also been tweaked. The other flavours include the latest desktop offerings, so if you’re itching to try out the latest KDE Plasma, MATE or LXQt, you’d be well-advised to check those out. For enterprise, or enterprising, users, Ubuntu now supports authenticating with smart cards, Active Directory integration and can generate a recovery key for encrypted installs. The 5.11 kernel supports lots of shiny new hardware including Intel Rocketlake CPU’s and DG1 graphics, AMD’s “Van Gogh” and “Green Sardine” APU’s, and much more silicon stuff Hippopotomonstrosesquippedaliophobia: the fear of long words. Ideal for filling captions, mind. that we can’t afford.
DEFECTIVE DISCS: For basic help on running the disc or in the unlikely event of your Linux Format coverdisc being in any way defective, please visit our support site at www.linuxformat.com/dvdsupport. Unfortunately, we’re unable to offer advice on using the applications, your hardware or the operating system itself.
AND MORE! MX-UAL HEALING
THE LXF LIBRARY
MIN SPECS: 1GB RAM, 6GB DISK SPACE
MX Linux 19.4 ell the plan was to have a lighter flavour of Ubuntu on the disc this month, either Lubuntu or Xubuntu, but thanks to ISO sizes creeping up it’s not possible to fit either of these alongside the 2.8GB main event. We asked the DVD replicators if their presses had an ‘overburn’ feature (like we remember from Nero Burning Rom), but they laughed derisively. So, with a hard limit of 1.7GB we scoured the distroscape and are pleased to bring you the wonderful MX Linux. Which, by the way, once we’d packed in the Tutorial code, Bookshelf and the arcane scripture that makes DVDs boot, left us with all of about 25MB to spare. This solution will be music to the ears of 32-bit users, since Ubuntu is no longer an option for them. MX is based on Debian Buster, so in comparison to other distros has an old 4.19 series kernel. This won’t be a concern on older hardware, but if you want to see this run on new hardware then check out the Advanced Hardware Support (AHS) edition instead. MX is the sibling distro of antiX, which we also quite like. MX uses a combination of Xfce and Fluxbox to power its ‘midweight’ desktop, so it’s a little less lightweight than antiX, but enables you to enjoy some desktop luxuries as a trade-
off. Things like an applications menu, a settings application and session management, which most GUI users tend to really notice when you take them away. Still, if you want low resource usage there’s a Fluxbox-only edition. And if you want an even more complete desktop there’s a KDE edition, too. MX’s package installer makes easy work of installing from Debian Backports, MX’s own testing repo or Flatpaks. One very good reason to use MX (or antiX) is the delightful selection of Conky themes available (for displaying system stats on your desktop) and the terminal-free ease with which the Conky Manager makes it possible to switch between them. There are a few handy programs included in a default install. We were pleased to see the inclusion of GIMP and the rather excellent Clementine music player. Others will welcome the inclusion of iDeviceMounter (for mounting Apple devices), but we are proud to own no iThings. Getting multimedia codecs on Debian can be a little tricky, but MX Linux makes it terribly easy by providing its own codec installer. There’s also an avid community, a helpful manual (just press Alt-F1 at the desktop) and much more for you to explore.
dvanced Bash A Scripting Guide Go further with shell scripting. ash Guide for Beginners B Get to grips with the basics of Bash scripting. ourne Shell Scripting B First steps in shell scripting. he Cathedral and T the Bazaar Eric S. Raymond’s classic text explains the advantages of open development. he Debian Book T Essential guide for sysadmins. ive Into Python D Everything you need to know. I ntroduction to Linux A handy guide full of pointers for new Linux users. inux Dictionary L The A-Z of everything to do with Linux. inux Kernel in a Nutshell L An introduction to the kernel written by master hacker Greg Kroah-Hartman. he Linux System T Administrator’s Guide Take control of your system. ools Summary T Overview of GNU tools. NU Emacs Manual G Six hundred pages of essential information! roducing Open P Source Software Everything you need to know. rogramming from P the Ground Up Take your first steps.
MX Linux will bring glorious sci-fi (or otherwised themed) backdrops and system stats to your desktop. Winning!
NEW TO LINUX? START HERE…
Never used a Linux before? Here are some handy resources: Read our quick-install guide http://bit.ly/LXFinstall Looking for an answer? https://askubuntu.com Want to delve more deeply? https://linuxjourney.com
July 2021 LXF277 97
will be on sale Tuesday 29 June 2021
The #1 open source mag Future Publishing Limited, Quay House, The Ambury, Bath, BA1 1UA Email email@example.com EDITORIAL Editor Neil Mohr Server Connoisseur Jonni Bidwell Art editor Efrain Hernandez-Mendoza Operations editor Cliff “no jokes” Hope Group editor in chief Graham Barlow Senior art editor Jo Gulliver Editorial contributors Mike Bedford, Neil Bothwick, Christian Cawley, Matthew Hanson, Jon Masters, Nick Peers, Les Pounder, Michael Reed, Calvin Robinson, Mayank Sharma, Shashank Sharma, Mihalis Tsoukalous, Alexander Tolstoy Cover illustration magictorch.com
Ubuntu is a trademark of Canonical Limited. We are not endorsed by or affiliated with Canonical Limited or the Ubuntu project. The GNOME foot logo is a registered trademark of GNOME. We are not endorsed by or affiliated with GNOME. The Wayland logo is copyright Kristian Høgsberg. Raspberry Pi is a trademark of the Raspberry Pi Foundation. Tux credit: Larry Ewing (lewing@isc. tamu.edu) and The GIMP.
ADVERTISING Commercial sales director Clare Dove firstname.lastname@example.org Senior advertising manager Lara Jaggon email@example.com Head of commercial – Technology Dave Randall firstname.lastname@example.org Account director Andrew Tilbury email@example.com
BUILD A BETTER
LINUX SERVER CentOS is dead, long live CentOS! We migrate from CentOS to its alternatives. Come with us!
Discover the best ways to run your virtualised systems on your Linux box. From Qemu to VirtualBox, we test ‘em all.
Bread and butter-boards
Take your first steps into prototyping with breadboards and PCB stripboards and test-drive your own home-grown circuits.
Web application security
Everything’s going online and that’s a world of security pain. We delve into how you can secure your online apps.
Recover your files
INTERNATIONAL LICENSING Linux Format is available for licensing and syndication. To find our more contact us at firstname.lastname@example.org or view our content at www.futurecontenthub.com. Head of Print Licensing Rachel Shaw NEW SUBSCRIPTIONS & BACK ISSUES Web www.magazinesdirect.com UK 0330 333 1113 World +44 (0) 330 333 1113 EXISTING SUBSCRIPTIONS Web www.mymagazine.co.uk UK 0330 333 4333 World +44 (0) 330 333 4333 CIRCULATION Head of newstrade Tim Mathers PRODUCTION AND DISTRIBUTION Head of production UK & US Mark Constance Production project manager Clare Scott Senior ad production manager Jo Crosby Digital editions controller Jason Hudson THE MANAGEMENT Chief audience and ecommerce officer Aaron Asadi MD, tech specialist Keith Walker Head of art & design Rodney Dive Commercial finance director Dan Jotcham Printed by Wyndeham Peterborough, Storey’s Bar Road, Peterborough, Cambridgeshire, PE1 5YS Distributed by Marketforce, 5 Churchill Place, Canary Wharf, London, E14 5HU www.marketforce.co.uk Tel: 0203 787 9001 Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. GNU/Linux is abbreviated to Linux throughout for brevity. Where applicable code printed in this magazine is licensed under the GNU GPL v2 or later. See www.gnu. org/copyleft/gpl.html. All copyrights and trademarks are recognised and respected. Disclaimer All contents © 2021 Future Publishing Limited or published under licence. All rights reserved. No part of this magazine may be used, stored, transmitted or reproduced in any way without the prior written permission of the publisher. Future Publishing Limited (company number 2008885) is registered in England and Wales. Registered office: Quay House, The Ambury, Bath BA1 1UA. All information contained in this publication is for information only and is, as far as we are aware, correct at the time of going to press. Future cannot accept any responsibility for errors or inaccuracies in such information. You are advised to contact manufacturers and retailers directly with regard to the price of products/ services referred to in this publication. Apps and websites mentioned in this publication are not under our control. We are not responsible for their contents or any other changes or updates to them. This magazine is fully independent and not affiliated in any way with the companies mentioned herein. If you submit material to us, you warrant that you own the material and/or have the necessary rights/permissions to supply the material and you automatically grant Future and its licensees a licence to publish your submission in whole or in part in any/all issues and/or editions of publications, in any format published worldwide and on associated websites, social media channels and associated products. Any material you submit is sent at your own risk and, although every care is taken, neither Future nor its employees, agents, subcontractors or licensees shall be liable for loss or damage. We assume all unsolicited material is for publication unless otherwise stated, and reserve the right to edit, amend, adapt all submissions. All contents in this magazine are used at your own risk. We accept no liability for any loss of data or damage to your systems, peripherals or software through the use of any guide. Notes: we now have a shiny new AWS LXF server. We are committed to only using magazine paper which is derived from responsibly managed, certified forestry and chlorinefree manufacture. The paper in this magazine was sourced and produced from sustainable managed forests, conforming to strict environmental and socioeconomic standards. The manufacturing paper mill and printer hold full FSC and PEFC certification and accreditation.
Future is an award-winning international media group and leading digital business. We reach more than 57 million international consumers a month and create world-class content and advertising solutions for passionate consumers online, on tablet & smartphone and in print.
PhotoRec might sound like it’s for photos only, but the recovery terminal tool can handle much more than retrieving lost selfies.
Contents of future issues subject to change – we may be too busy getting our second vax shots.
98 LXF277 July 2021
Future plc is a public company quoted on the London Stock Exchange (symbol: FUTR) www.futureplc.com
Chief executive Zillah Byng-Thorne Non-executive chairman Richard Huntingford Chief financial officer Rachel Addison Tel +44 (0)1225 442244