Desktop Linux: Unveiled Chapter 3: Preparing to Install Linux

Desktop Linux: Unveiled is a series of posts that show how to start using Linux.

Previous Chapter: Desktop Linux: Unveiled Chapter 2: Common Linux Distributions

In this post, acquiring a computer on which to install Linux, as well as downloading and writing a Linux distribution on a USB stick, will be shown. Fedora Desktop Edition will be used as an example, although at this point, setting up the installation USB stick can be done with any other distribution — which is most of the common ones — that allows for such an installation.

(Note for future reference, graphical installation with other distributions will be similar, but each may have some nuances and differences between them.)

Hardware — the computer on which Linux is to be installed

First, I recommend that as a newcomer, whichever linux you decide to install, that you decide to do the installation on a separate computer, such as an old computer, on its own. By doing this, you will not reduce space on the hard drive / SSD on which your current OS is installed, especially in taking account the space for data you may to transfer over to the Linux system, nor will you have to deal with the intricacies and occasional perils of dual booting or data loss on your current computer setup, nor will you have deal with the myriad and occasionally confusing issues that may surround virtualisation. Finally, by having a separate computer to “play” with, you will be able to start over again in the event that something goes wrong, or if you decide that you’d like to try a different Linux distribution.

The current (2024) webserver for www.malak.ca

The above photo is taken from a page from a recent (February 2024) presentation the author made about their web server, which hosts https://www.malak.ca (the website hosting this blog), using an old computer with a BIOS creation date of 2008.

Acquiring a computer:

“Old” computers are not unusually difficult to acquire; you may already possess one in storage.

  • Use an old computer you may be wishing to replace, or already be in the process of replacing, or even a several years-disused computer of which you may not yet have disposed;
  • Buy, or barter for, a used computer from family or friends;
  • Buy a used computer from a local computer repair person, who may have a storefront and may sell refurbished computers;
  • Speak with your employer; depending on their policies, they may be willing to sell you older equipment of which they would like to divest themself(ves);
  • Check reputable online markets;
  • Buy a new dedicated computer (only recommended once you become convinced of the cost/benefit regime).

Check the “minimum requirements” page of the distribution you choose; my current bare minimum specs are a Core 2 Duo 64bit processor, 4GB memory, 40GB hard drive (the current, as of late 2023, Fedora Workstation recommendation), and a spare USB 2.0 port (such as after other common USB peripherals you may be using, like a mouse and keyboard), in order to use the installation USB stick (which will be shown lower down in this post). (As desired or required, don’t forget to get a used screen.)

For the purposes of introduction to, and the exploration of, Linux, the old mechanical hard drive with such an old computer is likely adequate; however, SSD cards and extra memory will dramatically increase performance of older equipment. Further, as of posting, SSD cards in the 250GB range are typically very affordable to either add on later, or purchase for immediate use including installation of the system, while memory cards appropriate to the motherboard are usually readily available and inexpensively as per the above list regarding sourcing an old computer.

Downloading and creating a USB installation stick:

A USB stick is required for this step; Fedora’s installation image as of version 39 in late 2023 is approximately 2GB; hence a 4GB USB stick would be recommended going forward.

I am recommending the use of Fedora Media Writer to create the installation media, which can be run on Windows or Mac (as well as Linux, of course!) Should you choose another distribution, you can use a downloaded image from another distribution’s download page (see Desktop Linux: Unveiled Chapter 2: Common Linux Distributions for a few suggestions of other distributions; see below regarding choosing other Fedora desktops, or creating installation media of another distribution).

(Note that the following screenshots may have been created out of order, however are presented in the order required for the narrative.)

To get the Fedora Media Writer, visit https://getfedora.org (I start off using screenshots from Windows):

Click on the circle indicating the latest release (in the shot above, 39), which will bring you to the following screen.

On this screen, click on “Download Now”; don’t worry, you aren’t committing yet.

On the following page, click on the green download button for Fedora Media Writer, either for Windows or for Mac:

A licence agreement window will pop up. This is for the Gnu Public Licence version 2, the licence under which the Fedora Media Writer is licensed. Click on “I agree”.

The next screen will ask where to install Fedora Media Writer on your computer, and it will suggest a location to install it on your hard drive. Click “Install”:

Once Fedora Media Writer is installed, click on “Next”:

… and click on “Finish”:

Launch Fedora Media Writer:

You may be asked to allow the app to make changes to your device. Click “Yes”.

At this point, you can either choose to have the Fedora Media Writer download Fedora automatically, or, you can download a distribution of your choice, and ask Fedora Media Writer to use that distribution instead (the “Select .iso file” option):

Going with the “Download automatically” option above, which by default chooses a Fedora distribution, on the next page (below), choose “Official Editions”:

Should you wish to try another desktop instead of the standard Gnome Desktop in Fedora Workstation Edition, you can choose the “Spins” option above, which will list the following drop-down menu:

Under the choice taken, the next screen is the “Write Options” for the USB stick, which at this point should be inserted in a USB port. Choose the latest version of Fedora (in this case, 39), the hardware architecture, and the USB stick to which you wish to write the installation media:

Click “Write” in the above screen, and Fedora Media Writer will begin writing to the USB stick:

The screen will automatically change to indicate that the written data is being checked:

Once finished, you can click on “Finish”.

Should you wish to try out Fedora without installing it on your computer first, you can follow the instructions on the screen to restart the computer and try a live, temporary version of Fedora. This will not affect your hard drive in the least, unless you choose to install … which I am not recommending, since I am recommending that you install on a completely separate computer (see beginning section).

Next Chapter

Chapter 4 will show the installation of Fedora Workstation.

Desktop Linux: Unveiled Chapter 1: What is Linux?

Desktop Linux: Unveiled is a series of posts that show how to start using Linux.

In this post, Linux will be briefly explained and briefly compared to other common desktop computer operating systems.

First, what is an operating system?

An operating system (OS) is the software that makes a computer run, like Microsoft Windows, or MacOS. It is typically able to provide a way for users to operate the computer, and translate the instructions so the computer can run them. It also coordinates all the computer’s resources such as its CPU (central processing unit), memory, hard drive, and other components of the computer, as well as coordinate the user’s programs and data.

What is Linux?

Most people understand “Linux” to be a complete operating system like Windows or MacOS. However, strictly speaking, “Linux” is in fact just a part of the operating system, the central part called the kernel. Common usage has had “Linux” to informally refer to the whole operating system.

“Distributions”, (usually) complete and integrated collections of software built around the Linux kernel, can be legally built and distributed by anyone with the abilities and inclination because of the way the Linux kernel and the other software usually used with it are licensed, although most people choose to use an established distribution.

Distributions vs. Operating Systems

Linux distributions usually contain full linux-based operating systems, as well as extra software often not traditionally included in operating systems, such as office suites, media players, graphic design software, educational software, games, various apps, as well as other software such as server software. Although not all of the software is installed at the same time, they are typically all easily available in central locations called “repositories”, similar to app stores on MacOS and Windows; much is available free of charge, too!

Free Software vs. Proprietary Software

A lot of software available under Linux — and a growing amount under Windows and MacOS as well — is called Free Software, or sometimes Open Source Software. As a contrast, a substantial amount of Windows and MacOS software is called Proprietary Software.

Many people hear the expression “Free Software” and assume that it means that it is free of monetary charge. Some may even question its quality on the basis of such a lack of price.

Although free software is often (though not always) given away free of charge, and most common free software is of very high quality, the expression “Free Software” in fact refers to “freedom”, specifically various freedoms granted to the users of the software. These freedoms include the freedom to run the software for whatever purpose you wish, the freedom to study how the program works as well as make any changes that you wish, the freedom to share the software with others, and the freedom to share software you’ve modified with others.

Some of these freedoms require that the source code, or “recipes” that people can read and understand, be available to anyone and everyone.

The various licences used to allow this often tend to foster cooperation between various parties, often allowing groups who might sometimes be competitors to also cooperate with each other, creating common software that each group can then package together to present according to their own vision. Within this cooperation, software sometimes is developed quickly, and often many programming bugs are found and corrected quickly.

Some common free software licences are the GPL and the LGPL, which specifically give the recipient of the software the above freedoms, and require the sharing of the source code to the software, and any changes you may have made to it, when distributing the software. Other common free software licences are the BSD licence, the MIT licence, and the Apache licence, which have very few requirements but which permit users to use, modify, and distribute the software, while retaining copyright and some disclaimers notices.

In contrast, proprietary software is usually controlled by very restrictive licenses that keep the source code hidden, doesn’t allow users to distribute the software to whomever they please, doesn’t allow users to modify it or fix bugs even if they are able to were they to have access to the source code, and may even dictate how the software may or may not be used.

