Linux Format - UK (2019-12)

(Antfer) #1
86 LXF257 December 2019 http://www.linuxformat.com

HOTPICKS


PACKAGE MANAGER


TERMINAL EMULATOR


Butter-smooth
performance and
a plethora of nicely
designed time-
savers.

hecking the performance of terminal
emulators is not something that most people
get up to, yet there are a branch of terminals
with a focus on performance. The main point of interest
is how fast and smoothly a terminal emulator can
display very large amounts of data, draw complex
ASCII compositions and render various other sorts
of dynamic CLI content.
Our amateur benchmarks in this area include ‘Matrix
Code Rain’, the Piu-Piu-SH game (LXF230) and perhaps
the Asciiarium screensaver, but you can get more
serious and examine a practical comparison at
https://github.com/anarcat/terms-benchmarks.
Anyway, this review is dedicated to kitty, another
GPU-accelerated terminal emulator that is a direct
competitor of Alacritty from LXF241. Each of the two
replaces your current terminal app with improved,
OpenGL-powered next-gen technology. We’re not sure if
kitty is faster than Alacritty or vice versa, but both are
really much faster than convenient emulators, which is
the main point.

lenty of water has passed under the bridge
since we first reviewed Linuxbrew in LXF195.
This outstanding package manager has greatly
improved since then. Linuxbrew used to be a Linux port
of Homebrew, ‘the missing package manager for OS X’.
It’s easy to guess why it was missing, because Apple’s
‘walled garden’ ecosystem didn’t encourage any Linux-
style package management.
Nevertheless, the modern Homebrew package
manager is officially advertised as macOS and Linux
software, so there’s no need for a separate name for
the Linux port. Linuxbrew is now defunct (its GitHub
page is archived), and the installation instructions have
been unified for both UNIX-based operating systems.
Once you’ve installed Homebrew in Linux – it’s just a
one-liner that uses Curl to fetch the install script – and
add it to $PATH, you are ready to play with the brew
command. Test it with something like this:
$ brew install gcc
Since Homebrew also supports installing graphical
applications via the Cask extension (a macOS-only

There are still quite
a lot of ‘linuxbrew’
occurrences here
and there, though
the project has
unified.

P


C


Homebrew


feature), there are now two types of Homebrew
packages. The first is called ‘formulae’ and covers
the entire catalogue of command-line apps, tools and
libraries, and the second is Cask. You can search for
Homebrew CLI components via either the brew
search ... command, or using your web browser from
the https://formulae.brew.sh page.
By using this package manager in Linux you get an
alternative source and delivery channel for various
open source software. If your host system is old and
you need a fresh version of something, or you need a
package that is not packaged elsewhere, or you just
don’t have root privileges on your system, but want to
install new software... In all such cases Homebrew is
a saviour. Everything you get with it lives under the
/home/linuxbrew directory and does not interfere
with the rest of your system.

Version: 2.1.12 Web: https://github.
com/Homebrew/brew

Kitty


Kitty has some extra goodness to offer. First, it
doesn’t compromise on many sweet features such as
scroll-back, ligatures, tabs and extensibility. Press
the usual Ctrl+Shift+T sequence in kitty to add
another tab and use your mouse to switch between
tabs. Drag a file from your file manager onto the kitty
window to paste the file’s full path, copy and paste
any text and so on. In many regards kitty provides the
same level of comfort and desktop integration as
Konsole or the GNOME Terminal.
kitty comes with a set of home-grown small
terminal improvements called ‘kittens’. You can add
a narrow terminal line along the edge of your screen,
redirect stdin input to the clipboard, input arbitrary
Unicode characters by name or hex code, or show
the details of the terminal’s scrollback buffer using
less. Almost everything of the above is configurable,
plus you can script your own ‘kittens’ with ease.

Version: 0.14.6 Web: https://github.
com/kovidgoyal/kitty

86 LXF257December 2019 DDDecmbr 20198Pea09

HOTPICKS


PACKAGEMANAGER


TERMINALEMULATOR


Butter-smooth
performance and
a plethora of nicely
designed time-
savers.

