Linux Format 266 (Sampler)

Page 1

0OOKS £5 EB

3

Code::Blocks 2020.1.2 2 Eclipse 2020.3 NetBeans 12 4 PyCharm 5.12.8 5 Qt Creator 5.12.8

EE FR

1

OF

TESTED: CODE EDITORS

PLUS!

HOW TO…

!

FIX LINUX PROBLEMS BUILD GAMES IN GODOT GAME BETTER WITH STEAM BROWSE FILES IN THE TERMINAL

MINT 2O The #1 open source mag

Install Mint today and discover all the cool new features! pages of tutorials & features

57

FREE!

£50 Worth oo ks 5 top eb

Over 700 pages

Build a motion-sensor Pi camera setup Create cheaper builds using the PIC system Get organised with ZenKit To Do tasks

3.4GB

DOWNLOAD

The Linux Foundation

John Mertic

OpenSUSE GRML

on Doom, cheesecake and the open mainframe project

OPEN SOURCE CAVES Mapping spaces with Linux and drones

CODING PONG

Use Python to recreate the gaming classic

LXF Summer 2020


Newsdesk THIS ISSUE: Linux-exclusive PCs Linus Torvalds has doubts Microsoft protects Linux severs Steam on Chromebooks

HARDWARE SYSTEMS

CREDIT: Dell

A new generation of Linux-only PCs It’s the year of Linux on some desktops – perhaps this whole FOSS thing will catch on! omething unusual is happening in the world of computing: companies big and small are releasing PCs with Linux running on them. Crucially, in these cases a Linux operating systems being the only OS option. This shows an operational change in the marketplace, demonstrating that companies are not only confident that Linux-only models can sell in enough volume to make money, but that they’re happy to support those devices. It’s one thing to offer variations of existing Windows models, but quite another to only build a model that offers Linux. We reported in LXF265 that Lenovo has extended its Ubuntu certification, making it able to offer Ubuntu pre-installed on a wider range of its Workstation offerings. Dell has gone one further, announcing an Ubuntu-only model – the Dell XPS 13 Developer Edition – that ships with 1 Ubuntu 20.04 LTS pre-installed . This won’t come as much of a surprise to anyone; Dell has been offering its Dell XPS 13 with Ubuntu for a number of years. What is surprising is that this is the first time it’s built an Ubuntu-only model. Purism had not one but two system announcements. The first is that its all-new Librem 14 is the successor to its long-running security-focused Librem 13. The 14-inch workstation laptop is based around the Intel Core i7-10710U six-core processor, runs Purism’s own 2 PureOS, and looks like a beast of a system . Announced previous to this was the Librem Mini, an Intel NUC-styled mini PC running an Intel Core i7-8565U four-core processor. With HDMI 2.0

S

6     LXF266 Summer 2020

output supporting 4K at 60Hz it’s ideal for use as a media centre system, but would run well as either a mini-destop or mini-server. Juno Computers, based both in the UK and the US, has made us aware of its all-new gaming laptop, the Neptune 15, that can be bought either 3 with Ubuntu 20.04 pre-installed, or no OS at all . It’s powered by the latest Intel Core i7-10875H eight-core processor and runs a high-end Nvidia GeForce RTX 2060 GPU with 6GB of GDDR6. At £1,650 it’s one powerful – if expensive – system. We could argue that this trend, in part, coincides with figures that show during the

The Dell XPS 13 Developer Edition is an Ubuntu-only model.

“COMPANIES ARE NOT ONLY CONFIDENT THAT LINUX-ONLY MODELS CAN SELL, BUT THAT THEY’RE HAPPY TO SUPPORT THEM.” coronavirus lockdown that the Linux desktop share of the PC market has increased from around 1.5 per cent to just over three per cent. These browsing-based figures are full of uncertainty, though. It’s likely the increase is linked with a drop in work-based Windows systems during lockdown, so perhaps we’ll see an adjustment towards the end of 2020. 1. https://ubuntu.com/blog/dell-xps-13-developer-edition-with-ubuntu-20-04-lts-pre-installed-is-now-available 2. https://puri.sm/products/librem-14 3. https://junocomputers.com/product/neptune-15

www.linuxformat.com


ANSWERS

Answers

Got a burning question about open source or the kernel? Whatever your level, email it to lxf.answers@futurenet.com blues Q Printer In looking at the new printers

from HP and Epson, I notice that none of the new printers have software drivers for Linux. The Linux Foundation Open Printing site has not been updated to include any new printers either. That suggests that one needs a Windows 10 PC with Vendor Printer Utility drivers to maintain new printers. So what’s the best way to set up a Linux PC to print files to a Windows 10 PC when both PC have their own firewall software to block external traffic? It would be helpful if Linux Format could do an article with step-by-step instructions on how to set this up. Gary Hedquist

A

For a print magazine I suppose it is odd that we don’t talk about printers more, or indeed use them on Linux more. Although to be honest IT wouldn’t let us connect a mysterious Linux box to their fancy corporate network printers. For home use it all really depends on the printer, so it’s hard to do an allencompassing tutorial that would benefit (or even be of interest to) everyone. Be that as it may, the concept of “driverless” printing has taken hold in Linux. Most consumer printers will do pretty well out of the box in Ubuntu-based distributions There’s a lot going on behind the scenes

for this to work, involving protocols such as Apple’s AirPrint or IPP Everywhere. See the gory details for yourself at https:// wiki.debian.org/CUPSDriverlessPrinting. Apple’s stewardship of CUPS is beneficial in a lot of ways. If your printer connects to your wireless network, or via ethernet cable, then there’s a good chance that it’ll work out of the box too (assuming your firewall allows outgoing IPP traffic). Despite what manufacturers would have you believe, you don’t need a driver to send PostScript into/over the ether. The Open Print site is disappointingly dilapidated, especially if you’re seeking buying advice. HP does support Linux (but not very openly) through its HPLIP package. This is included by default on Ubuntu now and supports its new Tango series. Manufacturers that do provide Linux drivers tended to not to a good job of it. In fact, even HP’s instructions (hidden in its developers site at https://developers. hp.com/hp-linux-imaging-and-printing/ install/manual/distros/ubuntu) are woefully out of date, making reference to Ubuntu 8.04 and 10.04. An “easy” (but ugly, proprietary and temporary) solution if you really can’t get Linux to see your printer directly is to set up Google Cloud Print (GCP) on your Windows machine. That way, if your Linux machine can see the internet, and your

Jonni Bidwell has nowt to do with the subs dept.

Windows machine can see the internet and the printer, then you should only need to allow incoming connections to your Windows machine on port 2222 for things to work. GCP is being shut down at the end of 2020 though, so don’t rely on it.

memory loss Q Wine-related I’ve been using Wine a lot lately, I must confess. Not the beverage, Honningbrew Mead is more my tipple. Which brings me on to my question. I’ve been playing a lot of older titles, including Skyrim (the DVD release), through Lutris which on the whole works fantastically. But lots of games are crashing out with a “mmap cannot allocate memory” or “GL_OUT_OF_ MEMORY” error, particularly if I use high resolutions and detail settings. Oddly though, they play very smoothly up until this crashing out. Further, my rig has 16GB of RAM, and it’s hard to believe a game from 10 years ago can use all of this, Wine or no. I did some investigating, and from running Top while playing the game in a window, I can see the crash occurs when the memory in the VIRT column reaches somewhere around 3GB. Which leads me to suspect there’s some kind of 32-bit addressing issue afoot. Can you help? Jarl Borg, Whiterun

A

Here be dragons, perhaps a goblet or two of mead and copious debugging output.

12     LXF266 Summer 2020

I, too, used to be an adventurer like you until I took this, er, full-time employment to the knee. You’re quite correct though: older Windows binaries are not large address aware. They will run fine on a 64-bit OS, but an individual process can’t use more than 3GB (or 2GB on Windows XP). In Windows memory was allocated very conservatively so this limit would never be hit (unless you start adding high-resolution mods), but this doesn’t happen in Linux – the kernel has no idea that the process won’t be able to use all what it’s given. Note that 32-bit Windows PEs (Portable Executables) have a LARGEADDRESSAWARE flag, which enable them to address 4GB. There are Windows

www.linuxformat.com


REVIEWS Distribution