Next Chapter

Chapter 2 will list some popular Linux distributions that people use on their computers.

Présentation au sujet de mon serveur web — 06 février, 2024

Ceci est une petite note afin de souligner la présentation au sujet de mon serveur web que je vais donner ce soir au Linux Meetup à l’ÉTS au centre-ville de Montréal.

C’est intitulé “Deux frères, deux serveurs” et représente ma partie d’une présentation double avec mon frère.

*****

Just a little note to draw attention to my presentation about my webserver that I will be giving (in French) tonight at my local Linux Meetup at ÉTS in downtown Montreal.

It is titled “Deux frères, deux serveurs” (yes, it’s in French, and means “Two Brothers, Two Servers”), and the presentation represents my part of a double presentation with my brother.

Updating a (very small) fleet of computers to Fedora 39

I have been using Fedora Linux since 2008. I would update by re-installation my computers regularly to new versions after end-of-life. Complete, manual re-installs ended in 2018 or 2019 when I started using Fedora’s command line upgrade feature after having observed it in action. Throughout it all, I have sometimes experienced technology change adventures along the way.

I have five active computers, all which were ready to update to Fedora 39 in November, 2023: Three were running on Fedora 37, and two were running Fedora 38. Normally, I try to keep to the same version of Fedora on my fleet of computers — although I will format with the current version of Fedora mid-stream when I format a new or a new to me computer, or a new hard drive or ssd, and try to use a version (that of the majority of computers) until end-of-life, usually roughly 12 to 13 months. I settled on odd numbered versions several years ago, on Fedora 15, by happenstance, and a desire not to be reformatting different computers every six months depending on when their end of life fell.

As such, I proceeded to upgrade my computers.

Since the recommended method of update for Fedora is by the command line DNF upgrade command (here’s my archive), or to use the graphical method in the “Software” “App Store”, I proceeded to upgrade my machines on the command line.

(Note: Some of the screenshots and photos used in this post were created during the various upgrades, while some were re-created ex post facto for the sake of mounting this narrative.)

Webserver: Fedora 37, Workstation Edition, Legacy BIOS (Dell Vostro 420 Series)

First, I updated my home web server using the above-cited DNF upgrade commands (as root; see further down in this post) :

dnf upgrade --refresh
dnf system-upgrade download --releasever=39
dnf system-upgrade reboot

Note that the upgrade plugin was already present on the server, hence my having omitted the step of installing the plugin. Important note, minor in my head although critical to my experience, is that my webserver uses the Workstation Edition, not the Server edition.

All went smoothly, with one small quirk: After the upgrade and later that evening while at a restaurant, I wanted to check my website for something, and it was down. I thought little of it beyond the frustration in the moment. When I got home, I let my brother know in the hopes he might help … but in the process, I saw that the machine’s light in the power button was amber, and I had an idea that there was a software power management issue. I pressed the button, and the machine popped to life; I then went into the power management part of the settings in the gnome settings, and found the “automatic suspend” setting had been turned on to “when idle”.

This was odd. This was an established system I originally installed back in April, 2021, when I upgraded the machine’s mechanical hard drive to an SSD. To be clear, powersaving on idle was *not* a previous setting (ie. the server was always to be on to be a 24/7 webserver, the machine’s only active function, besides its passive function as a backup server), and it appears to have been a change in default settings somewhere around Fedora 38; it appears to be a power saving policy (here’s my archive).

VPN Server: Fedora 38, Server Edition, Legacy BIOS (HP Compaq dc7700 Small Form Factor)

My next upgrade was also fairly simple and straightforward. It was on a machine I found in a building slated for demolition in about 2016, and is a P4-3.4GHz single core machine, which I had been using as a world community grid node for years, but which had been inactive for months, after there having been little work for it for months when WCG moved from IBM to the University of Toronto. (I also suspect that the UofT may have decided to shift most of its tasks to GPUs, which I don’t think the machine possesses, and in any case I did not properly research let alone confirm this, beyond the apparent lack of work units being sent to it.)

A problem I’d been having for years with this machine was that it would not reboot without manual intervention, apparently due to a time error; this suggested a dead bios battery. I tolerated this for years, but this summer I finally installed a new battery in the machine, resolving the issue.

I reformatted the machine with Fedora 38 Server Edition given its age and lack of memory, and I renamed the machine, having some misgivings about its former name. I offered its use to my brother, who uses it as a VPN server for the household here, particularly to simplify assisting our mother in her computer use. I generally leave the machine alone: VPNs are a nebulous thing I don’t understand very much at all; I understand SSH filesystem tunnelling, and the parts between that and VPNs are too nebulous for me to understand.

But to wit: Up to this point I was neglecting the machine, letting my brother deal with it, but as a result the machine would often go unupdated for weeks at a time. In mentioning that I’d embarked upon the process of upgrading my computers all to Fedora 39, I mentioned that I liked to keep my fleet of computers all aligned on the same version of Fedora; I mentioned that at that time, due to new installs, I had two out of five computers on Fedora 38, while the rest were still on Fedora 37. With the comment that I wanted to keep my fleet on the same version, my brother encouraged me to maintain responsibilities for updates and yes indeed to upgrade this machine in particular, to keep it in line with the rest of my computers.

As mentioned, the upgrade went smoothly and with one exception was rather unremarkable: The suspend on idle mentioned earlier was not invoked, which I learned while researching the issue above is a feature not invoked in the Fedora Server Edition (here’s my archive).

Dell XPS 13 Laptop: Fedora 37, Workstation Edition, UEFI

Next, I updated my Dell XPS 13 (note: 2021). Again, this was an easy process with the dnf upgrade command.

One of the items to do in a couple of lists to do after installing Fedora 39, “17 Things to Do After Installing Fedora 39” (here’s my archive) and “Things to do after installing Fedora 39 Workstation” (here’s my archive) was to do firmware updates, using the following commands:

sudo fwupdmgr refresh –force
sudo fwupdmgr get-updates
sudo fwupdmgr update

Which, of course, I did. (There were indeed some firmware updates to be installed.)

Here’s what the process looks like on my XPS13 (Screenshots and photos taken after the fact, on a subsequent series of firmware updates):

Firmware updates a few weeks after upgrade
Firmware updates a few weeks after upgrade
Firmware updates a few weeks after upgrade

At this point, I was invigorated by being able to perform firmware updates on my XPS 13 laptop (which admittedly had not been the first time I had done so under linux, but no matter.)

However, a couple of weeks later, I noticed that an extension wasn’t working: My XP13 has a touchscreen display, and Gnome has an onscreen keyboard that pops up contextually when text is to be entered, occupying a major amount of screen space; I had been using the “disable-touch-osk” extension by sulincix, which stopped working with the upgrade to Fedora 39.

On screen keyboard disabling extension not working

This leads to a gripe I have for the Gnome developers: Stop breaking extensions with each new version of Gnome, or provide *some* kind of stable API or environment or whatever is needed so that the extension developers don’t decide to abandon their extensions because Gnome keeps on shifting so much that they have to work excessively hard every six months just to maintain their extension.

This led to the next two computers I have, which are a 2015 Acer laptop, and a 2014 Dell Inspiron desktop.

Acer Laptop: Fedora 37, Workstation Edition, UEFI — but using Legacy BIOS

I have been having problems using UEFI in my Acer laptop since I received it new in 2015; the Fedora live media would boot up, and I could install Fedora under UEFI; however, it would never boot up afterwards. My only solution seemed to be to use legacy bios. Nonetheless, hope springs eternal, this was the time to try again to install under UEFI.

I should note at this point, as mentioned above, that my home server (2008) and my VPN server (2007) are both rather old computers and pre-date UEFI and use legacy BIOS, while my XPS 13, Acer laptop, and Dell Inspiron desktop, are all UEFI machines. I make these distinctions because of conversations I had in which on the one hand, it was suggested that I perform a baremetal reformat of the Acer laptop in order to sidestep a problem I had been experiencing when I’d allowed the battery to drain completely, forcing a reset to defaults in the BIOS and hence to UEFI boot, making my setup with legacy-BIOS unbootable; on the other hand, I concluded “It’s 2023; it’s absurd not to be using UEFI on UEFI machines.” (Of course, the use of older, legacy machines predating UEFI are a different issue altogether, and for them, said point is moot.)

In addition to this comment about using UEFI, and the potential to have any UEFI firmware upgrades as discussed above, I decided that my Acer laptop needed to receive a baremetal format, given the accumulation of a lot of software on the system that I didn’t use (many though hardly all installed because of a presentation I gave in 2021); I decided that instead of package hunting and manually uninstalling them all — including dependencies that decide not to uninstall — it seemed more efficient and effective to do a clean install.

