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.

malak.ca — Server Hard Drive Upgrade

This is just a little note to mention that malak.ca has been down for the past 28 hours or so for an upgrade only planned as of a few days ago, when the site had been hanging for anywhere from a few hours to a few days, and diagnostics suggested that the hard drive may have been on its last legs.

A new 256-gig SSD was ordered and installed in the IBM ThinkCentre I claimed from a pile of computers to be shipped off for disposal in 2017 but only actually started using in 2020, with the intention of essentially setting up things as they were beforehand, with only an under-the-hood change of technology.

Here are a few highlights:

  • A backup of the blog database was created, and saved on an external drive;
  • The external drive, used as a backup for my other computers and the location of the static parts of my website, was separated from the machine, which was then powered down;
  • The old hard drive was physically removed;
  • The SSD was connected;
  • Fedora 34 workstation, which had been previously downloaded and installed on a USB key, was installed on the SSD yesterday evening (I’m currently still running on F33 for my desktop, laptop, and one of my worldcommunitygrid.org nodes)
    • The desktop for F34, on the core 2 duo, is faster, although some of that is due to the SSD, of course;
    • Interesting to see the dock moved from a vertical position on the left to a horizontal position at the bottom;
    • I find it interesting that at bootup, the activities screen appears to be the default;
  • This evening, the web server was installed;
    • Although we had planned to use php-fpm to separate permissions, but since this is a single domain box, we used a simple virtualhost;
  • MariaDB was installed;
  • The re-registration of my redirections for things like www.malak.ca with noip.com to account for the dynamic nature of my IP address was done;
  • The re-registration for my Let’sEncrypt was performed;
  • Various linux kung-fu tricks were performed, and magical linux incantations were uttered, and the setup was complete;
  • The external drive was reconnected;
  • The blog was restored from a backup.

The system is peppy, and this blog, which is hosted on the SSD instead of the external drive (as is the rest of malak.ca), loads somewhat more quickly.

As usual, great thanks go to my brother whose herculean efforts were at the core of the setup. Thank you!

Having to find multiple levels of internet access — oh, fun!

Disclaimer: I am musing on the challenges I faced while trying to secure reliable internet I required during a recent set of business trips, and the process of developing various solutions to these challenges. These challenges are, in a general fashion, typical of the routine logistical challenges I face when in-the-field, and no doubt of other field technicians. In no way am I trying to reflect negatively on my employer, who for the purposes of this entry shall remain nameless.

I was recently on a couple of business trips, depending on an iPad as a critical part of the execution of the contract. This trip was to a small city of 25,656 (according to Wikipedia), big enough to have plenty of internet access points, cell phones, and cell phone data. As far as I was concerned, in fact, I was in a mini-mini version of Montreal, home for me, to those who haven’t figured it out yet.

The way the iPad is set up, wifi internet access is required to transfer building plans needed to do the work to the iPad, and transfer back files and data collected from my field work. I have made no bones mentioning to some key people heading the overall project that this is a potential Achilles’ Heel to the execution of the project, since, at least in the overall project’s fringe locations sufficiently beyond population centres, internet access would be a spotty luxury at best. My trips were at least symbolically close enough to the edges, underlining the potential problem.

One of the first challenges I found was that the iPad didn’t seem to play well with the internet supplied in the motel (DataValet); although I did manage to get it to work once, it proved a bit too frustrating to get working reliably. A colleague confirmed that he’d had similar problems getting Apple products to connect to DataValet. I had no trouble getting my personal computer running Fedora 21 Workstation to work with DataValet: In fact, besides not recalling having trouble over the years connecting to wifi that wasn’t specific to Linux or Fedora, I would actually say that the experience was even easier than in the past, since the daily leases seemed to automatically renew, although it seemed to insinuate itself by a “convenient” automatic popup window. In parallel, my work Windows-based machine also worked flawlessly throughout with DataValet, although if I remember correctly, I may have had to occasionally open up a browser in order to renew the leases.

Add to this challenge, my employer’s local office didn’t seem to have wifi, or at least, assuming that it *was* there as a hidden network, my work computer didn’t automatically connect to the corporate wifi when not plugged in to the corporate network, which it normally does at my home office.