Robolinux 11 Review bot-at-large Jonni Bidwell does his damnedest to look past the late 90s-stylings of this project’s website… IN BRIEF A nothing if not interesting effort to ease the transition from Windows to Linux. For a fee, you can transfer your existing Windows install to a VM, or set up a clean “stealth” VM for running Windows programs. See also: Linux Mint, Pop!_OS and Ubuntu

oboLinux is a project that we’ve been meaning to look at for a while. It’s a one-man effort, Ubuntu-based affair, but stands unique among its numerous peers. The project’s website (which may have used WordArt for its logo, which of course is absolutely acceptable) carries the headline “Robolinux runs Windows XP, 7 & 10 Virus Free”. A bold claim indeed, and perhaps one that needs some degree of qualification. Its main feature is access to a It’s pretty much just Ubuntu 18.04 loaded with stuff that you don’t need and some referral links. one-click Windows XP or 7 Oh, but that’s a lovely jungle pic though. installer, so that users can run their current Windows applications inside a virtual machine (VM). Keen Besides the paywalled VM option, Robolinux features readers will note that Windows XP and 7 are both now its own Untracker application. This seems to be little EOL (end of life) products, and are susceptible to all more than a script to change your MAC address on every kinds of malware, VM or no. Granted, if that VM is boot. We can’t be sure because, again, it’s paywalled. sufficiently firewalled (or absolutely isolated from the There are some poor taste jokes on the donation page Internet in the case of XP) the risks can be diminished. about contact tracing, which made us dislike this even The trouble is, all that one click gets you access to is more. MAC addresses are used for routing at the link (i.e. an invitation to make a donation (at least $25) to the Ethernet) level. They’re not required by the IP layer on developer (“Robo”) so that he can remote assist you top of this, and so are stripped from IP packets sooner into setting up a VM. We don’t have $25, and nor did we or later when they hit a router. Sometimes they’re used really want to run any Windows tools. So we didn’t test to generate IPv6 addresses (although this method is this. It all sounded a bit rough and ready (perhaps that’s falling out of favour), but to suggest they’re used for unfair, but it’s certainly not a scalable solution). Be that tracking is largely scaremongering, and to try and get as it may, the rest of the distro had some interesting money for a script (which you can do in a Bash onefeatures so we figured we’d persevere. liner) is rather underhand. Perhaps we’re being unduly harsh. The paywalled tools were free until last year, Robo is clearly undergoing Straightforward installation some financial hardships and we do sympathise with his It’s based on Ubuntu 18.04 (the release notes cite plight. He offers unlimited free email support or paid for stability concerns with 20.04) and comes in Cinnamon, MATE and Xfce flavours. Installation requires a ludicrous telephone support. Noble, but again, not scalable. 25GB, so we deleted a vast tranche of GIFs (farewell noble moieties of amusement) to make room. The VERDICT 18.04 installer is changed in name alone, and as we’ve come to expect, proceeded without a hitch. The initial DEVELOPER: John “Robo” Martinson install occupied 16GB, and includes popular applications WEB: https://robolinux.org such as SimpleScreenRecorder and VLC. Having LICENCE: Various VirtualBox pre-installed is handy too, even if you’re not going to make use of the guaranteed virus-free FEATURES 6/10 EASE OF USE 4/10 StealthVM hyper tech. PERFORMANCE 7/10 DOCUMENTATION 5/10 Windows are decorated with the Numix theme, which we like, but for some reason the desktop uses the longThe idea is not bad, but the execution – in particular the abandoned BlackMATE theme. The worst part about conspiratorial anti-MS sentiment which seems to motivate this is the awful use of a serif font in the window list and the project – is. tooltips. Also, it would have been nice to include a newer version of Cinnamon. It felt odd coming back to this one Rating 5/10 after our Mint 20 extravaganza.

R

18     LXF266 Summer 2020

www.linuxformat.com


REVIEWS Medieval simulator

Besiege

Management have fended off many a pleb revolt against LXF Towers, but Rick Lane has been plotting and practising with mighty siege machines! SPECS

Minimum OS: Ubuntu 12.04, Steam OS CPU: 2GHz dual-core Mem: 2GB GPU: OpenGL 2.0, 512MB VRAM HDD: 1GB

Ka-boom! And the crowd goes wild!

esiege is notionally a game about engineering medieval siege weapons. But it’s best to think of it as a metaphor for the creative process. It begins with inspiration. “Egads! A mobile artillery platform with seven cannons running along a manually adjustable beam would bring down those wooden airships. It’s genius!” With that, you grab your virtual hammer and set about erecting your Your progression to the ridiculous death contraption. You’ll next level is up in the air. hammer out the frame, align the wheels, affix the steering block and prepare to line up your cannons. This is it, your The premise is vaguely reminiscent of Dungeon masterwork. History will remember you for this. Keeper. Besiege points you toward a perfectly nice fantasy Then you slap your forehead. You forgot to add a pivot realm and orders you to completely ruin it. Only instead of for adjusting the vertical aim. You fix this, but now your building dungeons, you’re building siege weapons. This vehicle is taller than the level allows, so you need to realm is split into four separate Kingdoms, each of which reduce the overall height, which also means increasing the comprises around a dozen individual levels. power of your cannons so their shot will reach its target. Finally, you exit the building mode and press Play. You Feeling blue move the machine into position and fire, at which point the These levels are beautifully presented dioramas of force of your cannons shreds the machine apart, and it death, with a handful of environmental details delicately collapses into a pile of splinters and flame. Well done! You painted onto a plain, blueish background. Each stage just finished your first draft. Now to turn that smouldering presents you with a simple objective, starting with mess of ideas into something that actually works. destroying a house. Your building area is outlined in Of course, Besiege is hardly the first game to do this. front of the objective, inside which is a single metal cube Games such as Crazy Machines and Kerbal Space that will form the crux of your contraption. Program let players indulge their inner crackpot scientist, Besiege’s toolkit is less intimidating than that of Kerbal constructing wildly ambitious contraptions before Space Program, featuring an intuitive, LEGO-like scratching their heads and muttering, “Perhaps a little construction system that enables you to hammer out the more hydrazine…?” at the resulting mound of slag. Yet basic frame of your siege weapon in seconds. This is as whereas Kerbal Space Program is a feast of fudged rocket well, because Besiege’s tutorial is lacking. It provides science, Besiege is more like engineering tapas, breaking some guidance on how to build a basic buggy, but that’s its challenge down into tiny, yet no-less tasty morsels. pretty much it, while its guide on steerable vehicles is actually the worst way of doing it. Fortunately, this doesn’t matter too much, as the best and funniest way of learning in Besiege is through failure. The various objects and materials you work with mirror reallife physics. Wood may seem like a sturdy construction material in theory, but when building a threestorey high catapult, dead trees get surprisingly bendy. When a trebuchet wobbles into position like a Saturdaynight drunk, you quickly realise it’s a good idea to shore-up constructions with metal braces. Similarly, if you build a machine that’s heavily frontloaded with weapons, it’s important to add ballast to the back end, otherwise it’ll tip over the moment

B

20     LXF266 Summer 2020

www.linuxformat.com


SUBSCRIBE Save money today!

SUBSCRIBE

Sign up today and get your

Eclipse 3-Way USB Charger YOUR GIFT! WORTH £64.95

Don’t miss out,   subscribe now!

Product features Holds 6m of cable High-speed charging Smart-IC Technology Three devices at once No more messy cables

Charge multiple devices at maximum speed with the Eclipse 3-Way USB Charger. This easy-onthe-eye charger is a three-port USB charging hub that keeps 6m of cables neatly wrapped inside when not in use, while providing neat   pop-up access with a gentle press of its top.

SUBSCRIBE NOW!

www.myfavouritemagazines.co.uk/lin/eclipse20

Call: 0344 848 2852 22     LXF266 Summer 2020

www.linuxformat.com


£9.99 offer p16 Go digital! p43

PLUS: Exclusive access to the Linux Format subs area! 1

! DON’T MISS s ar ye Now with 5 & r se U x of Linu Developer issues

CHOOSE YOUR PACKAGE! 6-MONTH PRINT ONLY

SAVE!

Only

22%

£32.50

6 month print  by Direct Debit (NO GIFT)

ANNUAL PRINT ONLY

PLUS! Only

PLUS!

SAVE!

20%

£67.00 Annual print  by Direct Debit

ANNUAL PRINT AND DIGITAL

Only

SAVE!

£72.00 58% Annual print and digital  by Direct Debit

