Language Selection

English French German Italian Portuguese Spanish


5 Best PDF Editors for Linux You Should Try in 2020

Filed under

Whether you know a lot about computers or you only know as little as you can get by with, you recognize what a PDF File format is. It’s the document format that has made digital documents widely acceptable. No matter where it was created or using what, a PDF document always looks the same as long as you have software that can read a PDF file. Naturally, PDF is also a popular file format on Linux and there are many PDF Editors on the platform as a result. Here are some of the best PDF editors for Linux, Ubuntu, and other Linux distributions. Try the following PDF editing apps and also check out these best application launchers for Linux.

Read more

Snap or Snapd 2.44.1 Stable Version Released Today & May Be Loaded on Ubuntu 20.04 LTS

Filed under

Snapd 2.44.1 Released: SNAP is one of the best Package management system used by GNU and Linux. Snap is an open-source platform which allows developers all around the world to develop their own applications. Most commonly using snap applications by Linux users are “VLC, VS Code, Shot cut, Firefox, Chromium, Postman and Many more“. Ubuntu adopts snap package management system in the year of 2016, and they released the stable version of Ubuntu 16.04 LTS with preinstalled snap package management system.

Read more

GnuPG 2.2.20 released

Filed under


We are pleased to announce the availability of a new GnuPG release:
version 2.2.20.  This is maintenace release fixing a minor security
problem and adding a new OpenPGP feature.  See below for details.

About GnuPG

The GNU Privacy Guard (GnuPG, GPG) is a complete and free implementation
of the OpenPGP and S/MIME standards.

GnuPG allows to encrypt and sign data and communication, features a
versatile key management system as well as access modules for public key
directories.  GnuPG itself is a command line tool with features for easy
integration with other applications.  The separate library GPGME provides
a uniform API to use the GnuPG engine by software written in common
programming languages.  A wealth of frontend applications and libraries
making use of GnuPG are available.  As an universal crypto engine GnuPG
provides support for S/MIME and Secure Shell in addition to OpenPGP.

GnuPG is Free Software (meaning that it respects your freedom).  It can
be freely used, modified and distributed under the terms of the GNU
General Public License.