My first solution was to fulfill a purpose of my having asked for a company smart phone in 2014: Create a hot spot using the data plan on my work phone to do data transfers when not in a wifi zone that works well for the iPad. However, it seemed, between the picture-heavy data and the fact that the iPad seems to do automatic background backups when hooked up to internet — a feature to which I initially had a (negative) knee-jerk reaction that nonetheless actually was useful at one point and since — my phone appeared to run out of my data plan for the month, as evidenced by the sudden stop of internet connection through the phone while still operating just fine as a phone. Having quickly checked the phone’s data usage logs and determining that I’d certainly gotten to the neighbourhood of the limit I believed I had (2 gigs), I assumed that the phone’s contract had a limit set by my employer to turn off the data plans until the month rolls over in order to avoid overage charges. I later learned, upon my return home and standing in front of the IT tech responsible for the corporate cell phones, that the problem was presumed to be an unusual set of settings probably set by some esoteric app (of which I have have very few, esoteric or otherwise, on my work phone), or possibly a SIM card problem, which turned on off the phone’s data capabilities, and that in any case the company has no such policy to ask the cell service provider to turn off a phone’s data access when it reaches the limit of “included data” in the plan, until the rollover date. The lack of internet on the phone is “solved” by resetting the phone to factory settings; I should get instructions on how to do it in the future should I be faced with the problem again. 🙂

This led to a second solution: I used my personal phone to create a hotspot and consumed a bit of my personal data plan, which didn’t bother me too much, at least until it were to involve overage charges. Not that I checked, but based on the little amount of time I used it, I’m sure I never got into that area.

The next solution also created another challenge due to a flub on my part: My client finally gave wifi access to the iPad at her various locations; however, I should have requested that she also enable my work computer, since I had a secondary need for internet given that I developed a need to produce or modify extra plans several times once arriving at some sites, and as such a need to transfer the plans off the computer and onto the iPad.

Finally, I realized that when I have wired access, I had yet another solution available to me: I could set up my linux laptop to create a wifi hotspot. This was rather easy, at least under the current gnome version in Fedora 21 and I believe has been for quite a while under the gnome 3.0 series, and probably before too. Unfortunately, this was wasn’t a solution at the motel since it only had wifi and no wired access, and I didn’t have an external wifi receiver with a cord to provide the wired internet and free up the wifi card.

Here are some screenshots of how easy it is to setup a wifi hotspot under Gnome 3:

step 1

step 2

step 3

step 4

step 5

Feeling a bit curious along the lines of “shouldn’t this be relatively easy under Windows, too?”, I checked on my work computer, and while it seemed possible, and indeed my brother once did it for me with his Windows computer, it was not obvious at all; in fact, I gave up after about four or five click-throughs with little end in sight.

Hence, at the local office and having set up my laptop to create a local wifi hotspot, I’d created a mildly-amusing-to-me setup on my temporary desk, plugging in my personal laptop to the corporate network, running a hotspot using its wifi card, and using my work computer normally over wifi as well as doing data transfers from the iPad.

Back at home and at my home office, I mention my difficulties in getting internet access to my supervisor (who isn’t a computer techie type), who thought that creating a hotspot under Windows couldn’t be done, or at least he didn’t realize it could be.

Further discussing this with him, I explained the situation saying “I don’t mind trying to find other solutions — that *is* my job — but after not having two A Plans (the motel internet not working for the iPad, nor having wifi at the office), then suddenly not having a plan B (the company cell phone internet not working), having to depend on my personal phone’s data plan, then having to depend on the client’s internet access but not having enough access for all devices, and finally coming up with a part-time solution to replace one of the A-plans — using a second of my personal resources in the form of my personal laptop — there’s a problem here,” to which he agreed.

Jovially, he did however suggest that “in the next leg of your travels, I happen to know that if you can go to the local library, they have free wifi”. This made me realize that if necessary and if possible, I could also try the free wifi at the local Tim Hortons (a popular Canadian chain of coffee and doughnut shops), assuming that there is one in the remote town where I’ll be visiting next.

Which has me really thinking about the problem:

– not all the field techs in the company have smart phones with data plans, and as such not able to create a needed hotspot in order to enable the execution of a project;
– not all the field techs have personal smart phones with a data plan, nor should field techs in general be required to use their personal data plans, let alone go into overage charges, in order to enable the execution of a project;
– at least at first glance, it doesn’t seem to be a quick and easy thing to turn a windows machine into a hotspot in order to enable such work — and I don’t want to hear from the peanut gallery on this one, since I *know* that it *can* be done; my point is that at first glance, even a moderately savvy user such as myself shouldn’t have to say “It’s easy under Gnome 3, why isn’t it about as easy under Windows? Boy it’s a good thing that I had my personal laptop with me!” (On a side note, usually the stereotype is that “Windows is easy, and Mac easier, but isn’t Linux hard?” 🙂 )
– and, only a limited number of computer users are using Gnome 3, where it is easy to set up a hotspot if you either have a wired connection to the internet, or two wifi cards on your computer. (I’ll have to check with my brother, who uses XFCE on one of his laptops, which is on a technical level identical to mine, to see how easy it is under that desktop; obviously, it’s technically possible; I imagine it’s just a question of how easily different desktops enable the functionality.)