Fast forward to this round of upgrades, I upgraded the installation using a downloaded Fedora 39 image, and I went through various upgrades and setups, such as Gnome extensions, and some software installations. Suddenly I remembered that I had not changed the boot sequence from legacy bios to UEFI, so … I started over.

Several installation attempts later, including trying Fedora 36 (with an intention of upgrading through to version 39) based on some advice playing around with the various BIOS settings trying to get just “the right” settings, none worked, and I finally resigned to reinstalling yet again under, and continuing to use, legacy BIOS. Sigh.

Setting the Boot sequence to Legacy BIOS

Before setting up in legacy mode, I had a flash of inspiration: Since I was nonetheless able to boot the live media under UEFI (which I knew wouldn’t otherwise be used afterwards), I attempted a firmware update as per the above. To my mild disappointment, there weren’t any firmware updates for my Acer Laptop:

I continued with the installation under Legacy BIOS mode, and set up the desktop with the various Gnome Extensions, installing software not in the base installation, and customizing settings and the like.

I once again faced a few pet peeves I have about how Fedora is set up (incidentally through Anaconda, but by itself not Anaconda issues, best I can tell):

  • Fedora uses sudo by default, which I don’t like: I go by the notion of “Don’t be afraid of root; respect it, but don’t be afraid of it” — when you have to do root-y stuff, log into root, do what you have to do as root, and then sign out of root. (Yes, I am aware of the advantages of sudo, even beyond its convenience and short term elevations of privileges, such as logging of *who* elevated their privileges to do *what*; I just wasn’t taught that way, and on a single user system, I don’t see much value to it; hey maybe that’s just me.) As such, with each new install I perform, I have to, ironically using sudo under my default user account, assign a password to the root account, and then, remove my default account from the wheel group.

First, a password was set for the root user:

Then, after logging into the root account, I edited the /etc/group file (here’s my archive) …

… by removing my user account from the wheel group (highlighted):

  • The next thing that irked me was that in Fedora Workstation Edition, it seems that Anaconda no longer has an option (read, without the qualifier “it seems”) to set the hostname during the installation. While I understand that it is a trivial enough thing to set as per the following, under the default régime of the default primary user having sudo privileges … it seems to me that this is the kind of thing that should still be in the system installation part. (As in, I wonder how many new users have “fedora” as their machine name for a significant amount of time if not forever, being unaware that it is (only) a default placeholder name, unaware that it can be changed, and unaware of how to change it.)

Fortunately, this is easily set in the Settings / About menu, *if* you don’t remove your default user from the wheel group, or at least haven’t yet, and therefore still have sudo privileges:

Note that in the above screenshot, the option appears shaded out because since I had already removed the primary user from the wheel group, effectively disabling sudo, my (default user) account did not possess the requisite permissions to edit the hostname.

Changing the hostname on the command line is also not particularly difficult, using the command “hostnamectl set-hostname new-name”

… or, editing the /etc/hostname file, by entering the command “nano /etc/hostname” as the at the command line and as the root user:

Then, once in the /etc/hostname file, enter the host name you want (in the case of my Acer laptop, “reliant”, as in the USS Reliant from Star Trek: The Wrath of Khan movie.)

(More on changing the hostname can be found at the Fedora documentation page (here’s my archive) and techadmin.net (here’s my archive), among many other sites)

And on this install, I noticed that the extension Vertical Overview by Ralthuis, which among other things, allowed for the dock on the Activities page to remain vertical and on the left edge of the screen, instead of on the bottom of the screen, was broken, something I hadn’t noticed when upgrading my XPS13. Note: Check lower down in the section for my desktop.

Dock moved to the bottom of the activities screen due to a broken extension (note screenshot recreated after the fact)

On this point, I installed a number of Gnome extensions that I like, unfortunately not the one mentioned above, as well as adding apps to the dock, and other optimizations I commonly perform.

After these items, I installed Gnome Evolution, modified the installation’s setup such as pinning apps to the dock, and checked the power management issue listed above. During the install process, I was able to specify that third party repositories could be enabled; after install, I installed the free and non-free repositories from rpmfusion, as well as Rémi’s RPM repository. I transferred my data from the backup I had created earlier onto my laptop. (See next section on my Desktop).

Finally, I had to activate the flathub repository (here’s my archive) in order to be able to install software that I use that is distributed as flatpaks, such as Signal (a secure texting app):

… and then Signal was installed from the Software App:

Minor note: I don’t recall having to enable the flatpak.org repositories before, although I may be wrong.

This leads to my final computer to upgrade, my desktop:

Dell Inspiron: Fedora 38, Workstation Edition; installed Legacy BIOS, Machine UEFI

When I purchased the computer new in 2014, Fedora 21 installed easily under UEFI.

In the summer of 2023, I upgraded the mechanical drive to an SSD, and I had installed Fedora 38 the SSD; the Dell Inspiron had difficulty recognizing Fedora 38 media, so I took an old pre-UEFI computer, inserted the SSD, and installed Fedora on the SSD. I don’t recall if I knew to change to legacy BIOS once I transferred the SSD to the Dell, or after an error or two, I realized the error, and made the change in the setup. The installation worked, although I was slightly irked.