This offer is only available for new UK subscribers. Gift is subject to availability (MSRP £64.95). Gift colour may vary. Please allow up to 60 days for the delivery of your gift. In the event of stocks being exhausted we reserve the right to replace with items of similar value. You will receive 13 issues in a subscription year. You can cancel your subscription within 14 days of purchase. Payment is non-refundable after the 14-day cancellation period unless exceptional circumstances apply. Your statutory rights are not affected. Prices correct at point of print and subject to change. Full details of the Direct Debit guarantee are available upon request. For full terms and conditions please visit www.bit.ly/magterms. Offer ends 30 September 2020. UK calls will cost the same as other standard fixed line numbers (starting 01 or 02) or are included as part of any inclusive or free minutes allowances (if offered by your phone tariff). Lines are open Tue to Thu 9am to 5pm (British Summer Time).

www.techradar.com/pro/linux

Summer 2020 LXF266     23

1) Only available to MyFavouriteMagazines.co.uk subscribers.

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


ROUNDUP IDEsTONS OF STUFF SO YOU DON’T HAVE TO! WE COMPARE

Roundup Code::Blocks 2020.1.2 Eclipse 2020.3 NetBeans 12 PyCharm 5.12.8 Qt Creator 5.12.8

Mats Tage Axelsson is happiest when writing how to make the world   a better place   with FOSS.

Integrated Development Environments Thinking of switching to an IDE for programming, or need some advice before starting out? Mats Tage Axelsson has five strong options for you… HOW WE TESTED… For this Roundup, we looked at how quickly you can get started and what your options are for testing different choices. We checked how you can install and how much of your system you need to fill with libraries to get started. To test these IDEs, we ran them with a selection of sample projects and then tried to store, configure and create our own. We installed and tried to start a project, and looked at how to configure your instance of the IDE. Many projects run from a common repository, GitHub is the biggest, and you need to stay up to date with the code using some type of version control system. The available choices are not new, so they support older control systems. We also tested how you can adapt the editing experience within the environment. Finally, bear in mind that switching to an IDE doesn’t mean that you should overlook editors.

24     LXF266 Summer 2020

n integrated development environment (IDE) brings all the tools a developer needs into one interface. There’s no single IDE that will meet everyone’s requirements, so we’re here to highlight some of the best to help guide you towards development nirvana. Basic editors are fine and require you to know how to set up a compiler. A full IDE removes much of this burden, but if you discover that some source code is missing, it’s good to know the basics so you can obtain your beautiful code to compile. Most IDEs are similar in that they have an editor and a console. Where they differ is the

A

style of settings, how the files are presented and how to debug. In your IDE, you’ll have many settings to make your work faster and less error prone. Apart for compiling, you’ll have help with code completion and software development kit (SDK) importing. To achieve this, you have many plugins available to support the language and libraries you use. You also need to have a way to handle revisions and cooperate in projects with other developers. This is where you need an interface to source code-sharing websites such as GitHub, Sourceforge and GitLab. Revision handling is, after all, a crucial aspect of all development work.

www.linuxformat.com


IDEs ROUNDUP

Install the IDE on your system Installing your environment is important even after you’ve started. hen you choose an IDE, you may think of it as any other application. There are a few details that you need to consider before you make your final selection, though. One is that the IDE will have been created with a specific language. Eclipse is written in Java, like several others in this comparison. This means that you need to have a JVM running. If you can have an install where you can easily adapt the IDE to your newest project, you’ll save yourself a lot of trouble. It’s also useful to be able to install an IDE and know how to remove the whole thing. This is why you should check if there’s a snap or an AppImage available. Once you’re happy using the package on a daily basis, you should install it on your regular system. Eclipse comes as a collection of jar files, and you run them from the directory where you copied them to. Using apt you can also install many compilers and other tools. Eclipse also comes as many different web services, for those of you who are unwilling to install your IDE. Another benefit of this is that it becomes easier to cooperate on the project if you can do so online. Qt Creator is available as an apt package on GitHub. There’s also a recipe for an AppImage, but it’s not a recent product and so you have to build one yourself. Qt is a C++ application, so you can use it to build for other platforms, for example. NetBeans exists in the Ubuntu repos and as an official snap. Interestingly, the snap is very new, if not the newest. This ensures

W

Installing an IDE may bring with it many libraries, depending on what else you’re doing with your system.

it stands out among the other IDEs in this Roundup. This package is also written in Java and therefore excels for Java development, but also has extensions for other languages. PyCharm comes as a snap for Linux. You also have a manager for all IntelliJ IDEs, available as an AppImage. Many of the Intellij libraries are in your ordinary repository. Note that you need the other tools to work in different languages. Code::Blocks can be installed with apt or the source code. The nightly builds are available as debian files at www.codeblocks.org. It’s a good idea to start your adventures with IDEs by compiling them yourself into a snap or an AppImage. Taking this approach means you’ll have a clean, lean machine for other projects.

VERDICT ECLIPSE 8/10 QT CREATOR 6/10 NETBEANS 9/10 CODE::BLOCKS 5/10 PYCHARM 7/10 NetBeans has the most options for installing, with Eclipse right behind it.

Language support What language is it designed for? How does it support other ones? nce you’re used to an IDE, you may want to stay with it even when you learn a new language. Let us see what you can do when you want to transition between languages. Eclipse is a Java program, but is excellent for C++ development. It also supports a host of other languages through plugins. Some examples are C, C++, Python and JavaScript. Often you’ll have an entire download that suits the specific needs. These are usually named ‘Eclipse IDE for’, and Scientific Computing is one example. Qt Creator supports C++ first and foremost. However, programming in Python is also supported. Its focus is on having many targets, such as mobiles and embedded devices. Bindings to Ruby and several web technologies are also available. NetBeans supports Web development in the main. This means you can work with BeyondJava, JavaScript, HTML and PHP. You can also use C/C++ with this IDE. PyCharm is especially suited for Python. However, it’s part of the IntelliJ product line. There are many proprietary tools in this range: CLion is an example if you’re programming in C/C++. Code::Blocks works with C++ primarily, but also supports many plugins for languages such as Java and Python. There are many

O

www.techradar.com/pro/linux

A range of languages will usually be supported by your IDE of choice.

project templates available out of the box. Arduino and many other small systems are supported. As you can see, choosing an IDE isn’t about the language you use. Rather, it’s more about the look and if it handles your particular working style. Make sure it suits you when choosing.

VERDICT ECLIPSE 8/10 QT CREATOR NETBEANS 7/10 CODE::BLOCKS PYCHARM 7/10 Code::Blocks performs well thanks to its multiple language plugins.

6/10 8/10

Summer 2020 LXF266     25


MINT 2O The latest Mint, codenamed Ulyana, is here and so is the herbaceous Jonni Bidwell to tell you all about it. ummer is well upon us and what better way to celebrate the warmer days and longer evenings than to grab some fresh sprigs of mint from the garden, muddle yourself up a refreshing mojito (or a nojito if you’re driving), and relax with our exclusive guide to the freshest Linux flavour around. Linux Mint 20 has hit the mirrors, and it’s one of the finest releases yet. It’s long been our go-to recommendation for people taking their first steps with Linux. Cinnamon, Mint’s homespun desktop, is ideal if you prefer a traditional home

S

30     LXF266 Summer 2020

computing environment, in the style of Windows 7 (only much better, of course). For fans of Gnome 2, or for those people who are running lower-powered machines, don’t forget the Mate and Xfce editions, either. With this release, all three desktops have seen marked improvements. But it’s not just for beginners. Built on the rock-solid foundations (and piggybacking off the bountiful repositories) of Ubuntu, Mint can be a powerhouse of productivity. Whether you’re coding, building websites, designing beautiful artwork, or writing features for dead-tree publications, Mint is an excellent choice.

However, it’s not all work (evidently – Ed), thanks to the latest Ubuntu kernel, Mint is a great choice for gaming. You should have no trouble getting your DRMfree titles from the likes of GOG or itch.io running. And if you prefer the dark side, we’ve even got a section on getting Steam up and running. If that’s not enough, check out our comprehensive companion gaming feature on page 70. Whatever your computing goals, or even if you’re just inquisitive, we’ll show you how to boot Mint, install it and generally get the most out you’re new favourite operating system.

www.linuxformat.com


Mint 20