Which leads me back to the above-mentioned problem of “what do you do in remote, small villages where you don’t have a corporate office with wifi, motel / B&B internet access is spotty at best, there’s no cell phone coverage, and there are few if any public wifi spots like a restaurant or a public library?”

I just hope that the library’s free wifi isn’t provided by DataValet. 🙂

How to put XFCE on CentOS 6

This post is following my having replaced the gnome desktop from my centos-6 home server with XFCE, due to:

– the machine is probably over 11 years old and only has 256megs of memory
– the machine is not really likely to be easily upgraded, nor replaced
– the change is worth it anyway given the light load I put on it
– because it was so slow, and even seemed to progressively grind to a halt in a short period of time (a week or less, it seemed)
– questions online about how to replace gnome to XFCE under centos were inconclusive regarding how to make XFCE the default desktop on CentOS.

No, I don’t know how to make them co-exist, I tried a bit and decided after a three or four commands that since I didn’t need Gnome anyway, that replacing it completely with XFCE was the best way to go in my case.

Required:

– an installed and working CentOS 6 setup on the “target machine”
– an internet connection
– an operating ssh server on the target machine — including, if you’re controlling things through the internet, appropriate settings to receive the connection through the internet (another topic)
– root priveleges on the target machine

Optional, but likely to be highly useful (as it was for me given the “cart-before the horse” approach I used):

– a second computer, “the head”, with an ssh client, able to connect to the target machine via ssh either locally on the same network, or through the internet.

This process can be dangerous, will probably require at least one reboot, and ideally should require having physical access to the machine in case of requiring a hard power-down and repowering of the machine. All critical processes should become less critical (ie. user announcement for downtime, transfer to another server, etc.) and a backup should be performed beforhand.

I am presuming that on the target machine, root login has been disabled and that you will be logging in via “mere mortal” accounts and then elevating to root. Should you be using sudo on the target machine, the account into which you will be logging should have appropriate sudo priveleges, and you should adjust the instructions accordingly (that much I won’t do for you, I don’t like sudo; “Don’t be afraid of root. Respect it, but don’t be afraid” as my brother says.) I am also presuming that you are controlling the target machine using the head.

– using the head, ssh into the target computer — make sure that you are logged into an account on the head which also exists on the target. If you are on the same network, on the target machine itself, determine the IP address using “ifconfig” at the command line, and look for the number with a “192.168.***.***” format in the second grouping after the “inet addr” tag.
– Elevate to root (“su” )
– Install the Fedora epel repository on the target computer.
– visit http://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_EPEL_software_repository.3F
– enter the following if you are running Red Hat Enterprise Linux 6 / CentOS 6 / Scientific Linux 6:
“rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm”
– enter the following if you are running Red Hat Enterprise Linux 5 / CentOS 5 / Scientific Linux 5:
“rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm”
– Uninstall the gnome desktop.
– “yum remove groupremove gnome-desktop”
– Install the xfce desktop.
– “yum –enablerepo=epel-testing groupinstall xfce-desktop”
– add a line about changing the desktop type
– “nano /etc/sysconfig/desktop”
– add the following lines:
” DESKTOP=XFCE”
” DISPLAYMANAGER=XDM”

– Reboot the target machine with “reboot now”. The head will lose its connection to the target machine. The machine should now reboot and the xfce desktop should appear on the target machine.

Problems:

In my case, I had installed the XFCE desktop environment first, and some dependencies were removed when I uninstalled the gnome environment; I figured this out after a reboot and the screen came up blank after a reboot. I therefore ssh’ed using the head into the target and reinstalled the xfce desktop as above, which installed the necessary missing dependencies. I also installed the evince reader (“yum install evince”) which has nautilus as a dependency (and as such installs it, although so far the only real difference between it and Thunar is that the latter doesn’t support dual panes.) Both seem to work nicely with XFCE because it uses the same libraries as Gnome.

Gnome 3 in Fedora 15 Freezes up in Fallback Mode

I have been going through some reformats over the past month or so: About five times on my then F14 desktop — three times until I finally ditched the hard drive which was obviously dying, and the fourth time on the “new” hard drive, and the fifth to explore the following problem as well as remove a poor choice of keyboard selection. The French in France must really be confused when using computers in North America (I was in Paris back in 2005), their keyboard layout is so weird. You have to realize that a French Canadian keyboard is not so different from a standard US keyboard, certainly compared to the French from France keyboard.

