Tech Freedom

Thinking About Making the Switch? Here Are Some Things to Think About…

Switching to Linux is an undertaking, and should not be taken lightly. There is much to learn about the new OS that you should probably do via a secondary computer before you undertake the process on your daily driver computer. I can only show you so much in the Freedom Consultation, and if you are accustomed to certain keyboard shortcuts for things, you may need to set that up for yourself, once I show you how. Another thing that you may need to consider before making the switch is how and whether you use a desktop email client like Outlook, depending on the ways you use it, there may not be a great FOSS alternative for you. Fear not. I will work with you to find whatever there is, and to get it set up for you as best we can. What else is there? Other miscellaneous programs, such as PDF editors, photo editors, games, and the other things you are accustomed to on your computer. The same thing holds true, I will help you troubleshoot and find something that will work for you, as long as you let me know up front what you use and need to have, as well as nice-to-haves, in terms of software.

How to set keyboard shortcuts varies on the desktop environment. Each one has different customization capabilities, and some are far less configurable than others. Some can be overwhelming when you look at the settings options, where others look positively spartan in terms of user-configurability. Generally you will find whatever customizability options there are in any given desktop environment in the settings app, under Mouse & Keyboard > Shortcuts, or under Workspaces > Shortcuts. From there you should be able to set global shortcuts as well as ones for individual apps.  Some apps also have configurable keyboard shortcuts, but not all do.

What tools are you using on a regular basis right now? MS Office? Adobe Suite? Some other PDF editor? Which browser do you use? (Even Edge has a Linux port, though I don’t know why you’d want to use that spy-browser on a clean Linux install). What other apps do you need to have in order to do life the way you want to? These are major things to consider when planning to make the switch. 

I had a client that was totally immersed in MS Office, with muscle memory for shortcuts from Office 95 or earlier. She is still adjusting to using her secondary computer with entirely FOSS alternatives for that suite. It is hard though, because while there is compatibility, there is no such thing as 1:1 correspondence, owing to Microsoft’s patents on Office. There is constant development happening, though, so who knows, either LibreOffice or Only Office may just satisfy your needs. If not, it is possible to run MS Office in a virtual machine on your Linux computer. That is very involved, though. 

As for other apps, I had a different client who needed to edit PDFs in order to run his business. The FOSS PDF viewers are fine, but there are very few FOSS PDF editors. Those that do exist are sketchy at best, unfortunately. He had to pay for software to fulfill his needs, but in all likelihood, you’ll find that ocular or one of the other PDF viewers will suit you just fine for most things.

Other than that, we will work through things on a case by case basis with you.

code projected over woman

Linux 101: A Working Glossary

I know this is overwhelming for many, and serves as a deterrent for those who do feel that way. I want to help you to comprehend the lingo so that you can grasp the building blocks, then feel better about embracing Linux.

First things first, what is Linux or GNU/Linux?

 

Linus Torvalds

It is the kernel (foundation) on top of which all of the various distributions are built on. It has been in continuous development since 1991. The original, and still primary developer and maintainer is a Norwegian-American computer scientist named Linus Torvalds. It is licensed as free & open software through the GPL, which is the GNU Product License. Incidentally, GNU stands for GNU is NOT Unix. The GPL governs how individuals can use, audit, or modify (fork) the source code of any piece of software under that license.

 

 

2) What is FOSS?

An acronym for Free and Open Source Software. Most of this software falls under the auspices of GPL. It means that the source code is open to be viewed, tweaked, forked, or audited by the public, and is usually provided free of charge from the developer(s). This process keeps innovation flowing and helps to make sure there are fewer bugs and security flaws/back doors built into given software, and that whatever bugs are found can possibly be dealt with more quickly.

 

3) What is a developer (often shortened to “dev”)?

A person who writes code for a program, troubleshoots it, and whether on their own or not, releases that code or program to the public in some way, whether open source or not.

 

4) What is source code?

It is the DNA that programs and apps are built from.

 

5) What is a fork?

A fork is a variation of a piece of open source software. Here is what often happens: one developer writes some code or compiles it into a program and chooses to make it open source, then another comes along and decides that he wants something done differently, or wants to add a new feature to what was already written and published, and a fork is born.

 

6) What is a bug?

A coding error that leads to an undesired result in a program or application.

 

7) What is a Distribution (distro), anyway?

A certain set of packages bundled together with some sort of user interface to form what we see and use as Linux. There are probably 1000s of them, around the world, some more like Swiss army knives, with something for everyone, where others are more like precision lasers, only beneficial for the most specific use cases. Some are better supported than others, and some only have a single developer behind them. A Swiss army knife distro would be Ubuntu or Mint or Manjaro on the Arch side of the family tree, where the precision laser would be more like Kali or Tails or QubesOS.

 

8) What is a Desktop Environment?

It is a set of programs and applications that work with your display server (x11 or Wayland, for the most part) to produce a Graphical User Interface (GUI) for you to navigate with your mouse and/or keyboard shortcuts. Some examples are Gnome, XFCE, MATE, Cinnamon. KDE Plasma, and LXDE (soon to be abandoned for LXQT). Each one has its quirks, benefits, and drawbacks. Gnome is largely a one-size-fits-all proposition, and is growing less and less customizable as time and versions go by. XFCE, MATE, and Cinnamon are all forks, or variations on an older version of Gnome that someone wanted to save and do their own thing with. KDE Plasma is modular by nature, and can be themed in just about any way imaginable. LXDE is meant to be lightweight and is themeable, as far as I know, but that is about it.

 