Going live Prepare yourself a cup of tea and live medium. It’s about to get Minty. fter the Ubuntu LTS every second April, there follows in its stead a stream of distros based on it. Many of these are little more than vanilla Ubuntu with a new desktop and some bundled software. That’s fine, but other offerings go much further. And it’s these that we look forward to the most. Since the 20.04 release April 2020, we’ve already featured the excellent Pop!_OS (with its glorious introduction to tiling window managers, see our review in LXF264) and we’re looking forward to the elementary OS 6.0 release, whenever that may be. One we never fail to get excited about is Linux Mint. At last the wait is over, and we’re here with the refined coverage this release deserves. We’d usually be telling you to fire up the cover DVD and taste the fresh minty flavours at this point. But our operation still isn’t up to making DVDs yet, and, let’s face it who even has an optical drive in every machine nowadays? We could have put it on the ISO image we’re offering for download, but there are plenty of Mint mirrors so why not nudge people towards the official downloads? Our handy three-step guide below should get you started. If you run into difficulty, our DVD FAQ (https://linuxformat.com/dvdsupport) might help. You shouldn’t need to disable Secure Boot (since Linux Mint is based on Ubuntu which has a signed bootloader) and the image is compatible with older (BIOS) and newer (UEFI) systems. Once you’ve booted the live environment you’ll find a desktop that’s easy to navigate and has everything you need to get started. Wired connections should work out of the box, and there’s a good chance your wireless device will, too. Heck, your printer might even work

The stylish new logo has further proliferated into the OS, and there is much more style to be found after the boot menu.

A

without having to add additional drivers. Desktop Linux has certainly come a long way. Software-wise there’s Firefox, an IRC client and much more. Open the menu in the bottom left and start typing if you’re not sure where to look for a particular program. And if you want to add new programs, do so from Administration>Software Manager. The live environment won’t touch your hard disk, so you’re limited to the 2GB in memory filesystem. Still, ample room to start exploring. Over the page you’ll find a guide to installing Mint, which should cover everything you need. If you’re not ready to commit to the whole installation endeavour, another option is to try Mint in a virtual machine (VM), using the cross-platform Virtualbox for example. This will give a deeper experience than the live environment (since any changes you make are persistent) and has the advantage that it won’t risk your currently installed operating systems. A VM will be slightly slower, and won’t be much use for serious gaming, but other than that will act just like a regular install.

GET MINT

1

Get the latest build

Head to www.linuxmint.com and head to the Download area, choose a flavour (we’ll focus on the flagship Cinnamon edition) then either download the image directly, or if you know what it is, use BitTorrent. Once it’s downloaded follow the instructions to verify the ISO to ensure it hasn’t been tampered with.

www.techradar.com/pro/linux

2

Write the ISO

Write the ISO file to a DVD or USB stick. There are plenty of free tools for burning DVDs on Windows, such as BurnAware Free and Imgburn. Macs can burn discs straight from Finder and Linux has K3B and Brasero. For writing to USB sticks, we recommend the cross-platform Etcher from https://etcher.io.

3

Get Mint booted

Reboot and tell your BIOS or UEFI to boot from the USB or DVD device. Many machines will offer you a handy boot menu, often via the F10 or F12 keys. Alternatively, change the boot order inside the firmware or BIOS settings, which often are accessed by pressing F2 or Del. On a Mac, press C.

Summer 2020 LXF266     31


MAINFRAME MAGE Jonni Bidwell reconnects with mainframe guru John Mertic and somehow ends up talking about Doom and cheesecake…

38     LXF266 Summer 2020

www.linuxformat.com


John Mertic INTERVIEW

ohn Mertic is director of program management for the Linux Foundation’s Open Mainframe Project (www. openmainframeproject.org), an effort to bring open source knowledge, and of course Linux, to mainframe computing. Hip youngsters today may not be aware that every bank transaction and every flight booking all end up being processed on mainframe machines. But it is fact. Also, despite processing all this valuable data and often having hundreds of CPUs and thousands of gigabytes of memory, no one (that we know of) has ever hacked a mainframe. Thanks to Zowe, one of the Open Mainframe Project’s key efforts, a green-screen 3270 terminal is no longer the only way to access mainframe data. You can use SSH, cloudy REST APIs or even a JavaScript-powered desktop. And you don’t need to know COBOL either, but it probably helps. There’s a lot of momentum towards training the new generation of mainframers, and the Open Mainframe Project is pivotal to that. We last met John in LXF252 in bonny Scotland. This time around we were at the Open Source Summit in Lyon, back in September 2019. Do check out the project’s page because a lot has happened since then. Besides being the Linux Foundation’s main mainframer, John is also director for its Academy Software Foundation and ODPi (a non-profit dedicated to taming the big data, and in particular Hadoop, ecosystem) projects.

J

Linux Format: Can you give our readers a quick summary of what the Open Mainframe project is all about? John Mertic: The Open Mainframe Project is now four years old, and it’s designed to be the focal point of open source in the mainframe computing environment. The mainframe has been around for decades – y’know, 50 or 60 years now – and the computing architecture founded by IBM is pervasive across the Fortune 500. So transportation, insurance, industry… really anywhere where you need computing that’s extremely transactionable, highly scalable, top-end performance and immensely secure. This is the only computing architecture on the planet that does all of those. This project works with pulling together and becoming that central point for all of the open source activity that’s happening in this realm, whether it’s specific to the platform, like Zowe, or for projects looking to support the platform, such as Linux.

www.techradar.com/pro/linux

LXF: I gather that three new projects have just joined the Open Mainframe Project umbrella. Can you say a bit about those? JM: Sure. One of them is called Feilong which is an interface between z/VM, which is the native mainframe hypervisor (similar to KVM, for example), out to tools like OpenStack and the other cloud stack environments out there. It’s actually a new from the ground up. There were some original open source tools that were sort

look at how can SysOps and mainframe engineers collaborate on these workflows through newer technology. What it found is that many of these workflows are common across organisations. There’s nothing that’s proprietary about them. So what better way to improve the quality and proliferation of these workflows than to have an open source project built around it? IBM has already ceded and contributed

WHY WOULD YOU WANT A MAINFRAME? “Transportation, insurance, industry… really anywhere where you need computing that’s extremely transactionable, highly scalable, topend performance and immensely secure.” of pulled together hodge-podge stylee, to make this happen. Now this has grown into its own set of tools built with Python, developed inside IBM and donated to the project. Now we have organisations such as SUSE contributing to it, along with Velocity Software and other key contributors. The idea is just building this out to a general-purpose library for interacting with z/VM over time. That’s one of our new additions. Another of ‘em is called Zorow, the Z open repository of workflows. There’s a tool that came from IBM called z/OS Workflows that’s designed as a systems configuration language, which is built in XML. The idea of this project is to

several of its sample workflows to it. Rabobank has also contributed and there’s already some growing interest among other IBM mainframe customers in contributing as well. Basically, we have these workflows that are all available under an Apache 2 licence that any organisation can pick up, use, contribute back to, improve… you know, all the great things about open source. The other one is called TerseDecompress. TERSE files are common in the mainframe world, and this is a project that’s building the tooling for working with those files outside of the mainframe environment. So if you had a TERSE file from a mainframe many years

Summer 2020 LXF266     39


IN-DEPTH Caving with FOSS By use of low frequencies, cave radios are able to provide communication through several hundred metres of solid rock.

OPEN SOURCE

UNDERGROUND hose of you who want to exercise your mind and body at the same time might balk at our suggestion that you take up caving. Yet, as we discovered in LXF244, when we looked at the technology of cave surveying, venturing underground can pose both a physical and a mental challenge. However, the technology used in caving doesn’t have to end with hand-held electronic surveying tools and laser scanners, coupled with open source Linux software for post-processing and map preparation. Here, we’ll look at how technology can be used in exploring

T

44     LXF266 Summer 2020

caves, photographing them, monitoring the underground environment for scientific research, and even minimising the risk involved in venturing into these potentially hazardous (my dad tells me it’s perfectly safe–Ed) environments. You might be surprised to learn that our main theme isn’t the use of Linux software, although that does get a look in. Instead, we’ll mostly be thinking about technology that cavers can use while they’re underground. Laptops – even specially rugged ones – don’t survive long if they’re being dragged through muddy caves. For this reason, we’ll be looking at applications that run either on single

board computers, or on microprocessors or microcontrollers that form part of dedicated hardware. Some of these applications are Linux-based, running on Raspberry Pi or similar hardware, while others are embedded applications that don’t run under any operating system. Despite that, though, Linux offers everything that’s needed for developing the embedded code. Oh, and a smattering of Android apps, since smartphones are more forgiving of knocks than laptops. We hope some of you will take up the challenge of developing caving tech and, if this appeals to you, we’ll show you how to safely take your first steps underground.

www.linuxformat.com

Image credit: Chris Hunter

Mike Bedford on why caving needn’t only pose a physical challenge – it’s also your chance to try out exciting bits of FOSS-powered kit!


Caving with FOSS IN-DEPTH

f you were to venture underground, you’d probably find that your mobile phone signal would be lost within just a few metres from the entrance. Most other radio signals would suffer a similar fate. On an ordinary caving trip, being without a signal for a few hours isn’t a problem, and it could even make a welcome change, but there are times when contact with the outside world can make all the difference. On long caving trips lasting several days, communication could enable the surface party to give warnings of changing weather conditions such as the onset of heavy rain that could cause flooding underground. And this isn’t the only circumstance in which remaining in touch could be a matter of life and death. Cave rescue teams can also benefit from reliable communication. For example, since exiting a cave with a badly insured casualty could take hours, being able to summon medical assistance to be on-hand when the team reach the cave entrance could be critical. While mobile phones and most other commonly available type of radio equipment rely on signals that are absorbed by rock to varying degrees, if the frequency is low enough then radio signals can penetrate the ground sufficiently to provide communication between a cave and the surface. Lowfrequency radios, which would be suitable for use by cavers, aren’t generally available though, and so equipment is mostly designed and built by cavers. At one time, these so-called cave radios were built using analogue electronic techniques, but recent designs have tended to use digital methods, at least in part. The Micro HeyPhone, built by caver and electronic engineer Ian Cooper, is a hybrid design. While it uses some analogue circuitry, Ian made it considerably smaller, and hence more portable than previous designs, by adding an ATMega 328 microcontroller from Microchip Technology. The microcontroller is responsible for all the control functions and for generating the radio signals, while analogue electronics carries out the modulation and demodulation functions. The hybrid approach of the Micro HeyPhone allowed for a more rapid development programme, since some of the analogue circuitry from earlier designs could be reused, but DSP expert Ron Taylor’s SubPhone is a more revolutionary design. This new cave radio, which has been used on caving expeditions in Spain, is a purely software design that runs on a DSP-based (digital signal processor) single board computer. The board is called the Eden DSP and it uses a PIC DSP chip for which a Linux development environment is freely available. Full details of the board are at https://groups. io/g/EdenDSP, from where you can download files that you can use to get a PCB manufactured. While most cave radios have operated in that portion of the radio spectrum officially designated as LF (low frequency), which covers 30-300kHz, some people are now experimenting with operation at VLF (very low frequency), which covers 3-30kHz. Should this prove successful, it’s anticipated that it’ll make possible communication in environments with more conductive rock where conventional cave radios struggle. Rather than building dedicated hardware just to experiment with techniques, though, initial

www.techradar.com/pro/linux

Image credit: Ian Cooper.

I

The Micro HeyPhone cave radio is a hybrid design using a combination of conventional analogue electronics and a microprocessor for control functions and for generating the radio signal.

investigations, at a frequency of 9kHz, has involved using software on laptops, employing their sound cards for generating and receiving the signal. The software of choice has been the open source GNU Radio Companion, (see LXF261/2)which enables a software-defined radio to be designed by wiring up functional blocks on-screen. The design is being ported to a Raspberry Pi to provide a more portable, less-fragile solution, possibly as a halfway stage towards a fully embedded design. Cave radios have mostly been designed for speech communication, but there are various options for using them to exchange text messages or even photos. Photo transmission is an interesting problem. Because of the

CAVERS ADOPT SELFIE CULTURE “Cave radios have mostly been designed for speech communication, but there are various options for using them to exchange texts or even photos.” requirement to use a low frequency, the bandwidth of cave radios is very small, so image exchange is never going to be quick. However, by connecting an Android phone to the cave radio, and using an Android app to support SSTV (slow scan television) – which is mostly used by radio amateurs to transmit pictures via shortwave radio – photos have been sent from a cave to the surface in a few seconds. We can envisage that this could be useful during rescue operations.

Exploration down under Surveying and communication are probably the areas that have most exercised the minds of technicallyminded cavers, but exploration is the essence of caving, and here too technology is now playing a part. Of course, crawling down tortuous narrow passages in the hope of finding the fabled “caverns measureless to man” has always been a part of underground exploration, and for some it’s a challenge they actually relish. But in the largest of unexplored caves, with so many possible avenues for exploration, using robotic vehicles can improve your chances of success.

Summer 2020 LXF266     45


TUTORIALS Motion detection

Pi CAMERA

Record video using motion detection Jonni Bidwell does his bit for the surveillance state by setting up motiontriggered recording on the Raspberry Pi. He’s got his beady eyes on you! here are all sorts of things you can do with a Pi and a camera – some of which we dare not mention, and some of which we’ve already covered. Back in LXF265, for example, we showed you how to make a Pi bodycam. We’ve also done stopmotion video (LXF249) and a neat Pi camera booth (LXF248). Way, way back in LXF195 we also made a motion-detecting camera, and we thought it’d be good to revisit this because it’s actually much simpler to set up now. One application for this project is filming wildlife in your garden. Depending on your local climate, you’ll want to waterproof your Pi beforehand and there are a number of external cases that can do just this. You’ll need to have some means of powering it too. We used a PiJuice HAT, which you can connect to an external USB battery or solar panel to top up. There are a few options software wise, but we’re going to use the same motion software used by Kent Elchuk in our previous motion-detecting tutorial. This will connect to your home wireless network, and enable you to stream via a web browser. By default, the stream will be quite low quality (one Jpeg image per second, which will save battery power). When motion is detected (when a pre-determined number of pixels in the image, subject to some filtering, have changed) the camera will start recording until the motion stops and save a higherquality video file.

T

OUR EXPERT Jonni Bidwell is fairly contrary. His garden grows with silver bells and cockle shells and Raspberry Pis all in a row.

YOU NEED Raspberry Pi (3 or higher recommended) Raspberry Pi OS Lite on an 8GB+ card Pi Cam (or any other camera you can get working) Battery or other power source (PiJuice is advised).

Choose your Pi This will work on a Pi 2 or Pi Zero, at least at low resolutions, but we’d recommend a Pi 3 or 4. That way you get wireless for free (you can use motion offline or via a wired network though). We used a one of the original 5MP Pi Cameras, specifically the No-IR 1.3, but you’ll achieve better results if you have a newer one. Motion works on other Linux distros, so you can use it if you have a network camera, or any V4L- or UVCcompatible camera, you can use it on your Linux box. We’ll start with a vanilla Raspberry Pi OS Lite (formerly Raspbian Lite) install, which occupies around 1GB of an SD card. Bear in mind that video we’re going to save video on here too, so we’d recommend at least an 8GB SD card to start with. Connect your camera using the ribbon cable and make sure it’s sitting snugly in there. Even if you have a monitor and keyboard to get

50     LXF266 Summer 2020

It’s pretty easy to put together some makeshift weather-proofing equipment for your garden surveillance unit.

your Pi set up, we’d still recommend setting up SSH and wireless connectivity before doing anything else. It would be terribly annoying to have everything else working and then be let down by dodgy wireless signals, after all your efforts. New versions of Raspberry Pi Linux disable the SSH server by default, but you can enable it by putting an empty file named ssh on the FAT32 partition (the one visible in Windows) on the SD card, where all the boot files are stored. To automatically connect to a wireless network on boot, create a wpa_supplicant.conf file in the same location, with contents of the form: ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=GB network={ ssid="Your network name/SSID” psk="Your WPA/WPA2 security key” key_mgmt=WPA-PSK }

Save the file, unmount the card, pop it into the Pi and boot it up. If your OS supports .local name look ups, and there are no other Pis on your network, you should be able to SSH to your Pi by opening a terminal and running $ ssh pi@raspberrypi.local

www.linuxformat.com


TUTORIALS Microcontrollers

PIC

Learn how to program the 50 pence chip For the ultimate in low-cost embedded applications, the PIC microcontroller takes some beating. Mike Bedford shows you how to program it. ith the entry-level boards in Raspberry Pi family costing less than £5, we’re fully conversant with the low cost of computing power. Yet if you’ve not encountered them before, the price of chips in the PIC microcontroller range from Microchip Technology might still be surprising. The fact is that an entry-level PIC chip can be bought for about 40p, and this drops to as little as 25p in high volumes. Needless to say, these chips don’t offer a lot of processing power – in fact many of them wouldn’t even be able to support an operating system. Yet in many embedded applications – that’s where the processor works invisibly in the background – the requirement for number crunching is minimal, and an operating system is unnecessary. What’s more, as we’re about to see, those cheap chips contain a lot of circuitry like memory that you might expect to be external to the processor. Here we introduce you to PIC microcontroller chips and show you how to program them using the MPLAB Xpress IDE and a Curiosity development board. Although real-world applications of PIC devices involve using just the chip which you’d incorporate into your own circuit board, using a ready-made board for learning to develop code offers a simple, ready-to-go solution at low-cost. A key thing to bear in mind about

W

OUR EXPERT

Credit: Microchip media relations

Mike Bedford discovered PICs many years ago and felt an immediate affinity since they provided an ideal way of working on hardware and software together.

You might be more used to processors having hundreds of connections or more, but this tiny eight-pin PIC chip is a processor with on-chip memory and I/O.

52     LXF266 Summer 2020

PIC chips is that they’re microcontrollers, not microprocessors. This means that they’re effectively microprocessors with the addition of on-chip RAM, flash storage, non-volatile program memory, and input/ output circuitry for interfacing to real-world devices. For this reason they can be used in embedded applications with a minimum of external circuitry.

Daddy or chips? According to manufacturer Microchip Technology, there are several official families of PIC, but to cut a long story short, eight-, 16- and 32-bit architectures are available. Within each of these broad categories, specific products differ mostly in the amount of each type of on-chip memory and the number and type of I/O pins. Some top-end chips, which are intended for signal processing applications, have the addition of DSP instructions. However, at the other end of the spectrum are chips that are aimed at applications where low cost and a small size are the most important considerations. For example, the PIC10F200-I/OT is an eight-bit microcontroller that runs at a clock speed of 4MHz. It has 256 bytes of program memory, 16 bytes of RAM, and four digital I/O pins. The chip is tiny, having just six or eight pins and, depending on the package type, measures as little as 2.8x2.9mm.

Development kit If you’re using a PIC chip in a real application, the most common way of using it would be to incorporate it into your own custom circuit board, as opposed to using an off-the-shelf SBC. This way you can minimise space and cost. However, so you don’t have to carry out any electronic design or construction at this early stage – we’re basing this tutorial on a development kit from Microchip Technology. Called DM164137 Curiosity, and costing about £23 (try Farnell, https://uk.farnell.com), it has a socket into which you can plug any eight-bit PIC with eight, 14 or 20 pins, although it’s supplied with a PIC16F1619 already fitted. However, if you do want to use a different PIC chip, code is portable between eight-bit devices, often with no change or minimal alteration. The PIC16F1619 is an eight-bit chip which is clocked at 32MHz, it has 8K of 14-bit program memory, 1K of RAM, 128 bytes of non-

www.linuxformat.com


TUTORIALS TUTORIAL Prey

TERMINAL

Find your files in Broot Shashank Sharma knows it can be tricky to find files and folders, especially when you can’t remember where to look. But now he has a solution… ack in the 90s and most of the 2000s, Linux users frequently switched distributions, or otherwise had to perform a fresh installation to keep the system updated. One advantage of this approach was that you got to clean your drives of unnecessary muck every so often. This is in sharp contrast to most modern Linux installations, where users are either running a LTS variant, or even a rolling release distribution, neither of which necessitate frequent reinstallation of the system. The downside to this system strategy, however, is that your number of directories and files keep growing with time. This makes for a messy navigation even if you’re a master organiser. This is where Broot shines. But before we dive into it, do us a favour and run the tree command real quick. If you’ve never used it before, you might be a little surprised with the vast amount of output the command generates. Put simply, the tree command provides a recursive view of the directory structure on your system. But that’s all it can do. You can’t use it to change directories, or search for files by matching the

B

OUR EXPERT Shashank Sharma is a trial lawyer in Delhi. He’s been participating in virtual hearings during the Corona virus pandemic.

SEARCHING FOR FILES AND FOLDERS Apart from providing a tree view of directories, Broot can also be used to search for files or folders. As soon as you start typing, Broot will start narrowing down results to matching files or folders. You can move between the offered results using the arrow keys. You can also use regular expressions to narrow down results. To do this, type <expression> and Broot will immediately produce matching candidates. The difference and need for the two becomes obvious when you search for a keyword such as ‘asc’. On our machine, Broot provided kaos-welcome.png as well as ascii-image.png, among others. While the latter makes sense, Broot matched each of the different letters in asc and also suggest other files and directories that featured those letters. On the other hand, when you search using a regular expression – that is, by prefixing your search terms with the / key – Broot performs an exact match for the specified keyword. Broot will perform a case-insensitive search by default, but the regular expression search is case sensitive. If you want the regular expression search to be case insensitive as well, you must add /i at the end of the search expression. For instance, asc performs a caseinsensitive search. But /asc performs a case-sensitive regular expression search, whereas /asc/i performs a case-insensitive regular expression search.

56     LXF266 Summer 2020

Split the Broot interface into multiple panels by pressing Ctrl+P. Press Ctrl+right and Ctrl+left arrow keys to switch between the panels.

content within them. With its support for fuzzy search, Broot can do all that, and can also be used to edit and delete files.

Getting started Released under the MIT licence, the nifty utility runs on Linux, Mac and even Windows. However, the non-Linux variants lack some features and are not as polished. Although not available in the software repositories of most popular distributions, installing it is fairly straightforward. You can download the executable file from the project’s website and place it in a directory that’s in your $PATH: $ wget -c https://dystroy.org/broot/download/x86_64linux/broot $ chmod +x broot $ sudo mv broot /usr/local/bin

Here. we’ve downloaded the script, and used the chmod +x command to make it executable and finally

placed it in the /usr/local/bin directory. You’ll now be able to launch Broot with the broot command. When you run Broot for the first time, the utility checks to see if the br shell function is installed. If not, the project offers to install it. This is essential because although you can launch Broot by invoking the broot command, some functionality such as changing directories is only available when the utility is launched using br . If you miss the prompt, or chose not to install it, you can run the broot --install command at any point to install the br shell function. Depending on your distribution, the br shell function is installed in the ~/.config/broot/launcher/ bash directory and the project will also automatically

www.linuxformat.com


TUTORIALS Project management Credit: https://zenkit.com/en/todo

ZENKIT TO DO

Multi-user task and project management Nick Peers reveals how to manage everything from simple to-do items to complex multi-user projects with this clever Wunderlist-replacement. ans of the Wunderlist cloud-based task manager will by now know that Microsoft has finally pulled the plug on the venerable service, which was launched in 2011 by a German company (Wunderkinder) before being bought by Microsoft in 2015. Users were directed instead to switch to Microsoft’s own To Do application, but while it retains many of Wunderlist’s features, it’s not the same experience – plus there’s no official client for Linux (But it said it loved Linux? – Ed). Thankfully, project management specialist Zenkit has spied an opportunity and developed its own Wunderlist clone. Zenkit To Do mirrors the Wunderlist experience as closely as possible, aiming to replicate not just its look

F

OUR EXPERT Nick Peers has spent most of the past few months dreaming of the ultimate lockdown server.

Navigating your to-do lists 3

5

1

4

2

6 Navigation pane Quickly track down the to-do item you’re looking for with the help of smart lists and a search tool.

Edit pane Click a task to edit it and record extra details, plus make comments, and review all the task’s activity.

Task organisation Use this to organise your tasks into lists and folders to turn simple to-do items into a full-blown project.

Task options Click the … button to access additional tools, including an option to view the Edit pane as a floating window.

Current view Select a smart list or list from the navigation pane to display all the tasks that are related to it here.

Stay notified Toast notifications are just one of the ways that Zenkit To Do can be configured to alert you.

1

2

3

58     LXF266 Summer 2020

4

5

6

and feel, but the feature set, too. The application harnesses the Zenkit eco-system to provide a cut-down version of its main offering, with the promise of more to come in the months ahead. Unlike Wunderlist, not all its functionality is free, but the free tier offers more than enough for most people and that’s what we’re focusing on in this tutorial.

Very flattering Anyone familiar with Wunderlist will appreciate just how brilliant Zenkit To Do is the moment that you first log in. You’ll have access to virtually the same feature set in Wunderlist – namely the means to create to-do items and organise them into lists and folders. Each item can be assigned deadlines and reminders, support multiple subtasks to help you manage more complicated projects and be assigned notes and file attachments. Like Wunderlist, you can also collaborate with other Zenkit To Do users – assign family, friends and co-workers tasks, receive notifications of changes to documents, open a chat window to discuss the current project and more besides. To see how closely Zenkit To Do mirrors Wunderlist, visit https://zenkit.com/en/todo/switch-fromwunderlist where you’ll discover that Zenkit To Do has some nifty features of its own not found in Wunderlist: HTML and markdown formatting of notes for starters, plus two-factor authentication (2FA) support to add another layer of security to your account. Like all good cloud services, Zenkit To Do is accessible across all major platforms as well as through the web. Unlike Microsoft To Do, Zenkit’s offering includes a fully functional Linux program. It mirrors the web-based interface, but stores your data locally (with your permission) so you can access and update your projects offline before syncing when you’re next connected.

Enter the Zen zone Zenkit To Do is available via snap, so can be installed directly from the Ubuntu Software Centre in Ubuntu 20.04. More download options – including the portable AppImage format – can be found on the program’s platforms page. See what’s available by visiting https://zenkit.com/en/todo/platforms).

www.linuxformat.com


BACK ISSUES

BACK ISSUES

MISSED ONE?

ISSUE 265 August 2020

ISSUE 264 July 2020

ISSUE 263 June 2020

Product code:

Product code:

Product code:

In the magazine We check out the latest show-stopping distros that are packed with advanced features and tools, show how to code Pac-Man games in Python, design and publish eBooks, create stop-motion animation on a Pi, and explore modern browsers.

In the magazine We reveal why the latest version of Ubuntu is better than ever before, show you how to code a top-down arcade shooter, improve your audio recordings with Audacity, simulate your own circuits and give you an insight into open source processors.

In the magazine Discover how you can bring your old hardware back to life with 32-bit distros, and code an old-skool platformer. Plus, secure your cloud backups, solve mazes using graph algorithms and learn new video-editing skills with the very capable OpenShot.

Digital download highlights Linux Lite 5.0 and Pop!_OS 20.04 (both 64-bit versions).

Digital download highlights Fedora 32 Workstation and Manjaro 20 (both 64-bit versions).

Digital download highlights Mint Debian Edition 4, antiX 19 and Bodhi Linux 5.1 (all 32-bit versions).

ISSUE 262 May 2020

ISSUE 261 April 2020

ISSUE 260 March 2020

Product code:

Product code:

Product code:

In the magazine We show how to keep your Linux system safe, from protecting your data to rocksolid login solutions. There’s advice on how to construct an FM radio receiver, make the most of systemmonitoring tools, and a look back at over 20 long years of Linux Format!

In the magazine We take an in-depth look at virtualisation to ease our installing woes. We also explore the world of FreeBSD. Plus, learn how to use LibreOffice Calc for serious mathematical work, and how Zabbix can solve an enterprise’s monitoring needs.

In the magazine Sensing the coming of spring, we rouse ourselves from semi-hibernation with a feature full of glorious maker projects. We also look at firewalls, set beginner distros against each other, and show you how you can move from Evernote to Joplin.

DVD highlights Manjaro 19.0.1 (64-bit) and IPFire 2.25 Core 141 firewall distro (32- and 64-bit).

DVD highlights Solus 4.1 (64-bit), as well as OpenMandriva 4.1 (64-bit).

DVD highlights Mint 19.3 (64-bit), Elementary OS v5.1 (64-bit), and BlackArch 2020 (64-bit).

LXFDB0265

LXFDB0264

LXFDB0262

LXFDB0261

LXFDB0263

LXFDB0260

To order, visit myfavouritemagazines.co.uk Select Tech from the tabs of magazine categories, then select Linux Format. Or call the back issues hotline on 0344 848 2852 or +44 344 848 2852 for overseas orders.

Quote the Product code shown above and have your credit or debit card details ready 62     LXF266 Summer 2020

www.linuxformat.com


THE BEST NEW OPEN SOURCE SOFTWARE ON THE PLANET

HotPicks

Alexander Tolstoy searched for ‘internet’ over the internet and broke one. Or was that a corny The IT Crowd joke?

Audacity Ksnip PDF Quirk Apostrophe Pidgin QEMU Bauh Blobby 2 JFDuke3D Parachute Wihotspot

SOUND EDITOR

Audacity Version: 2.4.1 Web: www.audacityteam.org hortly after Mike Bedford’s excellent hands-on Audacity tutorial in LXF264, the well-known audio application gained a significant new release (and also turned 20-years old back in May 2020). The new Audacity 2.4 is the same old Audacity that we know and love, but benefited from a range of improvements that we want to cover here. One new addition is the Time Panel that’s located below the Waveform (note that the size and placement of the panel can vary). When using Audacity keep an eye on the screen from a distance – it can be handy to make the Time Panel larger and more readable. The dropdown Waveform menu now sports a Multiview check box, which enables you to display the Spectrogram and Waveform panels at the same time. Previously, you had to choose which one to have on show. There are plenty of smaller improvements to the program, together with a range of new filters. These all help to reinforce Audacity’s reputation as the leading open source choice for recording podcasts and speech. The newly introduced Loudness Normalization tool and the Noise Gate filter prove to be handy when editing voice recordings. Audacity now makes it even simpler to eliminate unwanted sounds, fix audible defects, apply volume threshold, remove periods of silence and carry out other common sound-mastering tasks. Although many people use Audacity just to record something and then export the results as WAV/MP3/ OGG files, the editor is capable of much more. Explore the creative ways of transforming the sound by browsing the Effect menu, and don’t overlook the multitrack capability of Audacity. In fact, this feature is useful for mixing several tracks, superimposing one sound over the other. Alternatively, why not add some background music to liven up a jargon-heavy tech podcast. Regardless of how you want to use Audacity, this editor is a fully-fledged sound processing package that can handle pretty much anything you throw at it, from noise removal to fixing ID3 tags.

S

www.techradar.com/pro/linux

Preferences hide lots of things that you may want to change, from the interface theme to the ALSA <> Pulseaudio switch.

Exploring the Audacity interface... 2 1

4 3

5

Playback control Start, stop, jump back and forth, and also access the pre-recording dialog using the button with the red dot.

1

Editor’s toolbox Use different tools to handle selections, zoom in and out and even draw a waveform!

2

3

Precise control over the track Change the volume, left/right

balance, swap channels and set up the track visualisation via the built-in menu. The main waveform view This view is the most efficient visual representation of the track that enables easy management of its length and composition.

4

Timing is everything The new Time Panel panel can be relocated and scaled up/down.

5

Summer 2020 LXF266     63


TUTORIALS TUTORIALS Configure Proton

Credit: https://store.steampowered.com

STEAM PROTON

Configure Proton for enhanced gaming John Knight takes a long-overdue deep-dive into the tools that make up Proton and the Steam Play gaming scene. aming on Linux used to be a dead-zone. Then along came Valve and its ill-fated SteamOS and BOOM! From its ashes rose Steam Play – based on its Wine-powered Proton technology – and a first-world gaming experience for Linux users that can bear a walled garden. Since its inception, Steam Play has developed a rich ecosystem of third party add-ons that we thought was finally worth exploring. For the uninitiated, Steam Play is Valve’s overall service for Linux, using the Steam software service to run both native Linux games and Windows games through Proton. Proton is a modified version of Wine developed by Valve that allows compatibility for newer DirectX games, and uses the new Vulkan graphics API for strongly increased performance. As such, before we can continue, it’s vital to have the latest graphics drivers possible installed on your system or Steam Play titles may not run. With that out of the way, join us as we explore the Steam Play gaming scene.

G

OUR EXPERT John Knight When he’s not running away from Australian snakes and spiders, John can either be found writing retro gaming columns, or punishing a drum kit..

Installing Steam

The newest version of Proton isn’t necessarily the best. As new features are introduced, they may break compatibility that older versions allowed. Using ProtonDB, you can check which version of Proton gives the best results for each game.

There are a number of methods to install Steam (it has 32-bit library dependencies that can complicate selfinstalls) and it’s worth checking your distro’s package manager or software store before resorting to anything needlessly difficult. Many distributions have some kind of shortcut to install Steam as painlessly as possible – it could even sit somewhere in your menu. It doesn’t matter if you get an old version because Steam will update itself anyway, so you may as well use the easiest method available. If Steam isn’t available somehow on your system, you can download it from the website. Unfortunately, it only provides .DEB files (because everyone runs Debian or Ubuntu, right?), but there are sources for other package formats, such as https://pkgs.org/download/ steam. If you can’t find a package here, you can also install Steam as a Flatpak through Flathub at flathub. org: https://flathub.org/apps/details/com. valvesoftware.Steam However, if you can install Steam through other methods, that would be preferable. Flatpaks are designed almost exclusively for desktop applications

70     LXF266 Summer 2019

Valve’s Steam Play service provides easy access to the vast Windows gaming library, as long as you don’t mind a little trial-and-error.

and don’t provide the same proper terminal commands as a normal package. This could spell trouble with some third-party applications that are relying on a nonexistent steam command.

Installing Proton Try installing a random Windows game on a fresh copy of Steam and you’ll just get an error. Steam Play needs to be fully enabled, which will then prompt Steam to download Proton. Don’t worry though, it’s not difficult. From Steam’s main menu, click Steam>Settings. In the new window, open the Steam Play options. Under the Steam Play Settings check the box for ‘Enable Steam Play for supported titles’. Don’t stop there though. By default, Steam will only work with a collection of ‘white-listed’ titles approved by Valve. No one sticks to this list, and no one expects you to. Under the Advanced section, check the box labelled ‘Enable Steam Play for all other titles’. Not only does this enable you to try Proton with any Windows game you like, but if you browse the dropdown list, you can specify which version of Proton you want to use by default. Once this is enabled, Steam will prompt you about needing to restart. To get started with Proton gaming, right-click any Windows game in your library and click Install. Proton won’t have been downloaded yet, so it will download along with your first Windows title. Once both downloads are complete, you can launch your Windows

www.linuxformat.com


TUTORIALS Game development Part One!

Credit: https://godotengine.org

Don’t miss next issue, subscribe on page 22!

GODOT

Develop video games with the Godot engine Calvin Robinson explores game development engine Godot, and reveals how to script a user interface for a 2D video game. odot is a free (as in beer) and open source video game engine. It’s an impressive toolset provided at no cost and with liberal licencing that enables people to create their own video games without spending months first creating the engine. The idea is very similar to PyGame, a Python module we’ve used often in games programming tutorials in this magazine, in that an advanced toolset is compiled that includes most of the groundwork one would need to create a game. Things like sprites and physics are taken care of, so the programmer can get straight onto designing their video game. Godot uses an MIT or Expat licence that grants programmers the permission to use Godot for any purpose: study how the engine works; change the engine itself; and redistribute versions of Godot with or without changes. Programmers are even free to commercialise custom versions of Godot under a different license, provided a notice of the original Godot is distributed in the documentation. That’s a very free (as in speech) licencing scheme. Of course, any game or software created with the Godot engine is the sole copyright of you, the developer. While it’s important to include a copyright notice of the engine used in your documentation, anything you create in Godot belongs to you to do with as you please. These are fair and incredibly permissive terms. Being FOSS, Godot is cross-platform, with versions for Linux, Windows, Mac OS X and BSD. Additionally, it’s also multi-platform, working on iOS and Android devices, as well being able to deploy games for the Nintendo Switch, PlayStation4, Xbox One and HTML5.

G

OUR EXPERT Calvin Robinson is a subject matter expert at the National Centre for Computing Education, and a computer science teacher.

Don’t forget to comment that code! As we progress in Godot we’ll end up with multiple scenes with dozens of attached scripts, so it’s important to comment to remind ourselves what does what.

How to Godot started First of all, Godot supports both 2D and 3D visual rendering, making it easy to design games for either perspective. The interface itself is user-friendly enough for projects of scale, and ease of use seems to have been a contributing factor to the design of this engine. While Python support in Godot isn’t ‘official’, there is community support available for it. Officially endorsed options are C# or C++ for the more advanced programmers. For those just starting out, or with limited programming experience, Godot offers a high-level scripting language called GDScript, which is pretty

74     LXF266 Summer 2020

The easiest way to download and update Godot is via Steam.

similar in syntax to Python, with influences from Java. And if coding isn’t your forte, there’s also a visual scripting interface built in. The visual editor is contextsensitive and WYSIWYG (what you see is what you get). Built with Object Oriented Programming methodology in mind, Godot games are created with Nodes, which suppose instancing and inheritance, making it easier to implement levels/scenes and objects. There’s also a funky feature called Persistent Live Editing, which enables changes to be made in realtime and saved even when the game is stopped. The ability to modify the game while it’s running, even on mobile devices is a real USP for Godot. Meanwhile, Scenes make it possible for creatives to work on their own sections of the game without getting in each others’ way. For example, someone could be developing levels while another person is working on characters. Godot uses Github for collaborative coding, so teambased projects will work just as with most other opensource projects.

Alternatives YoYo Games’ GameMaker Studio has been an industry standard in this area for some time now, offering multi-platform publishing for desktop, web, mobile and console. GameMaker features a visual drag-anddrop editing platform as well as a scripting language called GML.

www.linuxformat.com


9000

CODING ACADEMY CODING ACADEMY Python Pong

PYTHON

Revisit the arcade classic Pong in Python Calvin Robinson takes us through creating a contemporary homage to Pong – considered by many to be the very first arcade game. his series of building retro games in Python has so far seen us coding a lunar landing space module, a side-scrolling platformer, the famous pellet-munching, ghost-chasing Pac-Man, and in this issue we’re going to develop our own version of Pong! To many, Pong is the original arcade game. It’s certainly the first video game to become a commercial success. Released for arcades in 1972 and for the home in 1975, Pong was gained popularity worldwide and is now permanently memorialised in the Smithsonian Institute in Washingon DC. Developed and selfpublished by Atari, Pong is a 2D table tennis simulation with arguably the most simplistic game design imaginable, while managing to achieve an incredibly addictive gaming experience.

T

OUR EXPERT Calvin Robinson is a subject matter expert at the National Centre for Computing Education, and a computer science teacher.

What gameplay? Gameplay mechanics in Pong are quite simple. It’s essentially ping-pong seen from a basic birds-eye view. The game makes use of vector graphics to display a rectangular shape for the players’ pads and a square (or rough circle, depending on the processing power) for the ball. In single-player mode, the player moves one paddle and the computer acts as a non-player character, controlling the second. The idea is to get the ball to

One of the first home video game consoles: Atari Pong.

pass the opponent’s paddle on their side of the screen. You earn a point for each time the opponent misses a rally. Atari’s Home Pong console was set up for twoplayer mode, with a paddle for each player. That’s the version we’re going to create today. Since we don’t have hardware and we’re programming this entirely in Python, we’ll give each player two keys on either side of the keyboard: one for up, one for down. Python offers us an accessible programming language with straightforward syntax. It’s the perfect language for playing around with vector-based video games. Let’s go!

Ping-pong Python Without getting into any debates about version 2 versus version 3, we’ll be using Python 3 for this tutorial. If you’re running a Debian based Linux distro you can install Python in Terminal with the command sudo aptget install python3 after a quick update with sudo aptget update , of course. We’ll also be taking advantage of a vector graphics module linuxformat.py from last issue. This can be found on the disc, or via the source code link on our Archives page at www.linuxformat.com/ archives. Once downloaded or copied, ensure linuxformat.py is saved in the same directory as the rest of the files we create in this tutorial. Now that Python 3 is installed we can create a new Python file. Using your favourite text editor create an empty file and save it in the same folder as your linuxformat.py, which we’ll be using as a reference module for vector graphics. To create the file you can use touch pong.py followed by nano pong.py, or open it directly through the Python IDLE. We’re going to take advantage of the PyGame toolset for this project. PyGame is a useful module designed to assist with, as the name would suggest, the development of games in Python. PyGame includes a sprite class with shapes such as the rectangle, which we’ll certainly make use of. To install PyGame use pip in command line: pip3 install pygame should cover it. Remember to use pip3 to install modules for Python3, rather than just pip , which can get messy with multiple installations of Python on a single machine.

Credit: Evan-Amos, CC BY-SA 3.0 https://en.wikipedia.org/wiki/File:TeleGames-Atari-Pong.png

78     LXF266 Summer 2020

www.linuxformat.com


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.