I have what would be considered an older computer; I’ve seen a date of about 2003 on the mother board. As such, the video card on it is too old to use Gnome Shell in Fedora 15 and uses the Fallback Mode. So I figured that when the computer appeared to freeze after a couple of hourse — no response to the keyboard or mouse and the like — that I might have a memory card problem causing the freeze, something I’ve seen before. However, two things are nagging at me:

1) During the install process, the computer would be sitting around idle while I either slept or was at work all day, the computer wouldn’t freeze up, and I just picked up where I would have were I to have babysitting the computer during the install;
2) After it froze up yesterday evening at what appeared to be a normal screensaver cycle, I did a hard reboot using the power button, and on a whim I turned the “lock” (the desktop) option in the screensaver settings screen to OFF. This morning after the computer was on the whole night, all I did was turn on the screen, and what do you know, I can use the computer like normal, with no freeze up.

As a control, my laptop, sitting beside my desktop — the former of which is recent enough to take advantage of Gnome Shell — does not lock up with the “lock” option to “on”.

I wonder what the deal is? A bad video card? Bad code? An incompatibility with the code — presumably the screensaver code, but I suppose any other — and my particular hardware?

I was doing some looking around last night on the subject, before I saw the results of the little “off” switch. Now that I’ve done an experiment and have some results, I can perhaps do one or two more and determine whether a bug report is warranted.

Cool (or mundane) computer trick impresses co-worker

I managed to impress someone at the office this week with a cool (read mundane) computer trick.

I got a call from the secretary, who is a few seconds’ walk from my desk, asking for a scanned version of my hand-written signature. I replied that on my computer at home I have it, and I could easily get it within a few minutes; she replies that it would be faster for her to just walk over with a piece of paper for me to sign, which she would then scan and play around with.

And this is where I began to impress her: By the time she got to my desk with said sheet of paper, I had already VNC’d into my home server’s desktop and was in the process of doing the same from the server to my main computer’s desktop (gotta finish the process of giving it a static IP and setting it up so that I don’t have to go through my home server. 🙂 ) I finished logging into my desktop, and looked in the likely directory, and voilà ! I fired up my home email client, and within a couple of minutes, she’d received my scanned signature.

Beyond the fact that the Gnome desktop is set up standard to do VNC — and the fact that I installed TigerVNC instead of using the standard Gnome Remote Desktop Viewer — too bad that I can’t really claim that this is a cool Linux trick, since my computer at work is Windows, and you can set up Windows boxes to “pick up the phone” too ….

She was still impressed, though. And it took about as much time as the whole process of signing a piece of paper, scanning it, cropping it, etc.

Laptops, Linux, and US Customs

This weekend I went to meet some friends in the beautiful Commonwealth of Massachussets. I live north of the 45th Parallel in this part of the world (many of you might think “So what?” Think of the 49th Parallel, where the Canada/US border is much of the time out west.) I find crossing the border stressful, I always have all sorts of delusions about the difficulties I’ll be experiencing while answering questions from someone carrying a gun. (Usually the remarkable crossing is returning home: The Canadian guards roll their eyes in a bored kind of way when I pass them my passport, no doubt thinking “Oh, he’s a citizen, we have to let him in.”)

One of the things I was worried about was my laptop. On the advice of my Linux-guru brother, I ask him to set up an automatic login so that should the friendly US border guard ask me to show him my computer, it’ll boot up no trouble and not go through a login that may raise suspicion that I might be logging into a bogus account hiding all sorts of nefarious things. He also recommends that all .mp3’s be absent as well as other, ahem, illicit material (which I don’t normally have anyway), advice I take to heart.

However, besides the nuisance of a possible confiscation of my beloved 5+ year old laptop, what really has me worried is a suspiciously-asked:

“What’s that?”
“The gnome desktop under Fedora Linux.”
“Oh, that looks different.”
“Sure, you can get Linux off the internet for free …” (wince, I shouldn’t have said that, at least not that way …)

And then a bunch of annoying explanations that no Sir, I don’t have any illegally downloaded software, yes Sir it’s free and legal to do so, no Sir, there’s no copyright infringement here, no Sir, I’m not one of those nefarious computer crackers you hear about, think of this the way you might think of a Mac; an alternative to Windows …

Of course, the really nice border guard at the US border couldn’t have been less interested in the fact that I had a laptop with me, let alone that I turn it on.