9) What is a Window Manager?

These are alternatives to Desktop Environments. Usually, they use fewer system resources to provide a GUI for you to interact with. Most of them are geared for developers who are more comfortable navigating through shortcuts on the keyboard rather than taking their fingers off of the keyboard to mess with a mouse. You can take the time to learn one or more, and really make your computer YOURS, and have everything EXACTLY where you want it to make your computer be as efficient as it can be for YOU. YOUR setup doesn’t need to be based on any other person’s paradigm, unless YOU choose that for yourself. Some popular examples are i3, iceWM, and Sway.

 

10) What is the Terminal?

It is the primary command line interface in Unix-based systems, other than TTY. It is a more powerful version (IMHO) of the Powershell in Windows, it allows you to update your whole system in a command or two (depending on if you have aliases, or which package manager your distribution uses), change settings if you know the commands, launch programs without browsing to an icon or shortcut on your system, reboot the system, just about anything, really.

 

11) What is TTY?

A pure command line tool that allows you to dive all of the way down to kernel level and edit whatever you please, more or less. It is Linux without a GUI. You will see it if you break your Desktop Environment, graphics drivers, or Window Manager. You can call it up at any time by pressing CTRL + ALT+ F3-F6, then return to your primary GUI by pressing CTRL + ALT+ F2, if it is functional.

 

12) What is a package manager?

A package manager is your portal to repositories where packages and programs are stored. It provides a centralized way to install and manage programs on your PC, rather than needing to browse near and far, hither and yon across the internet just to find programs you want to install. They are a better way than the disorganized way windows has most of us trained. Some common examples of package managers are APT/Synaptic, Pacman/Pamac, Zypper, YUM, and Pkcon. APT/Synaptic exists in Debian/Ubuntu. Pacman/Pamac are used by most Arch distros. Zypper is the manager from SUSE. YUM is from RHEL/ Fedora. Pkcon is the one for KDE Neon (which is a flavor of Ubuntu, but the developers chose to roll their own package manager for it, as APT can be awkward at times).

 

13) What is a repository (repo)?

A repository is a server, usually with mirrors (copies in other places) that hosts certain packages (programs and apps) for your distribution, or a program that you want to add to your computer (if you are on Debian/Ubuntu).

 

14) What is a server?

A server is a computer that provides something to other client computers, whether files, printers, or some other centralized resource that can be shared across a network.

 

15) What is a network?

A network is a group of interconnected computers that can share files, services, or other resources. There are Local Area Networks (LANs, like at your house or in the office at work), also known as intranet, are within one location or company, and Wide Area Networks (WANs), which often contain many LANs, and comprise larger elements of the internet. 

 

16) What is a Bootable or LiveUSB?

A USB flash/ jump/ pen/ thumb drive that has had an operating system installed on it via a tool like Balena Etcher, YUMI, Rufus, or any number of others out there so that it can be launched by any attached computer. Then you can choose to install it or not after you explore a bit, as it really is running on your system, just in a static manner.

 

17) What does it mean to “flash” an OS?

Flashing is the process of installing a desktop OS or mobile ROM to a portable medium like a USB thumb drive, SD card, or external SSD or hard drive. This makes the drive able to boot into and install (if so desired) any compatible OS on any computer or device it is compatible with.

 

18) What’s an ISO file?

It is a file type defined by the International Standards Organization, specifically those around ISO protocol 9660. This standard allows whole file systems to be directly copied without any compression applied, and to produce a single file which can be used as though it were physical media. This allows the entirety of what was on a disc or discs (CD, DVD, or Blu-Ray) to be transferred to a computer as a single file. This file can then be mounted (and used as though it were the physical media), or copied to other media (another optical disc, external drive, or a thumb drive that has enough capacity). This is why whenever you download Windows, Linux, or a copy of MacOS, it comes as an ISO file.

 

18) What is a ROM?

It stands for Read Only Memory. For our purposes, this is what we call system images for mobile devices, mostly for Android phones. It is the Android equivalent of an ISO file for your desktop. 

19) What in the world is mounting in Linux? Why do I have to Mount my USB or optical drive media before I can access it?

 

What is meant by mounting a drive? Before your computer can use any kind of storage device (such as a hard drive, CD-ROM, or network share), you or your operating system must make it accessible through the computer’s file system. This process is called mounting. You can only access files on mounted media.

  • Here’s an analogy I found on a Linux forum that may help you to grasp it better:

Let’s consider the job of the Post Master general of Washington DC.

In the early days, all roads which led to anywhere, lead from PA Avenue outwards. If you wanted to get your mail, your location had to be navigable from PA Avenue; If somebody builds a street off PA avenue, and then builds a house, he must tell me:

“My house is at this GPS location. But in order to get mail, start at PA Avenue, then go to K street, then go to my house”

mount GPS_LocationOfMyHouse to PA Avenue / K street / MyHouse

Mounting is simply the process of telling the post master general where the house is relative to PA Avenue, or in this case, the root path.