heckingtheperformanceofterminal
emulatorsisnotsomethingthatmostpeople
getupto,yetthereareabranchofterminals
withafocusonperformance.Themainpointofinterest
ishowfastandsmoothlyaterminalemulatorcan
displayverylargeamountsofdata,drawcomplex
ASCIIcompositionsandrendervariousothersorts
ofdynamicCLIcontent.
Ouramateurbenchmarksinthisareainclude‘Matrix
CodeRain’,thePiu-Piu-SHgame(LXF230)andperhaps
theAsciiariumscreensaver,butyoucangetmore
seriousandexamineapracticalcomparisonat
https://github.com/anarcat/terms-benchmarks.
Anyway,thisreviewisdedicatedtokitty,another
GPU-acceleratedterminalemulatorthatisadirect
competitorofAlacrittyfromLXF241.Eachofthetwo
replacesyourcurrentterminalappwithimproved,
OpenGL-powerednext-gentechnology.We’renotsureif
kittyisfasterthanAlacrittyorviceversa,butbothare
reallymuchfasterthanconvenientemulators,whichis
themainpoint.

lentyofwaterhaspassedunderthebridge
sincewefirstreviewedLinuxbrewinLXF195.
Thisoutstandingpackagemanagerhasgreatly
improvedsincethen.LinuxbrewusedtobeaLinuxport
ofHomebrew,‘themissingpackagemanagerforOSX’.
It’seasytoguesswhyitwasmissing,becauseApple’s
‘walledgarden’ecosystemdidn’tencourageanyLinux-
stylepackagemanagement.
Nevertheless,themodernHomebrewpackage
managerisofficiallyadvertisedasmacOSandLinux
software,sothere’snoneedforaseparatenamefor
theLinuxport.Linuxbrewisnowdefunct(itsGitHub
pageisarchived),andtheinstallationinstructionshave
beenunifiedforbothUNIX-basedoperatingsystems.
Onceyou’veinstalledHomebrewinLinux–it’sjusta
one-linerthatusesCurltofetchtheinstallscript–and
additto$PATH,youarereadytoplaywiththebrew
command.Testitwithsomethinglikethis:
$ brewinstallgcc
SinceHomebrewalsosupportsinstallinggraphical
applicationsviatheCaskextension(amacOS-only

There are still quite
a lot of ‘linuxbrew’
occurrences here
and there, though
the project has
unified.

P


C


Homebrew


feature), there are now two types of Homebrew
packages. The first is called ‘formulae’ and covers
the entire catalogue of command-line apps, tools and
libraries, and the second is Cask. You can search for
Homebrew CLI components via either the brew
search ... command, or using your web browser from
the https://formulae.brew.sh page.
By using this package manager in Linux you get an
alternative source and delivery channel for various
open source software. If your host system is old and
you need a fresh version of something, or you need a
package that is not packaged elsewhere, or you just
don’t have root privileges on your system, but want to
install new software... In all such cases Homebrew is
a saviour. Everything you get with it lives under the
/home/linuxbrew directory and does not interfere
with the rest of your system.

Version: 2.1.12 Web: https://github.
com/Homebrew/brew

Kitty


Kitty has some extra goodness to offer. First, it
doesn’t compromise on many sweet features such as
scroll-back, ligatures, tabs and extensibility. Press
the usual Ctrl+Shift+T sequence in kitty to add
another tab and use your mouse to switch between
tabs. Drag a file from your file manager onto the kitty
window to paste the file’s full path, copy and paste
any text and so on. In many regards kitty provides the
same level of comfort and desktop integration as
Konsole or the GNOME Terminal.
kitty comes with a set of home-grown small
terminal improvements called ‘kittens’. You can add
a narrow terminal line along the edge of your screen,
redirect stdin input to the clipboard, input arbitrary
Unicode characters by name or hex code, or show
the details of the terminal’s scrollback buffer using
less. Almost everything of the above is configurable,
plus you can script your own ‘kittens’ with ease.

Version: 0.14.6 Web: https://github.
com/kovidgoyal/kitty
Free download pdf