Come time to upgrade to Fedora 39, I performed the command line DNF upgrade covered earlier, dealing with some of the consequences like the power management and idling issue above. Additionnaly, I noticed something else that irked me regarding the power button (changing it from “Suspend” to “Power Off”:

“Power Button Behavior” setting changed from “Suspend” to “Power Off”. Call me old school …

However, in the intervening time I had experienced the UEFI crisis above, so I first performed a backup of my data to my backup folders on my web server, mildly surprised by how much I was behind in my manual backups.

Unfortunately from this point on, my desktop proved to be the most challenging to upgrade properly.

Having downloaded a copy of the install media for Fedora 39 and burned it onto a usb stick, as well as still having the Fedora 38 Server Edition DVD (which I had forgotten was the F38 Server Edition, instead erroneously assuming that I had gone to the trouble of burning the F39 Workstation Edition onto the DVD), and I tried to install Fedora 39 from both media. I tried several settings in the setup menu, to no avail: The motherboard categorically refused to recognize either, simply displaying an error message vaguely communicating a sense that it didn’t like the media. In looking through the internet for pages on the subject, including the Dell website, I was mildly piqued that solutions commonly referenced burning the usb stick using particular software under Windows (to which strictly speaking I have access, but not on the computer in question), and often just assuming that there would be a Windows partition on the computer. Putting aside knee-jerk reactions, I assumed that this would not address the issue since the solutions appeared to assume a conflict with Windows which could not exist on my machine, or that the Fedora media-writing tools were inherently unable to operate correctly.

I gave up for the moment, changed the boot settings back to Legacy BIOS, and used the untouched Legacy BIOS install for roughly a week while dealing with other upgrades and life in general.

After roughly up to a week, I remembered something I’d read a week or two earlier that said that the UEFI shim for Fedora versions 37 and 38 (and I presume, given my experience, Fedora 39 as well), was not working for some motherboards “due to a difficult certification process for this component“, (here’s my archive) and that a workaround was to install Fedora 36, whose shim was known to work, then proceed through the command line upgrades to Fedora 39.

Fedora 36 was downloaded and burned on a usb stick, and the settings in the boot menu were changed back to UEFI. Fedora 36 was installed — successfully! …

… and the updates were performed, after which the command for the version upgrade was performed, to bring it to Fedora 38. However, the system would not reboot on its own; a quick fsck command corrected some “dirty code”, which it corrected, and I changed some boot settings about booting and automatic on at certain dates. Once this was done, the upgrade to Fedora 38 continued:

DNF upgrade command working; yes, my screen is dusty!

I again performed a dnf upgrade to Fedora 39, and had to repeat the fsck command in order for the system to properly reboot.

To correct this rebooting issue, an empty file named “fsck” was created in my home directory.

Backups were restored, and work similar to what I’d performed on my Acer laptop were performed regarding sudo, root, renaming of the box, evolution, extensions, pinning apps to the dock, and the like were performed.

After yet another week or so, I noticed that my backups had not fully been transferred, and began transferring the balance. In the process, my computer indicated that it did not have enough space on the hard drive; I suspected that during the previous install that I had not correctly removed the previous install, so I reformatted yet again.

So I repeated the installation and upgrade process, this time ensuring that all space on the drive was reclaimed, and repeated the above processes, both specific to the computer as well as other things generally required as part of the upgrade.

During the initial setup, I discovered an extension that brings back the vertical view: V-Shell (vertical workspaces) by GdH, and it seems to do what I want, although on the desktop there is a setting that brings up the (vertical) dock, workspaces, and app search space over the workspace; comparison with another setup allowed me to find the setting I wanted.

And, to repeat myself: Gnome, do you hear me? Stop breaking extensions!

Now — so far — the computer seems to be working, but as this whole process over a month has shown, I should give it at least a week to find out if there are any other issues.

Final Thoughts

I don’t read the upcoming changes for new versions, nor do I research in advance problems that people have been having. I discover the problems, changes, and challenges along the way, and as such for me Fedora reveals itself as per my usage and discoveries — no doubt leaving a lot hidden to me — not only over its roughly 13 month lifespan, but also over the first few weeks of using it, and, interestingly, over the installation process itself, especially when it’s over several machines of different eras and manufacturers and technologies.

As this round of upgrades in particular has shown, as well as years of using Fedora Linux, using Fedora Linux is an exercise in bleeding edge.

Now, barring unforeseen changes, additions, and the like, I’m looking forward to roughly a year of Fedora 39 goodness!

New malak.ca internet connection

www.malak.ca is hosted by myself on an old desktop computer in my bedroom, using my home internet connection. The general specs are:

  • Dell Vostro 420 Series (64bits) — BIOS date of October 24, 2008
  • Intel(R) Core(TM) 2 Quad CPU @ 2.66GHz (with hyperthreading), with a clock speed of 333MHz; L1d cache 128KiB (4 instances); L1i cache 128KiB (4 instances); L2 cache 6MiB
  • 8GB (4 x 2GB) memory, clock speed 800MHz
  • HD: 240GB SSD (OS and blog)
  • External USB hard drive: 1TB (static website data and other stuff)

Currently, it is running Fedora Linux version 37 Workstation Edition. Using the Server Edition for such a small, home-grown vanity project seemed unnecessary given a comfort level with the Workstation Edition and, since at its core, the two editions are subsets of the same OS. Ultimately, missing packages from one edition compared to the other are a “dnf install” command away. (As for a longer-term distro, I have always been a Red Hat user, so Debian or an Ubuntu LTS release aren’t interesting to me, while the new community respins of RHEL have neither captured my imagination, nor do they hold sufficient appeal anymore on a technical level.) Hence, I started from the Edition with which I and my brother (the technical heavy-lifter) are familiar, which allows for the (admittedly rare) use of a GUI as needed.

The filesystems are with ext4 on the boot partition of the SSD, as well as on the external USB hard drive; I use ext4 because I’m used to it, but can’t truly say I know, or can recommend, one filesystem from or over the next. UPDATE: I checked the filesystems and … the boot partition is ext4, and the SSD’s data portion seems to have defaulted to BTRFS; there you go, proof I don’t know much about the differences between various filesystems and their comparative advantages and disadvantages. 🙂

I have been hosting my personal website at home since at least December 2017 on a few used computers (I think the current computer is at least the fourth since transferring my website from a friend-of-my-brother’s web hosting service):

  • December 2017: IBM ThinkCentre, circa 2003 era and running CentOS 7.X (retired due to a suspected thermal event)
  • Sometime after 2017 and until April 2020: A Core 2-duo circa possibly 2010 era, running various current Fedora versions up to version 31 (repurposed due to power issues)
  • April 2020: IBM ThinkCentre, circa possibly 2006 or 2007 era, running Fedora 31 to Fedora 37 (retired due to unknown problems causing constant reboot cycles, which were not fully investigated)
  • The current 2008 era computer installed in February 2023: Dell Core 2 Duo, 2008, (described above) using the same SSD and therefore instance of Fedora 37 from the previous IBM ThinkCentre

But to wit, since hosting www.malak.ca myself, it has always been on my home internet service, a DSL line with a (now-)paltry 6.05MBit-ish down and, what, 0.67MBit-ish up capacity, which for reasons beyond the scope of this post had not been upgraded for (best I can remember) over 20 years.

Time marching on and the increase of devices in the household meant that while still minimally usable and just functional, the internet connection regularly became inadequate for daily use, and barely usable for things like weekly simultaneous videoconferences (and with slightly-more-than-tacit rules of “no other internet usage during said weekly dual videoconferences” and the like.) The slow internet access, especially the slow uplink, affected a blogging project started in late 2020 showing pictures of the preparation of my recipes from my collection by limiting photo sizes not only as a good idea for reasons of netiquette, page layout and formatting, but as an outright necessity given the limited upload capacity (thank you WordPress for lazy-loading!)

Well, last week we finally upgraded the internet package to cable with 120MBit down and 20MBit up. Interestingly, we had had a cable modem for a few years in the late 1990’s until it became quite unusable and made a switch to DSL; as a side note, a box, some equipment inside it, and some cable wiring from that period were still attached to the outside of the house, not having been removed at the time, and were still compatible and usable when we got the install last week.

As such, www.malak.ca now has decent upload speeds!

Overview of Open Source / Free Software for PDF files

This post is a translation of and (somewhat of an) adaptation, as well as slight update, of a presentation I gave in November, 2021, at a meeting of my local Linux Meetup. This adaptation includes some extra limited mockups of demonstrations performed live during the presentation.

The presentation was put together using Fedora Workstation (a general purpose version of Linux, in this case specializing in being a desktop workstation), highlighting some software either installed by default, or available in the Fedora Linux and rpmfusion software repositories (“App Stores”). It is therefore not intended to be a complete exposé on all available open source / free software options for PDF, even under Fedora Linux, let alone GNU / Linux in general, or other systems.

It should be noted that the presentation’s original target audience was a French-speaking group of Linux enthusiasts, Linux professionals, and other IT enthusiasts and professionals familiar with Linux. Most of the listed software would typically be available in standard or easily accessible Linux software repositories (“App Stores”). Beyond the world of GNU / Linux, free software is generally available for use on other systems, and, barring instances of a specific given package offered with paid warranty support, are usually also free of charge to download, install, and use.

In the case of the software highlighted in this post, all are either free-of-charge, or represent the free-of-charge version.

The Value of a PDF File

Context / Situation:

Take the case of the exchange of a document between two computers — such as between one running Linux, and another running Windows (or vice-versa) — and each computer is endowed with a different office suite, such as LibreOffice (cross-platform) on one, and Microsoft Office (Windows / Mac) on the other. (Of course, other possibilities exist, such as Calligra Suite (cross-platform), Pages / Numbers / Keynote / etc. (Mac), Corel Wordperfect, Google Docs, etc.)

LibreOffice, and in days gone by, OpenOffice.org, have long been touted as being “compatible” with MS Office; this purported compatibility, however, is disappointingly nowhere near as good as I and many others would like to believe.

As such, each user will open the shared document, which will be displayed according to each suite’s interpretation of the file, and may find that the actual displayed content on their screen could be different — sometimes substantially so — from the intended original display of the document. Text lines may be cut off; fonts may not be available on one or more of the systems, causing font substitution; font sizes may be changed, or text size may be different while substituting a different font due to the lack of the specified font; certain symbols may not be available on some systems; table effects may not work, or objects inserted into tables may not function or be displayed as expected, such as the insertion of a spreadsheet.

Unfortunately, I would estimate that said disappointing lack of “complete and perfect” “drop-in replacement” compatibility is a very common experience in comparing many well-known pieces of proprietary software and their open-source counterparts — not just LibreOffice and MS Office. Personally, as a Linux user, I have experienced this lack of complete compatibility a number of times since beginning to use OpenOffice.org in 2005 and Linux in 2006. Since then, I have also seen the incompatibility in action on a number of occasions during varying presentations under completely unrelated circumstances in which the presentation files were produced in one suite, and attempts made to show them in another were met with varying degrees of disappointment, sometimes leading to complete failure.

Example PDF

The PDF at this link is a somewhat varied although basic document created for this presentation (you will need a PDF viewer); images of the PDF are shown below. It was developed in order to use throughout the presentation as an example PDF to demonstrate the various given points at hand. It should be noted that the PDF was written in French because the presentation’s original target audience was French-speaking.

The following four images are jpeg images of the pages of the PDF document linked to above, and which I created in LibreOffice Presentation. It should be noted that, for the sake of argument, the pages could have been created in another format, such as a word processor, a spreadsheet program, or a drawing program, for instance.

Page 1 — Song lyrics to be displayed for a Karaoke Night

Page 1, the lyrics to a French song, such as one might want to display during a karaoke event among friends

Page 2 — Expenses list for a Luncheon

Page 2, a fictitious list of expenses for a luncheon

Page 3 — TV Listings

Page 3, a fictitious TV listing for an evening, with some Linux in-jokes and some in-jokes specific to the original audience

Page 4 — Flea Market Poster

Page 4, a fictitious flyer for a local flea market

The above document — represented here in jpeg format directly produced from a PDF of the document — was originally prepared in LibreOffice Presentation, and therefore correctly represented the original document.

However, the following four images are jpeg images of the pages of the PDF document I created in Microsoft PowerPoint (you will need a PDF viewer) into which I imported the original LibreOffice Presentation, in order to demonstrate the relative lack of compatibility between, at least in this case, LibreOffice Presentation and Microsoft Powerpoint.

Page 1 — Song lyrics to be displayed for a Karaoke Night

Changes: Text fonts and font sizes, causing text to be cut off the page

Page 1, note the changes in fonts and font sizes

Page 2 — Expenses list for a Luncheon

Changes: Text fonts, and improper translation of symbols

Page 2, note the changes in fonts, font sizes, and improper translation of symbols

Page 3 — TV Listings

Changes: text fonts, font sizes, and lack of background colours in the various cells

Page 3, note the changes in fonts, font sizes, and lack of background colours in the various cells

Page 4 — Flea Market Poster

Changes: Text fonts, font sizes, corrupted translation of spreadsheet table in the centre of the flyer

Page 4, note the changes in fonts, font sizes, and the completely corrupted translation of the spreadsheet table in the centre of the flyer

The value of a PDF:

PDF files are generally well supported across multiple platforms and software, generally regardless of platform, and will usually be displayed in a virtually identical fashion on all systems; in the case of discrepancies, they are usually inconsequential.

However:

There exists a certain perception that, short of having Adobe Acrobat Pro (a commercial, closed source piece software), PDF files are difficult to edit and modify, allowing for a certain view that PDF files are more secure. This is a case of “security by obscurity”, since editing and modification may be performed by many pieces of software, besides but of course including Adobe Acrobat Pro.

PDF files may also benefit from a perception of being less susceptible to viruses and malware, such as through macros. Suspicious files, regardless of format, should always be checked when there is reasonable doubt, particularly under certain environments.

Warning:

Be careful when using some PDF software downloaded from random websites on the internet, or websites which advertise PDF modification: The may add watermarks to the resulting file — this may be undesirable, and embarrassing, particularly if the software, website, or their output aren’t vetted prior to distributing the resulting file.

PDF Software which adds a watermark to edited watermarks when using an unregistered version

Further, websites providing PDF editing services may have very reasonable terms of service for editing your document, limiting their responsibilities toward you. By submitting a document to an external website, it may may not be able to protect personal privacy, nor be able to guarantee to not divulge commercial or industrial secrets or confidential personal information contained in the submitted document: They may become the victim of a hacking, or become the target of legal proceedings, not to mention potential dubious or unscrupulous intentions operators might have to begin with. Or, they may simply be unwilling to formally engage in such responsibilities in the absence of a paid service contract.

Sample from a website listing their conditions of use

This article’s objectives therefore are:

  • Firstly, presenting the utility of PDF as a useful format for distributing documents to a wide audience, without having to concern oneself with what software individual audience members may or may not have access to, if at all, and regardless of reason(s);
  • Secondly, presenting safe, free software and open-source software options for using and editing of PDF files;
  • Thirdly, beyond the general promotion of free and open-source software and PDF editing, this article is not about promoting nor deriding particular OSes or software packages, or strictly speaking their strengths or weaknesses.

As such, if a particular system or software package suits your needs and / or purposes, you should use it.

However, if a given preferred solution is costly software, perhaps your organization (or your family) may find it to be financially worthwhile to only purchase a minimum number of licences and only install it on a minimum number of designated computers, instead of needlessly on every computer in your organization (or family).

A simple cost / benefit analysis would be worthwhile: You should consider whether you wish to pay $5, $10, $15, or more, on a recurring basis (perhaps monthly), per computer on which such software would be installed. The costs, be they one-time costs or recurring, should be considered against how often the software may be used, perhaps in some cases only once or twice monthly — perhaps overall, let alone for each individual instance, depending on your organization’s size, needs, and other considerations. Further, it should be considered what operations are typically executed, especially if they simple operations such as joining multiple PDFs, or extracting a page or two, which can be easily performed by many, using any of a multitude of software packages you can get without cost, as opposed to perhaps more technical tasks which may justify costly specialized software.

Creating PDFs from an established document

To begin with, most software which create documents will have an option in the File menu or elsewhere to Print, or Print to Document, or an Export function, which will offer PDF as a format:

PDF (creation) Options in the “Export as PDF” option in LibreOffice

At the risk of skipping ahead to the PDF splitting section below, note that it is a common option to be able to selectively output some, instead of all, pages to the resulting PDF, thereby avoiding the question of having to later split the PDF to get only the desired page(s).

Overview of PDF Software

Perhaps (or perhaps not) to the surprise of many, there are many software packages and suites which will:

  • Display PDF files
  • Combine, divide, and export PDF files, as well as reorder pages within a PDF;
  • Edit PDF files, such as the overall files and the file metadata, as well as the PDF file content
  • Import and display PDF files according to particular strengths (The Gimp, Inkscape, e-readers)

Displaying PDF files:

Here are some examples of software which will display PDF files directly:

  • Evince Document Viewer (Gnome Project)
  • Okular (KDE Project)
  • Firefox and Chromium (Web Browsers)
  • PDFSam (limited free version; there is also a commercial version with more capabilities); a version for Debian derived Linux systems is available on their website

Here is a very short list of software which will open and display PDF files and allow editing, each according to their strengths, but whose primary function is not PDF display:

  • LibreOffice (Office Suite)
  • Calligra (Office Suite)
  • The Gimp (Image Manipulation)
  • Inkscape (Vector Graphics Editor)

Evince Document Viewer

PDF displayed in Evince Document Viewer

Chromium (web browser)

PDF Displayed in Chromium

Okular

PDF displayed in LibreOffice

Software to Combine PDF files

A relatively common activity is to combine multiple PDF files into one file — such as, separately scanned pieces of paper, or PDF files produced separately, perhaps by different people.

Here are some examples of software which will combine PDF files:

  • PDF Mix Tool
  • PDF Arranger
  • PDF Mod
  • PDF Jumbler
  • PDFedit
  • PDFTricks
  • PDFSam
  • LibreOffice
  • Calligra Suite
  • The Gimp

Combining PDF files in PDFArranger

Combining PDF files with PDFArranger

Software to Divide PDF Files / Extract Pages

Another relatively common activity is to divide a PDF File, or extract one or more pages from a PDF file.

Note that if you are the creator of the document, as shown earlier, the software you used to create the document likely allows for you to selectively export individual or multiple pages to PDF in addition to exporting the entire document.

Here are some examples of software which will divide PDF files / extract pages:

  • PDF Mix Tool
  • PDF Mod
  • PDF Jumbler
  • PDFedit
  • PDFTricks
  • PDFSam
  • LibreOffice — allows to print and / or export one or more pages
  • Calligra Suite — allows to print and / or export one or more pages
  • The Gimp — allows to print and / or export one or more pages

Splitting a PDF File with PDFMod

Removing pages from a PDF file using PDFMod

PDF Editing

Here are some examples of software which will edit PDF files to varying degrees:

  • LibreOffice permits the possibility of creating a hybrid PDF and .odt / .ods file (word processor or spreadsheet files), which will allow for the PDF to be more easily edited by any suite that is able to edit .odt and .ods files; create a document with LibreOffice, and in creating a PDF, choose Export — General — PDF Hybrid (incorporating .odt / .ods file)

Other software to edit existing PDF files:

  • LibreOffice Draw
  • The Gimp
  • Scribus
  • PDFedit (old, but good)
  • jPDF Tweak (old, but good)
  • PDF Mix Tool (Basic functions)
  • https://itsfoss.com/pdf-editors-linux/
  • https://alternativeto.net/software/pdf24-creator/?platform=linux
  • PDFFill (pdffill.com) (Windows)

In my personal experience, PDF editing — and ease of doing so — can vary wildly according to what one wishes to do, as well as wildly according to the nature of the source PDF. I have had excellent experiences editing a PDF created from a CAD software drawing (presumably created using commercial CAD software such as AutoCAD), and whose individual elements could be manipulated in LibreOffice Draw. I have also used LibreOffice Draw to insert text zones, arrows, and scanned signatures into PDFs. Conversely, documents composed primarily of scanned images — including text and forms — may require more image manipulation skills to edit, modify, and manipulate individual and specific elements of the document, depending on your objectives.

What you can do will also be dictated by which software package you choose and its strengths and weaknesses.

For instance, it should be noted that the phrase “Editing a PDF” can be a nebulous thing which can mean many and different things to many and different people. For instance, actually editing document text directly in the PDF may be what one understands and expects, while the strengths of a given piece of software may lay elsewhere.

LibreOffice has some PDF import functions, as well as imperfect document layout functions. Depending on the source PDF document, it can be quite effective at editing text directly.

Note from the closed-source world: I once had an excellent experience with a moderately-difficult-to-edit PDF using Microsoft Word, which included being able to edit the text — and presumably save in MS Word’s native file format.

Importing and editing a PDF in LibreOffice Draw (note the imperfect import):

Editing a PDF in LibreOffice Draw

In the case of my example PDF, LibreOffice Draw allows for some direct editing of the text (Notice the word “MODIFIÉ” with a brick-red text colour replacing some of the text):

Importing and editing a PDF in Scribus, a desktop publishing programme:

Editing a PDF in Scribus

The Gimp can insert text zones into a PDF, and which text zones themselves may be edited within The Gimp; however, its strengths lie in dealing with a PDF as an image, and editing image characteristics, while editing the text as one might in a word processor might be more challenging.

Importing a PDF file into The Gimp, image manipulation software:

Editing a PDF in The Gimp

Adding a text zone to a PDF in The Gimp:

Note the insertion of a text zone under the first line, saying “TEST document”

Exporting Text, Cut & Paste, and .odt File Creating

Depending on the source PDF and its nature, “cut & paste” may work (as opposed to not working at all), and may even “work well”, although this may be wildly variable according to the source PDF document. However, even in the best case, this method will normally only copy the actual text, and some of the images, from your PDF document; it may not usually be particularly useful in actually replicating the PDF document formatting.

As for other document and content formats, such as drawings, pictures, and text rendered into images, other sections of this post should be consulted (ie. using LibreOffice Draw or The Gimp for drawings; optical character reading (OCR), including OCRFeeder, etc.)

In addition to the mention of LibreOffice above, OCRFeeder is software that acts as a front end to optical character recognition software, and is able to import PDF files, and then export in HTML, plain text, OpenDocument (.odt) format, and of course PDF. Again depending on the source file, results may be variable, although the results are usable.

OCRFeeder in action and ready to export a page of the example PDF to ODT format

… and here is an image of the exported .odt file (word processor file) of the page viewed and created in OCRFeeder, then opened in my word processor (LibreOffice):

Exported word processor file

Ironically, as this case shows, the changes (or lack of adequate recognition and / or translation of the original layout) can be as great or even more as can occur by simply sharing documents between not-fully-compatible-though-similar software suites. However, though far from perfect, it is arguably usable, depending, of course, on how much effort you are willing to devote to replicating the original document layout — and then making your desired changes, and finally creating a new PDF document.

Exporting to other file formats:

As has been (indirectly) demonstrated several times throughout this post, PDF files can be imported into software that isn’t specifically dedicated to PDFs, and then allow for the resulting imported file to be exported into other formats. For example, The Gimp was used to create most of the working images for this post: In the case where PDF files were to be displayed, the PDF files were imported into The Gimp, and then exported in jpeg or png formats. This type of conversion — from PDF to another given format — can often be done by other pieces of software (to varying degrees) according to their strengths or weaknesses.

Photo Editing with PDFs

The Gimp is fully functional image processing software, very similar to — but, unfortunately, not fully compatible with nor a perfect drop-in replacement of — Photoshop. Using The Gimp, you can import a PDF and edit the image(s) directly, or extract photos and other images through a variety of means, such as selecting the area of the photo, copying the selected area, and creating a new document from the clipboard.

Here is a The Gimp having imported a PDF of a photo of myself on a cruise:

PDF of a photo of the author imported into The Gimp

During the live presentation, I gave the hypothetical example — for the sake of levity — of a barber who particularly likes sideburns, and seeing mine in a PDF, decided to clip out one of my sideburns from the photo …

Selecting a region of the photo and creating a new document therefrom

… and then notice on how I was starting to go grey at the time :

The beginnings of some greying in my sideburns

It is taken as an understood that use of The Gimp to manipulate the photo can be continued at this point — such as how my sideburns might look after a colouring, or to compare side-by-side against other people’s sideburns — and then the result exported as a PDF.

PDFTricks allows for resizing of images in PDFs, principally compressing and reducing the file size to the order of “large”, “medium”, “small”, and “extra-small”, as well as image exporting to .jpg / .png / .txt formats, and file merging and splitting.

PDF Tricks menu of options

During the presentation, the PDF document above composed of the photo of myself on a trip was run through the software’s “extreme compression” option. The following is a clip from a screenshot from a file manager, showing the size difference between the the original file, and the newly created compressed file:

File size difference before and after processing file with PDFTricks

LibreOffice Draw allows for some image manipulation.

LibreOffice Draw being used to manipulate an embedded image

In this particular situation, the night sky drawing in the karaoke page of the example PDF I created was selected, and the various options directly available were shown. However, as mentioned earlier, I have imported PDF documents of building plans and modified them to include notes showing were works were performed, or to add signatures to documents.

PDF Forms

PDF Form Creation

LibreOffice Writer and Calligra Suite are fully-featured for the creation of forms. Unfortunately, I am not particularly adept at creating forms.

Filling PDF Forms

  • Evince — if the PDF form was designed to be interactively filled
  • Okular — if the PDF form was designed to be interactively filled
  • The Gimp — allows for text areas to be inserted, as well as photos, drawings, and the like
  • LibreOffice Draw — allows for text areas to be inserted, as well as photos, drawings, and the like

Here is an example form found at https://www.aloaha.com/sample-fillable-pdf-forms/ — a sample tax form which I began filling out for Mickey and Minnie Mouse, using Evince:

Fillable form being filled with the names of Mickey and Minnie Mouse

Final Choices:

  • Viewing / displaying PDF files : User’s choice (usually a system’s default PDF viewer is adequate, or a web browser)
  • Combining and splitting PDF files : PDFMixTool
  • Editing PDF files : User’s choice (depends on objectives and source file; The Gimp and LibreOffice Draw are good contenders)
  • Adjusting PDF file size : PDFTricks
  • Form creation : User’s choice
  • Form filling : User’s choice (usually a system’s default PDF viewer is adequate, or a web browser)
  • Exporting PDF to other formats : OCRFeeder (for .odt); LibreOffice Draw (Photos and images); The Gimp (photos and images)

Note on Linux availability of the above software:

Here are some screen shots from my system’s installed repositories (Fedora Stable; Fedora Updates; rpmfusion.org — free and non-free)

PDF software easily accessible from my computer’s software repositories (“App Stores”):

Gnome Software list of available PDF software from various software repositories on Fedora Linux
Gnome Software list of available PDF software from various software repositories on Fedora Linux
Gnome Software list of available PDF software from various software repositories on Fedora Linux

As this list suggests, there is lot of software available which have varying PDF abilities, ranging from being dedicated PDF software of various kinds, to other pieces of software with other principal functions but with PDF functions ranging to simple importing from and exporting to the format, to being useful within the limits of the software’s main functions to manipulate PDF files in some way(s).

Summary:

This presentation’s goals are to highlight:

  • how PDF files are well supported most of the time on most systems, while the various pieces of software, between two versions, typically a well-known closed source project and an open-source counterpart, for document production, are not as compatible with each other as we may want;
  • free software while avoiding the security risks inherent to using unknown and potentially dangerous websites, as well as software which is easily available for routine tasks as well as to reduce costs;
  • the possibility of editing PDF files with various pieces of free software which are easily available in most Linux distributions’ repositories — as well as often easily available for other platforms — albeit occasionally with variable success.

Questions taken during the presentation:

A question asked midway through the presentation expressed a certain surprise that The Gimp can be used to edit PDFs. As mentioned earlier, The Gimp is able to import PDF files, and perform various functions on the file according to its strengths (image manipulation).

A participant asked at the end during a question period about a recommendation for software to affix signatures to documents. I replied that I was not aware of any open source official signing software with digital traceability, simply because that I had not done any research on that subject; however, an image of a scanned signature can usually be inserted in a document using The Gimp or LibreOffice Draw, or as a document is being created in a word processor.

A final comment recommended the use of LibreOffice Draw, based on the commentor’s frequent use of it to perform a number of the functions listed here, to which I’d commented that I had asked my employer’s IT department to install LibreOffice on my work-issued Windows-based laptop computer in order to be able to perform some drawing-modification functions as part of my employment.

Enjoy sharing and editing PDF files!

UPDATE 20220407:

Signing PDFs can be performed with jPDF Tweak.

JPDF Tweak can also encrypt and add passwords to a PDF.

ADTE Colloque 2016

Today I attended the ADTE Colloque 2016: The annual conference in Montreal (home for me) for a Quebec association with goals to promote free software in education.

Overall, the conference and its logistics were reasonably well organized; as far as the implementation of the event went, it seemed to go hitch free. Rooms that were appropriately sized were available, enough chairs were in place, there were no problems with the sign in, the microphones worked, the lunches arrived, and so on.

My interest was to see Richard Stallman, who was the keynote speaker.

Before he started his speech, I got to see his laptop almost closeup: He has a GNU sticker on it, an FSF sticker on it, and a small Trisquel sticker on it. I managed to ask him what the model was; an IBM Thinkpad X60, reconditioned, slightly upgraded, and marketed by a company called Gluglug.

Given that the conference was in French, Mr. Stallman presented what was no doubt his standard speech on free software, in French. (Let’s clear this up now: I’m a native English speaker, but Montreal is a predominantly French-speaking city; as such, since I live in Montreal, *of*course* I speak and understand French fluently.) Although I knew in advance that his French was competent enough to make his presentation in French, I was pleasantly surprised and very impressed that technically it was better than moderate in calibre, and that he could maintain it for over two hours with barely two or three requests to provide the French equivalent of a word or expression. And despite a fairly thick non-native speaker accent, it was almost surprisingly easy to follow.

His speech, although it appeared to be one of his standard speeches, went on too long in my view; 2.5 hours had been allotted for the presentation and questions, and I thought he could have accomplished the same thing in about 100 minutes, including questions.

I found that there were three downsides to his presentation:

– The “Church of Emacs” routine was off-topic or at least beyond the scope of the conference. Given what amounted to be a public audience, it was out of place. A cute parlour routine or pub talk in its own right, but out of place there.
– His comments about not having children were completely out of place, however legitimate they may be in their own right, and at best were poorly presented.
– Mr. Stallman apparently is losing his hearing, and asks people to speak a little more slowly, and clearly enunciate all their words. This is understandable, especially when those asking questions are not speaking his mother tongue; further, Quebec French and accents can be difficult even for native French speakers not accustomed to them. At one point, someone who forgot to speak extra clear and a bit more slowly elicited his ire as he either lost his temper, or whined like a child, repeating admittedly for the umpteenth time for the person to speak clearly and more slowly.

As for the rest of the conference:

The overall conference had a few quirks. The iPads at the registration desks were funny and out of place, given the topic of the conference. The glaring and blatant use of a Microsoft Windows computer on the overhead projector was a weird oversight to the point of being shocking, regardless of the fact that for all intents and purposes it ended up only being used to display the wifi network and password, and one minor demonstration during a roundtable discussion. This was addressed in the first question period by an irate participant who venomously commented on it and expressed his feeling of being insulted, to the applause of roughly at least a third if not half the participants.

For me, the first round table, before Mr. Stallman’s speech, left something to be desired. I thought that they could have been better organized instead of being just “I’m Tom Smith and this is what I do. Oh, and this is what I know about free software.”

The second round table, after Mr. Stallman’s presentation, was a bit meatier and not quite as disappointing as the first. There was an IT person who was trying to slowly provide Free Software by placing it in their pool of software available to staff at his institution, alongside other software. Another panelist provided a good and enlightening response to a question, to the order of “Try explaining *that* to a powerful teachers’ union!”

My brother said the comments then as well as elsewhere in the day felt like we were still in 2006 instead of 2016 given their nature, such as:
– “Well GNU/Linux is hard to install” (I found it easy to install in 2008, and installing other software and fixing settings is something one does on any platform);
– “LibreOffice isn’t fully compatible with MS Word” (that’s a very nuanced conversation that strictly speaking is technically correct, but mostly trivially, IMO);
– “I’m accustomed to program X”;
– “I didn’t know that you could do that using free software”.

The lunch included in the admission fee was fine albeit a bit too frou-frou for my tastes, and totally inedible for my brother’s admittedly very narrow tastes. I would have hoped that there might have been more than three or four tables in the trade show part of the conference, which was held in the large lunch room area, but that’s neither here nor there.

The two afternoon sessions I attended were on the subject of “Accessing the Moodle Community”, and the ProjectLibre software.

The first presentation on the Moodle Community seemed a bit off and probably confusing to most of the participants, being a bit obscure and technical. However, once I re-read the title in the day’s schedule, I realized that it *was* on topic (both for the conference, and, on topic for his presentation.) Disappointingly, the presenter was delayed by a good fifteen minutes, for technical reasons: He could not use his computer for his presentation, given that for some reason he was unable to plug it into the projector. He then tried to present his slides prepared in LibreOffice with a computer using MS Powerpoint, which did not like his slides. He finally had to install LibreOffice on the supplied computer which was effectively permanently connected to the projector, or the setup otherwise effectively precluded the use of his own computer. He should have been prepared with the slides saved in PDF format, but to his credit he had placed the presentation online so that he could access it easily, in addition to having brought it on his computer.

The second presentation was a bit better as it at least was a demo of free software that can be used by educators / schools / etc. to either to manage their projects, what kind of software can be taught in schools, etc.

However, I thought that the two individual presenters I saw had two failings beyond what I mentioned earlier about the Moodle presenter:

– They only had about half an hour each; they could have done with at least another 15 minutes each. Each went over their allotted time; in any case, they should have timed things better in their presentations given that they knew of their time limitations, or should have known, given the announcements online and in the printed schedules liberally distributed during the conference.
– They should have been coached in advance with “ok, present what you want the way you want, *BUT*, please spend the first up to five minutes answering these five questions, such as a brief description of what the software / project / topic is, what its use could mean to the participants, etc. etc. etc.” In addition, I thought that each unfortunately were unprepared for people asking questions and making comments during the presentations, which could have been handled with “Could you wait until I finish my presentation, at which point I’d love to take your questions and feedback.”

Overall, however, I did love participating in the conference.

Update 27 April 2016:

Here is the link to the ADTE’s conference recap page (in French) (and here’s my archive)

In it are links to YouTube videos of Mr. Stallman’s presentation as well as a number of links to speakers’ quick resumé of what they spoke about to even sometimes slides of their presentations, again normally in French.

I’ve finally got a convert, sort of, to whom I’m giving a linux desktop!

In 2011 a new hire at work was assigned to join me on a few field jobs in order to expose them to the kinds of things we do at the office.

At the time, I enthusiastically told him about my use of linux. Suffice it to say his reaction was “What is this communist stuff anyway?!?!” Harrrummmpphh. “Red Hat is in line to have $1 billion with a big fat capital B in revenues this year alone. Doesn’t sound very communist to me at all.”

Back in mid-December of 2015 — after countless times of telling him about linux in the meantime, hopefully a bit more toned down — he sent me a message: “Here’s a modest budget; set me up, I’d be interested in trying it out.” I was practically beside myself in my pleasure.

I came back from the Christmas holidays and announced that I’d tracked down a used computer for free, and just needed to get it into my hot little hands. I explained that I wanted to give him a relatively risk free introduction. In the meantime, the computer in question, I’m told, proved to be dead and not usable. I’m promised another computer, and this week, when it looks like I’ll indeed be getting it in time for an install day this weekend, I further explained to my colleague: “The computer is probably about four or five years old but it’s supposed to be a dual core with 4 gigs of memory. It won’t be the best performing computer in the world, and some things it just won’t be able to do, at least not spectacularly, not because of linux, but because of the computer itself; however, it should still be good enough for videos, games, and day to day stuff, and you’ll be able to explore all the software available for it and see what can be done with linux, and you can add a few things like a bluetooth dongle if you like.”

He cautiously tells me all along that I’m building up anticipation; the caution suggests to me that he is mildly tongue-in-cheek meaning “of the disappointing variety”.

I then start asking him very specific questions, like what he wants as the computer name (I give him examples of current and past computer names I’ve used, and advise him to choose carefully since using the name of a pet or relative could backfire in case something goes wrong, and in the process of relating the experience to family or friends they may be confused or even become upset), the user name and password to use, the root password he wants, and things like which email client he uses at home. Pleased that he’ll be able to use a GMail interface, he begins to apparently genuinely say “Oh now you’re *really* building anticipation!” instead of the cautious insinuations from before.

Therefore in anticipation of the build this coming weekend, I put together this list of the main things I’ll need to install on his computer, especially since I’ll be helping my brother-in-the-know again with another desktop install, and try to get in some of his under the hood expertise at getting my server to be a bit more useful than a rarely used ftp server, a backup server for my data which depends on my remembering to back up my data on it, and consuming electricity.

So enjoy my list of things to do to loading a Fedora desktop very similar to how I use mine. And yes I know that there are plenty of things I *don’t* say, like “take this icon and place it third or fifth or last in the dock on the left on the activities screen” or, how to do “that”. 🙂

Fedora Life Spans

As a quick post, I am presenting my table here of typical Fedora lifespans.

Surprise, surprise — or, if you prefer, surprisingly — over the years, on average Fedora has actually been doing a good job of keeping to what is colloquially described as a 13 month lifespan, despite fairly variable lifespans of almost +/- 20% compared to average as of Fedora 16, often being delayed by a week or two or more, and in the case of Fedora 18, by two months! In fact, it has been keeping to this average rather closely — as of Fedora 16, the cumulative averages have kept to less than 2% from the overall average since Fedora 5. Well we’ll see how that affects things, as it is right now I’ve estimated the lifespan of Fedora 16, which I’ll correct when the official number comes out. We’ll see how the two month delay has/will affect(ed) the scheduled release of Fedora 19, and as the case may be Fedora 20 and so on.

Each of Fedora’s End of Life (EOL) is scheduled at a month after the release of the second version of Fedora after, eg. Fedora 12’s end of life was one month after the release of Fedora 14, and so on.

So, while I’m making this up, if the lifespans of Fedora 1 and Fedora 2 are any indication, Fedora presumably only started with the “every six months or so release dates” and/or defining the EOL as one month after the release of the second version following a given release, somewhere around Fedora 3, or possibly Fedora 4. (Although apparently Red Hat Linux, as mentioned here, had a release schedule of about every 6 months, too — and an erratic lifespan of 18 months or 3 years or 5 years, depending on what appears to have been whim though what probably was more along the lines of support contracts tied to specific releases, public reception to a given release, or a given release’s perceived technical excellence and value, etc.)

So enjoy the Table.

My problems / Gripes with Gnome 3

Background: Regular readers of my blog — the few of you that are out there 🙂 — know I use Fedora and CentOS. Once again, Fedora is an interesting case: As a pretty strict rule, packages appearing in Fedora are as close to the upstream product — the software as it appears on the original project’s website — as is practical; generally, the only changes are those necessary to make them work under Fedora. So generally, if you were to download the sources from www.thisismyawsomelinuxapp.com and compile them yourself, without tweaking them — while making them work, of course — then that’s what the software probably looks like and how it works under Fedora.

Generally, Gnome 3 has been a mixed bag. Some things are interesting — I won’t say improvements; but I think that there are interesting additions (G2 and mobile device devotees will call retrogrades) that I’m willing to welcome, or at least I find acceptable given a paradigm change. I particularly like the hot corner that brings up all of the open windows. Other things are six of one / half dozen of the other, such as the panel/dock on the left of the activities screen.

Here are some specific gripes I have about Gnome 3 at least as installed in Fedora 15 and 16:

This is based on my experiences with Gnome 3.0-whatever and 3.2-whatever with F15 and F16 out-of-the-box installs:

– switching between windows — the default ctrl-tab is between applications, not windows. To do so requires that I hold down the ctrl key, use the mouse to choose the application, wait for it to open another window with all of the instances of that application, then choose with the mouse which one, which sometimes may be difficult unless I were to have a 50′ screen. So it’s not important that I switch, let alone easily, between two spreadsheets, or two pdf’s, or two documents in LO writer, right?
– solved on my F16 machine by “yum install gnome-shell-extensions-alternate-tab”. Needs to be activated by “gnome-tweak-tool”, listed as “Advanced settings” under the Applications menu — see below, date and time gripe
– the above solution kept on crashing my f15 machine, so I removed it.

– Opening up a new instance of an application. Linus’ well-publicized bug: You go to the activities screen, choose one and click on it — say, in Linus’ case, the terminal — and the existing instance is reopened. So in order to open up a new instance, you have to choose file/new window. Valid in and of itself, but not more efficient by removing the possibility of having many ways to do the same thing. Also, partly addressed by the fact that you can right-click on a launch icon and choose to go to the existing instance or launch a new instance; but, this works out to being the same gripe.
– the both over and under sensitive upper-left hand corner: When you move the mouse to the upper left hand corner over, you’re apparently supposed to be able to open up the Activities screen. In Fedora, it’s too sensitve when I don’t want to open it up and my mouse just happens to be in the area, such as when I am going to the File menu of a given application, and then when I want to take advantage of that cool function, boy is it slow in figuring out that it’s supposed to move to the Activities screen.
– Activities screen — closing windows. When you hover the mouse over a window, a little x in a circle appears in the upper right hand corner of that window icon, allowing you to close it. When you have enough windows, it’s real easy to accidentally click on it instead of on the icon itself (to open the window) unless I were to have a 50′ screen.
– Nautilus — when you have a file highlighted, on the bottom there is an “announcement” window stating that you have the chosen file selected — barring the easy selection of the last visible file via mouse if nautilus is maximized. Obviously you can select it by moving the highlighter down with the down key, but the only way to know what the filename is, is to read the annoying “announcement” window, and you often can’t see the the other file information (last saved, time, file size, etc.).
– notifications — lots of things get a notification, like “you just printed a file” or “the file you just opened is ready”, and they stay in the notification bar available from the lower right hand corner until you manually remove them all, individually.
– adding the date to the time at the top (Correctable by “yum install gnome-tweak-tool” F16)

really minor gripe:

– in order to turn off of the computer or reboot, you have to highlight the “suspend” option in the stats menu off the upper right hand corner, and hold down the alt key. Something I can live with, but there anyway.
– solved by “yum install gnome-shell-extensions-alternative-status-menu”. Needs to be activated by “gnome-tweak-tool”, listed as “Advanced settings under the Applications menu — see date and time gripe

Generally, at least specifically to F15:

– When I unplug my laptop to move it to a different location, using the battery, the system goes into hibernate, and doesn’t even ask if that’s what I really want to do. (Correctable by yum install gnome-tweak-tool, F16, which allows you to decide what the computer will do when AC power is lost.)

And here’s a gripe about Evolution, going back a few years, and which has absolutely nothing to do with Gnome 3, or Gnome 2, or even Gnome at all, presumably):