Noteworthy changes in version 2.2.20

  * Protect the error counter against overflow to guarantee that the
    tools can't be tricked into returning success after an error.

  * gpg: Make really sure that --verify-files always returns an error.

  * gpg: Fix key listing --with-secret if a pattern is given.  [#4061]

  * gpg: Fix detection of certain keys used as default-key.  [#4810]

  * gpg: Fix default-key selection when a card is available.  [#4850]

  * gpg: Fix key expiration and key usage for keys created with a
    creation date of zero.  [#4670]

  * gpgsm: Fix import of some CR,LF terminated certificates.  [#4847]

  * gpg: New options --include-key-block and --auto-key-import to
    allow encrypted replies after an initial signed message.  [#4856]

  * gpg: Allow the use of a fingerprint with --trusted-key. [#4855]

  * gpg: New property "fpr" for use by --export-filter.

  * scdaemon: Disable the pinpad if a KDF DO is used.  [#4832]

  * dirmngr: Improve finding OCSP certificates.  [#4536]

  * Avoid build problems with LTO or gcc-10. [#4831]


Getting the Software

Please follow the instructions found at <> or
read on:

GnuPG 2.2.20 may be downloaded from one of the GnuPG mirror sites or
direct from its primary FTP server.  The list of mirrors can be found at
<>.  Note that GnuPG is not
available at

The GnuPG source code compressed using BZIP2 and its OpenPGP signature
are available here: (6627k)

An installer for Windows without any graphical frontend except for a
very minimal Pinentry tool is available here: (4144k)

The source used to build the Windows installer can be found in the same
directory with a ".tar.xz" suffix.

A new version of GnuPG's full installer for Windows (aka Gpg4win)
featuring several frontends and plugins will be released shortly.

Checking the Integrity

In order to check that the version of GnuPG which you are going to
install is an original and unmodified one, you can do it in one of
the following ways:

 * If you already have a version of GnuPG installed, you can simply
   verify the supplied signature.  For example to verify the signature
   of the file gnupg-2.2.20.tar.bz2 you would use this command:

     gpg --verify gnupg-2.2.20.tar.bz2.sig gnupg-2.2.20.tar.bz2

   This checks whether the signature file matches the source file.
   You should see a message indicating that the signature is good and
   made by one or more of the release signing keys.  Make sure that
   this is a valid key, either by matching the shown fingerprint
   against a trustworthy list of valid release signing keys or by
   checking that the key has been signed by trustworthy other keys.
   See the end of this mail for information on the signing keys.

 * If you are not able to use an existing version of GnuPG, you have
   to verify the SHA-1 checksum.  On Unix systems the command to do
   this is either "sha1sum" or "shasum".  Assuming you downloaded the
   file gnupg-2.2.20.tar.bz2, you run the command like this:

     sha1sum gnupg-2.2.20.tar.bz2

   and check that the output matches the next line:

d5290f0781df5dc83302127d6065fb59b35e53d7  gnupg-2.2.20.tar.bz2
a8b47222875b31661f79c1e7414657b02b44da78  gnupg-w32-2.2.20_20200320.tar.xz
e6547a9bd2cdca3264ccb36d64f755ba6c8da2ba  gnupg-w32-2.2.20_20200320.exe


This version of GnuPG has support for 26 languages with Chinese
(traditional and simplified), Czech, French, German, Japanese,
Norwegian, Polish, Russian, and Ukrainian being almost completely

Documentation and Support

If you used GnuPG in the past you should read the description of
changes and new features at doc/whats-new-in-2.1.txt or online at

The file has the complete reference manual of the system.
Separate man pages are included as well but they miss some of the
details available only in thee manual.  The manual is also available
online at

or can be downloaded as PDF at .

You may also want to search the GnuPG mailing list archives or ask on
the gnupg-users mailing list for advise on how to solve problems.  Most
of the new features are around for several years and thus enough public
experience is available. has user contributed
information around GnuPG and relate software.

In case of build problems specific to this release please first check for updated information.

Please consult the archive of the gnupg-users mailing list before
reporting a bug: <>.
We suggest to send bug reports for a new release to this list in favor
of filing a bug at <>.  If you need commercial
support go to <> or <>.

If you are a developer and you need a certain feature for your project,
please do not hesitate to bring it to the gnupg-devel mailing list for


Maintenance and development of GnuPG is mostly financed by donations.
The GnuPG project currently employs two full-time developers and one
contractor.  They all work exclusively on GnuPG and closely related
software like Libgcrypt, GPGME and Gpg4win.

We have to thank all the people who helped the GnuPG project, be it
testing, coding, translating, suggesting, auditing, administering the
servers, spreading the word, and answering questions on the mailing

Many thanks to our numerous financial supporters, both corporate and
individuals.  Without you it would not be possible to keep GnuPG in a
good shape and to address all the small and larger requests made by our
users.  Thanks.

Happy hacking,

   Your GnuPG hackers

This is an announcement only mailing list.  Please send replies only to
the gnupg-users'at' mailing list.

List of Release Signing Keys:
To guarantee that a downloaded GnuPG version has not been tampered by
malicious entities we provide signature files for all tarballs and
binary versions.  The keys are also signed by the long term keys of
their respective owners.  Current releases are signed by one or more
of these three keys:

  rsa2048 2011-01-12 [expires: 2021-12-31]
  Key fingerprint = D869 2123 C406 5DEA 5E0F  3AB5 249B 39D2 4F25 E3B6
  Werner Koch (dist sig)

  rsa2048 2014-10-29 [expires: 2020-10-30]
  Key fingerprint = 031E C253 6E58 0D8E A286  A9F2 2071 B08A 33BD 3F06
  NIIBE Yutaka (GnuPG Release Key) <gniibe 'at'>

  rsa3072 2017-03-17 [expires: 2027-03-15]
  Key fingerprint = 5B80 C575 4298 F0CB 55D8  ED6A BCEF 7E29 4B09 2E28
  Andre Heinecke (Release Signing Key)

The keys are available at <> and
in any recently released GnuPG tarball in the file g10/distsigkey.gpg .
Note that this mail has been signed by a different key.

Read more

Also: GNU PG 2.2.20 Released Today! What New in GNU PG 2.2.20?

Linux: No need to be afraid of the penguin

Filed under

According to recent statistics, almost 88% of computers worldwide run Windows while the figure for Linux is around 2%. One of the main reasons is that Windows is often preinstalled on computers and many users know the system already.

Read more

GNU Projects: Automake, GNU Parallel and GNU Chinese Translators

Filed under
  • automake-1.16.2 released
    This is to announce automake-1.16.2, a stable release.
    There have been 38 commits by 12 people in the two years
    (almost to the day) since 1.16.1.  Special thanks to Karl Berry
    for doing a lot of the recent work preparing for this release.
    See the NEWS below for a brief summary.
    Thanks to everyone who has contributed!
    The following people contributed changes to this release:
      Bruno Haible (1)
      Gavin Smith (1)
      Giuseppe Scrivano (1)
      Jim Meyering (5)
      Karl Berry (12)
      Libor Bukata (1)
      Lukas Fleischer (2)
      Mathieu Lirzin (8)
      Paul Eggert (4)
      Paul Hardy (1)
      Paul Osmialowski (1)
      Vincent Lefevre (1)
    Jim [on behalf of the automake maintainers]
    Here is the GNU automake home page:
    For a summary of changes and contributors, see:;a=shortlog;h=v1.16.2
    or run this command from a git-cloned automake directory:
      git shortlog v1.16.1..v1.16.2
    Here are the compressed sources: (1.5MB) (2.3MB)
    Here are the GPG detached signatures[*]:
    Use a mirror for higher download bandwidth:
    [*] Use a .sig file to verify that the corresponding file (without the
    .sig suffix) is intact.  First, be sure to download both the .sig file
    and the corresponding tarball.  Then, run a command like this:
      gpg --verify automake-1.16.2.tar.xz.sig
    If that command fails because you don't have the required public key,
    then run this command to import it:
      gpg --keyserver --recv-keys 7FD9FCCB000BEEEE
    and rerun the 'gpg --verify' command.
    * New features added
      - add zstd support and the automake option, dist-zstd.
    * Miscellaneous changes
      - automake no longer requires a @setfilename in each .texi file
    * Bugs fixed
      - When cleaning the compiled python files, '\n' is not used anymore in the
        substitution text of 'sed' transformations.  This is done to preserve
        compatibility with the 'sed' implementation provided by macOS which
        considers '\n' as the 'n' character instead of a newline.
        (automake bug#31222)
      - For make tags, lisp_LISP is followed by the necessary space when
        used with CONFIG_HEADERS.
        (automake bug#38139)
      - The automake test no longer fails when localtime
        and UTC cross a day boundary.
      - Emacsen older than version 25, which require use of
        byte-compile-dest-file, are supported again.
  • GNU Parallel 20200322 ('Corona') released [stable]

    GNU Parallel 20200322 ('Corona') [stable] has been released. It is available for download at:

    No new functionality was introduced so this is a good candidate for a stable release.

    GNU Parallel is 10 years old next year on 2020-04-22. You are here by invited to a reception on Friday 2020-04-17.

  • GNU Chinese Translators Team - News: Welcome our new member - Nios34

Screencasts/Audiocasts/Shows: LMDE 4 Debbie Run Through, Linux Action News and Chris Titus Tech on KDE

Filed under

AMD: System76 Laptops, PPIN and Linux 5.7 Graphics Driver Code

Filed under
  • System76 May Offer AMD Ryzen Laptops When They Begin Their Own Manufacturing

    System76 is preparing to begin shipping their new Lemur Pro laptop in early April. This will be their most open laptop yet albeit still based on Intel. But it looks like when they move on with their ambitious plans to begin manufacturing their own devices, we may finally see a System76 AMD-powered laptop.

    The new Lemur Pro is arriving in early April and talks up ten hours of video playback time, light Internet activity for 16 hours, or Vim coding for 21 hours off their expanded battery. The new laptop features Intel 10th Gen Core i5/i7 CPU options, a 14.1-inch 1080p display, up to 40GB of DDR4 memory, dual M.2 SSDs, and USB 3.1 Type-C + USB 3.0 Type A.

  • AMD Plumbing Linux Support For Reading The CPU's Protected Processor Identification Number (PPIN)

    Going back to Ivy Bridge processors, Intel has supported "PPIN" as the Protected Processor Identification Number as a globally unique identification number set in the factory. It turns out recent AMD CPUs are also supporting PPIN and that reading their value is about to be supported on Linux.

    The Protected Processor Identification Number (PPIN) is effectively a unique serial number for each processor. One of the intended use-cases for PPIN is in large data centers and multi-socket servers to be able to more easily identify a particular CPU, especially in case of problems. At least in Intel's case, Intel can also translate a customer's PPIN number back into the fab and production run of that particular CPU along with any other internal data in isolating any issues. Intel has supported reading the PPIN under Linux for years and plumbed it into the MCE (Machine Check Exception) code for allowing server administrators to potentially more easily identify a particular CPU in the event of problems as well as tracking CPU inventory.

  • AMD Begins Focusing On Bug Fixes For Linux 5.7 Graphics Driver Code

    Passing the point that new feature code is generally permitted into DRM-Next for in turn hitting the next mainline kernel merge window, AMD's open-source graphics driver developers have been turning their attention to bug fixes for all the new feature code set for Linux 5.7.

Linus Torvalds Makes Big Optimisations

Filed under
  • Linus Torvalds Just Made A Big Optimization To Help Code Compilation Times On Big CPUs

    For those using GNU Make in particular as their build system, the parallel build times are about to be a lot faster beginning with Linux 5.6 for large core count systems. This landing just after the AMD Threadripper 3990X 64-core / 128-thread CPU launch is one example of systems to benefit from this kernel change when compiling a lot of code and making use of many GNU Make jobs.

    Linus Torvalds himself changed around the kernel's pipe code to use exclusive waits when reading or writing. While this doesn't mean much for traditional/common piping of data, the GNU Make job-server is a big benefactor as it relies upon a pipe for limiting the parallelism. This technique though employed by the GNU Make job server is inefficient with today's high core count CPUs as all of the spawned processes are woken up rather than a single reader to be woken upon a writer's release.

  • GNU Make 4.3 Speeds Up Linux Kernel Builds, Debugger/Profiler Fork Released

    Linus Torvalds himself "changed around the kernel's pipe code to use exclusive waits when reading or writing," reports Phoronix.

    "While this doesn't mean much for traditional/common piping of data, the GNU Make job-server is a big benefactor as it relies upon a pipe for limiting the parallelism" -- especially on high-core-count CPUs.

7 Unusual Linux Distributions To Try While Quarantined

Filed under

This Coronavirus (Covid-19) has been spreading all over the world and forcing people to remain in their homes in fear of reaching them. At the first few days, one will be happy to stay in home after long continuous months of work, but you’ll probably get bored after the first week.

Luckily, there are many activities and things to do with Linux and the open source world if you are bored. The most entertaining one could be trying “special” Linux distributions in the wild in order to see what they offer.

To help you spend your time during the quarantine, we’ve prepared a list of 7 unusual Linux distributions that you can have fun with. We’e also added URLs to online in-browser testing pages so that you can try them before you actually download them to your PC. Enjoy!

Read more

Syndicate content

More in Tux Machines

How to Install Latest Java 14 in Ubuntu 18.04, 20.04, Linux Mint

Oracle Java 14 is released. And here's how you can download and install in Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, 19.10 and Linux Mint 18.x, 19.x. Read more

IBM/Red Hat Leveraging COVID-19 for Marketing

  • Automation against the COVID-19 crisis: 4 suggestions to get started

    Without public cloud computing, we wouldn't be able to face the pandemic in the way we are. On-premise data centers have never scaled this fast, and not even the most rigorous capacity planning in the world would have forecasted the resource consumption we face today. News outlets covering the outbreaks would have not been able to cope with an entire planet constantly refreshing the home page in the hope of reading good news (that’s what I do). Hospitals and research facilities publishing dashboards full of virus spread statistics would not have been able to acquire the massive datasets they have as fast as they did. Videoconferencing and streaming platforms wouldn’t be able to serve, exceptionally so far, the enormous amount of the human workforce suddenly forced to work from home. And what is public cloud computing in the end? An astonishing, unprecedented, disciplined, methodical, pervasive amount of automation (and a few other, equally critical things). Automation doesn’t just allow us to cope with the urgency and scale of the demand in the public cloud and inside our data centers. Automation is helping organizations around the world to transition to a work-from-home productivity model. Without automation, the security teams would be hard pressed to install VPN clients across millions of laptops, tablets and smartphones all around the world.

  • UNESCO CodeTheCurve global virtual hackathon: Build your skills and help make a difference

    At least 1.5 billion young people are currently at home due to school closures relating to the global COVID-19 pandemic. One hundred eighty-three countries have been disrupted. Students, parents, and communities continue to cope with social isolation, while exploring how to maintain a sense of normalcy with the sea of online learning content, collaboration tools, and social media platforms available for the world to consume. Conversations that once took place face-to-face have now moved virtual. For students, parents, teachers, educators, and others, home confinement has brought the additional attention and need for an innovative learning paradigm, one centered on practical and real-world digital skills. This is a time that’s especially challenging for the 49% of the global population who lack access to broadband internet. For those who are online, the spread of misinformation and disinformation relating to COVID-19 complicates the situation even further by diminishing confidence in public health guidance by authorities, and has given rise to panic and uncertainty.

i.MX8M Mini Pico-ITX board has a DSP for voice control plus optional AI

Estone’s “EMB-2237-AI” Pico-ITX SBC integrates a “SOM-2237” module that runs Linux on an i.MX8M Mini and adds a DSP for audio. The carrier adds LAN with PoE, MIPI-DSI and -CSI, mics and speakers, and an M.2 slot with Edge TPU AI support. Estone Technology’s EMB-2237-AI is the first SBC we’ve seen to combine the 100 x 72mm Pico-ITX form-factor with an NXP i.MX8M Mini SoC. Other Mini-based SBCs include Seco’s SBC-C61, Boardcon’s sandwich-style EM-IMX8M-MINI, and Garz & Fricke’s recent Tanaro, among others. Read more

Python Programming

  • Python 2.7.18rc1

    Python 2.7.18 release candidate 1 is a testing release for Python 2.7.18, the last release of Python 2.

  • Python 2.7.18 release candidate 1 available

    A first release candidate for Python 2.7.18 is now available for download. Python 2.7.18 will be the last release of the Python 2.7 series, and thus Python 2.

  • Python Software Foundation: Python Software Foundation Fellow Members for Q1 2020

    Congratulations! Thank you for your continued contributions. We have added you to our Fellow roster online. The above members have contributed to the Python ecosystem by teaching Python, creating education material, contributing to circuitpython, contributing to and maintaining packaging, organizing Python events and conferences, starting Python communities in their home countries, and overall being great mentors in our community. Each of them continues to help make Python more accessible around the world. To learn more about the new Fellow members, check out their links above. Let's continue to recognize Pythonistas all over the world for their impact on our community. The criteria for Fellow members is available online: If you would like to nominate someone to be a PSF Fellow, please send a description of their Python accomplishments and their email address to psf-fellow at We are accepting nominations for quarter 2 through May 20, 2020.

  • How to Make an Instagram Bot With Python and InstaPy

    What do SocialCaptain, Kicksta, Instavast, and many other companies have in common? They all help you reach a greater audience, gain more followers, and get more likes on Instagram while you hardly lift a finger. They do it all through automation, and people pay them a good deal of money for it. But you can do the same thing—for free—using InstaPy! In this tutorial, you’ll learn how to build a bot with Python and InstaPy, which automates your Instagram activities so that you gain more followers and likes with minimal manual input. Along the way, you’ll learn about browser automation with Selenium and the Page Object Pattern, which together serve as the basis for InstaPy.

  • Sending Encrypted Messages from JavaScript to Python via Blockchain

    Last year, I worked with the Capacity team on the Crypto stamp project, the first physical postage stamp with a unique digital twin, issued by the Austrian Postal Service (Österreichische Post AG). Those stamps are mainly intended as collectibles, but their physical "half" can be used as valid postage on packages or letters, and a QR code on that physical stamp links to a website presenting the digital collectible. Our job (at Capacity Blockchain Solutions) was to build that digital collectible, the website at, and the back-end service delivering both public meta data and the back end for the website. I specifically did most of the work on the Ethereum Smart Contract for the digital collectible, a "non-fungible token" (NFT) using the ERC-721 standard (publicly visible), as well as the back-end REST service, which I implemented in Python (based on Flask and The coding for the website was done by colleagues, of course using JavaScript for the dynamic elements.

  • Unpacking in Python: Beyond Parallel Assignment

    Unpacking in Python refers to an operation that consists of assigning an iterable of values to a tuple (or list) of variables in a single assignment statement. As a complement, the term packing can be used when we collect several values in a single variable using the iterable unpacking operator, *. Historically, Python developers have generically referred to this kind of operation as tuple unpacking. However, since this Python feature has turned out to be quite useful and popular, it's been generalized to all kinds of iterables. Nowadays, a more modern and accurate term would be iterable unpacking. In this tutorial, we'll learn what iterable unpacking is and how we can take advantage of this Python feature to make our code more readable, maintainable, and pythonic. Additionally, we'll also cover some practical examples of how to use the iterable unpacking feature in the context of assignments operations, for loops, function definitions, and function calls.

  • Spin the table: Solution!