– when you open up a daughter window, the basic evolution program engine is still needed. It effectively makes the main window barely “first amongst equals” instead of being “the program”, from the user perspective. As such, close the main window but not a daughter window, the program engine module is still operating. That means that in my case — because, when I use my email client, I want it to pop my email, then erase it from the server so that when I go to webmail, I don’t have, what, 100 pages of old email to wade throug — email still gets popped and removed from the server, and no longer available by web mail. This is a human-interface bug, since at the very least when closing the main window, it should ask “do you want to shut down all evolution functions, or just this window”?

Bugzilla — again, not specifically a Gnome problem:

Traditionnaly when ABRT is activated because of a crash, when I get to the point of selecting to report via Bugzilla, I get messages about the wrong settings being in place and that the reporting will likely fail. I found out a few years ago that this is generally due to the lack of the relevant backtrace program for the crashed program, hence there being a lack of sufficient “useful” information. While conceptually I understand the need for a proper backtrace so that as much detailed information is available as possible, this presents a real conundrum: I have occasionally in the past gone to the trouble of installing one or two relevant backtraces — after a crash and realizing this conundrum — and noted that it slows down the system significantly, and having all the existing backtrace programs is impractical. Hence without the appropriate backtrace, a bugzilla report will fail. Yet due to current circumstances, the average (at least desktop user) is unlikely to know which they are likely to need to install, and Fedora loses out on valuable crash information that would help solve a bunch of problems.

What do I like about G3:

Most of these are indifferences (ie. I don’t much care whether they’re along the lines of G2 or G3), but I’m willing to give them a thumbs up at least on that basis:

– nautilus does two panes, although I think that it probably did it before. A certain other system doesn’t; you can only either move things on the directory tree on the left (which you can do, sort of, in nautilus) or between two windows.
– Somehow the automounter for things like memory sticks seems a bit smoother and polished under Gnome 3 than under Gnome 2.
– I have actually always found the dock, and that it’s on the left hand column, intuitive — funny, I find the dock on the bottom in XFCE, which I have on my CentOS server (from the days a few months ago when the machine itself was a celeron 1.0 with 256megs of RAM and it found that hard to handle; G2 ran it into the ground within minutes) not anywhere near as intuitive (although I suppose it can easily be moved were I to want it to). The only drawback: more intuitive and useful than Gnome 2, but, in Gnome 2, I had already been putting launchers on the upper panel for years, as have other people. It still gets the thumbs up, though.