Businesses should dump Windows for the Linux desktop

Here is an interesting article by Steven J. Vaughan-Nichols  at “The Register.”

https://www.theregister.com/2022/08/10/opinion_column_drop_windows_for_linux

Some of the highlights

  • Businesses should dump Windows for the Linux desktop.
  • …Windows’ security mess has never been just because Windows is more popular. I’d argue Windows is insecure by design.
  • It [Windows] was never, ever meant to work in a networked world. So, security holes that existed back in the day of Windows for Workgroups, 1991, are still with us today in 2022 and Windows 11.

DigitalBridge to be at Wake Forest Job Fair

Digital Bridge will be participating in the next Wake Forest Area Chamber of Commerce Job Fair. Make sure you stop by and check out what opportunities we have available to help advance your career or business.

Check out the DigitalBridge Twitter feed.

My Next Book

Linux for Small Business Owners: Using Free and Open Source Software to Power Your Dreams

by David Both, Cyndi Bulka

My next book, Linux for Small Business Owners: Using Free and Open Source Software to Power Your Dreams, with co-author Cyndi Bulka, yoga instructor, coach, and author, is now available.

Description

Learn how you can take complete control and run your small business with powerful, free open source software (FOSS). This book introduces small business owners to the power and security of Linux and other FOSS tools to manage any small business as well as the many advantages it has over expensive, proprietary software. While exploring the reasons for using Free Open Source Software, you’ll investigate the assertion that, “The value of any software lies in its usefulness not in its price,” set forth by Linux Torvalds, the creator of Linux.

This book examines the use of Linux and also the other Free Open Source Software you need to meet your business challenges including the usual accounting, Email, web browsing, word-processing tasks.

Most small business owners perform many tasks including that of administering their computers. This book shows you how to find and install new software you need to run your business and keep it up to date using the tools already provided by Linux and the secure, trusted repositories available online. It also explores how to decide which tasks to do in-house and which you might want to sub out to external resources such as advertising and contact services to attract and keep customers.

Linux for Small Business Owners provides some logic, reason, and explanation for each of the steps that are needed and the tools used to implement Linux in your small business. It is a detailed guide to removing Windows from your computers and installing Linux and some commonly used open source software like the LibreOffice suite of programs, accounting, and other software useful to many small businesses. It also provides the information and tools necessary to manage and maintain Linux and applications up-to-date and secure.

What you’ll learn.

  • Understand what the term “free/open source” means and how you can apply it to your business.
  • Look at the operational and financial advantages of using Free Open Source Software instead of expensive, proprietary software.
  • See why you will never need to pay for anti-virus and anti-malware software again.
  • Replace expensive software like Microsoft Office with open source tools such as LibreOffice
  • Review the factors required to make an informed decision about switching to Linux.
  • Install new applications, updates to Linux, and the application software.
  • Explore why backups are critical, how to create them, and how to use them to restore lost data.

Who This Book Is For

Ideal for small business owners and owner-operated small businesses looking to streamline operations, save money, time and energy managing the common problems associated with using more popular operating systems.

MasterFrame update

I have done some additional hacking on my primary workstation after initial installation in the CoolerMaster MasterFrame 700. The picture shows the current state. There will never be a final result because this frame just cries out to try new things.

The first thing I did was add the pair of fans on the right side of the main frame. The frame I mounted the fans on is not part of the MasterFrame. It was originally part of my Thermaltake Core X9 case and I used it there for fans to cool the hard drives. It works perfectly on this MasterFrame 700 and I mounted it using the small flat-head bolts with washers provided with the MasterFrame. I use these fans to move cool air over the motherboard with its two M.2 SSDs, four memory DIMMS, and two plug-in adapters. One of those adapters is the Radeon Pro WX2100 graphics adapter.

I lowered the 5.25 media dashboard to leave more room at the top of that wing. I also added the BASH sticker.

You can see the original I/O panel just underneath the media dashboard with the power LED in the shape of the CoolerMaster logo. I have a problem with this panel because it has no reset button or storage drive activity LED. So I purchased the add-on box at the bottom of the picture. This little box contains power and reset switches as well as LEDs for power and storage device activity. It does not have USB or Thunderbolt connectors but the original I/O panel does have those. In order to have both panels active with their common functions, I purchased a set of cable splitters designed for just this purpose.

I originally installed the AIO radiator cooling fans on the left wing to suck air through the radiator. Unfortunately that did not allow a good option for air filters on the back side of the wing because the radiator mounting screws interfered with that. So I reoriented the fans to blow air through the radiator but installed 120mm screens with holes already in the right places between the fans and the radiator. So now I have clean air and a clean look on those fans.

It looks great and works extremely well. The motherboard and CPU temperatures are as much as 5 degrees Celsius less than they were in the Thermaltake case.

New Case for my Primary Workstation

I just rebuilt my primary workstation in a new frame, the CoolerMaster MasterFrame 700. This is not a review but I just want to show it off a little.

This is an amazing frame for a gaming computer or a build just to show off. “Frame” is a much better word for this unit than “case.” It is really just a frame on which to mount things. Because of the many options provided, it is not necessary to mount things like the I/O panel with the power switch in one of the two “official” locations. I hacked that a bit and mounted it low on the right wing. The other locations would not allow me to see the power-on light.

The media dashboard that I mounted in the center of the right wing and just above the I/O panel, usually fits into a 5.25 front panel drive bay on most cases. Because there are no front panel bays like that, I drilled a couple small starter holes in the bottom of the dashboard and used the supplied screws to fasten it. Be careful not to drill too deep!!

All the parts in this build were moved from its previous case so there is nothing new here except for the frame.

This computer frame is a hacker’s dream.

I hope you enjoy this.

Creating test files

Some of my books and articles require you to create some files for testing. This can be done easily from the command line.

  • Open a terminal session on your desktop.
  • Copy the line below from this post.
  • Paste it into the terminal session.
  • Press the Enter key.

This Bash program creates 200 files with “Hello world filexxx” in each, where xxx is the file number. You can edit the program and change “200” to any number of files that you need.

for I in `seq -w 200` ; do echo "Hello world file$I" > testfile$I.txt ; done

Download problems with “Using and Administering Linux – Zero to SysAdmin” files

Some files for experiments do not download properly

It was brought to my attention by reader Benjamin Robertson that experiments that use the wget command to download files from GItHub result in unusable files. This is due to an error in the URL and can easily be corrected.

For example, the command:

wget https://github.com/Apress/using-and-administering-linux-volume-2/blob/master/Experiment_6-1.txt

Should be:

wget https://github.com/Apress/using-and-administering-linux-volume-2/raw/master/Experiment_6-1.txt

Note that /blob/ should be changed to /raw/ in the above URL as well as others that use the wget command. The known instances of this problem are in:

  • Volume 1, Experiment 12-1
  • Volume 2, Experiment 6-1
  • Volume 2, Experiment 6-3
  • Volume 2, Experiment 17-1
  • Volume 3, Experiment 17-1

This problem does not occur when the wget command is used with other sites such as RPMFusion and WordPress. It only occurs with GitHub.

I apologize for any problems this has caused you. I am working with Apress to determine why this problem has just shown up.

Fedora 35 First Look

It has been a while since I posted anything here. For that I apologize, but I have been busy with a number of projects and life in general. I do think the release of Fedora 35 today does deserve a bit of attention.

As soon as I received the email notification from the Fedora Project of its availability, I upgraded my primary workstation to Fedora 35 and am now using it to write this post. I have only spent about 45 minutes with Fedora 35 so far. I think the best thing that anyone can say about any upgrade is that it went well – and it did. It was an easy upgrade and there have been no surprises so far. My Xfce desktop looks and works the same. Everything underneath also seems to be working as expected. This is a seamless and – so far at least – painless upgrade.

I did notice some interesting and different process names in htop, several sets of processes with numeric names from 0 through 31. I have an Intel i9 X series processor with 16 cores (32 CPUs) so I suspect that these processes are related to the CPUs. More research is needed.

I will post more when I have upgraded my other systems including my server and my firewall and have more data points.

In the meantime, here is a link to an article in Fedora Magazine, What’s New in Fedora 35.

My Laptop Has No Numlock LED

Note: The tool described in this post worked on Fedora 33 but no longer works with Fedora 34. Because this code is no longer maintained it is unlikely that this problem will be fixed.

In addition to no Numlock LED, my laptop has no Capslock or Scrollock LEDs, either.

I have a great System76 Oryx Pro laptop that meets all of my needs for a powerful, if somewhat large portable computer. I actually have two of these Oryx Pros. One is mine and one belongs to a non-profit organization where I volunteer. Mine is a bit older, larger, and heavier while the one I use for the NPO is redesigned to be smaller, lighter, with more CPUs and the same 17″ screen size. But both of these laptops have different versions of the same simple problem.

My older version has a series of LEDs along the front edge that show all the usual information such as power, charging status, disk activity, and the Numlock and Capslock status. But there is no easy way to tell which light is which – except for the power and disk activity light. All the rest have unreadable text next to them – at least to my old eyes. The newer Oryx Pro has no lock key LEDs at all.

So it can be difficult to tell whether to expect upper or lowercase when typing, or numbers or cursor and page movement from the numeric keypad. What I needed was a status indicator for the lock keys and I found one.

I like and use the Xfce desktop on all of my systems. It is simple, easy, and uses far less system resources than many other desktops. So I did a little searching and came up with a plugin that displays the keyboard LED status in the Xfce panel. The best part is that Fedora provides a ready-built RPM package for this tool. Install it with the following command.

# dnf install -y xfce4-kbdleds-plugin

Then right-click on the top panel and open the Panel Preferences menu. Click on the Items tab and click the + button to add a new item; this opens the Add New Items menu. Locate and select the Kbdleds plugin and click the Add button which adds the item to the panel and closes the Add New Items menu. Back on the Panel Preferences menu you can select the Kbdleds plugin and use the up/down buttons to move it to the desired location on your panel.

Figure 1: The Numlock key is active as shown by the green background highlight.

The indicator is small with three letters, C(aps), N(um), and S(croll). When the corresponding key is activated, the background for that letter turns green as you can see in Figure 1.

Using my own books

One of the things I state in the Introductions about my books is that I use them myself as references and this week was no exception.

I perform many tasks on Linux computers for which I am responsible and a good deal of the time, that means remotely. And I don’t mean just from one room to the next. In many cases I need to do things over a distance of miles. I do a lot of things quite frequently and so I need no reminders of how to perform those tasks. But this week was different.

I had two problems on one computer for which I am responsible at a remote location and I did not have the time to drive there. Well – I didn’t want to drive there in any event. So, to fix both problems, I logged in to the problem computer from home using SSH.

And I used my own books as a reference resource for the tasks I performed.

Kernel problems

The first problem was with VirtualBox, the free open source software I use for running virtual machines. I knew I could fix this easily because I have done it several times; it is a problem in which VirtualBox cannot compile the kernel modules for the new kernel and I need to revert to the previous kernel. So I configured grub to boot to the previous kernel by changing the line GRUB_DEFAULT=saved to GRUB_DEFAULT=1 in /etc/default/grub. Normally the “saved” option specified in that line says that every time that Linux boots, grub saves the identity of the kernel that was booted and that becomes the default kernel for the next boot.

This resolves the problem until a kernel fix can be provided. I did not need much help with this but I did check Chapter 16 of Volume 1 of my self-study series “Using and Administering Linux: Zero to SysAdmin” to verify that I remembered the right option and the right file in which to make that change. I also needed a little help with the syntax of the command required to rebuild the grub configuration file using the revised grub default file.

[root@studentvm1 grub2]# grub2-mkconfig > /boot/grub2/grub.cfg

I don’t cover this specific situation in that series so I have added this information to my technical website at http://www.linux-databook.info/?page_id=6044.

Printer configuration

The second problem is that one of the printers available to the host was not available in the print menu when the office manager tried to print. The network printer was visible but the USB attached local printer was not. So I needed to create the print queue for that USB printer. Unfortunately, this is one of those tasks I only perform once every 3 or 4 years so I don’t really remember how to do it.

Using an SSH login session, I followed the step-by-step directions in Volume 2, Chapter 7, of my self-study series “Using and Administering Linux: Zero to SysAdmin,” Experiment 7-2, to add this print queue and test the result – successfully.

About my books

My books were written to be used as references and all of them started as memory aids for me. I would perform many tasks infrequently and it seemed a waste of time to keep doing the same research many times over. So after discovering new tools, fixes, and solutions, I started recording them so I could find them easily. Eventually I used that material as the basis to create a series of three, 4-day instructor-led courses that I taught for several years.

And then I decided to convert those courses into the books that I have written over the past several years. Because they are written in a way that can be used both for training and reference, I find them to be useful all the time. I think you will, too.

So, yes, I would really like you to purchase my books. You can find all of them listed here and specifically my self-study series “Using and Administering Linux: Zero to SysAdmin.”

Setting the number of desktop workspaces for Xfce4

I just learned something very cool.

Sometimes it is necessary to make remote modifications to a desktop using the command line. In this case I needed to reduce the number of workspaces on the Xfce panel from 4 to 3 at the request of the user. This is actually easy and only required about 20 minutes of searching on the Internet.

The xfconf-query command can be used by non-root users to query and set various attributes for the xfwm4 window manager. In the sample below I have first verified the current setting of 4 workspaces, then set the number to 2, and finally verified the new setting.

[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count
4
[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count -s 2
[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count
2
[user@test1 ~]#

Also, the default workspace count and many other defaults for xfwm4 can be found and changed in the /usr/share/xfwm4/defaults file. So setting “workspace_count=4” to “workspace_count=2” changes the default for all users on the host.

Look for more details about remote Xfce desktop configuration and the xconf-query command here.

Fedora 33 name resolution fails

I just installed Fedora 33 today, the first day it became available. One of the major changes, a switch from the ancient nss resolver to systemd-resolved has already caused me a significant amount of trouble and borked my entire network. Get the whole story and the circumvention.

How I borked my computer

Even seasoned Sysadmins can have epic fails

And this was mine. It was a bit frustrating – well, a lot frustrating. I managed to totally bork my primary workstation while trying to perform some hardware upgrades along with a restructuring of my storage configuration. The story is a bit long and consists of several intersecting events that took place over a period of weeks.

I have been working with computers for over 50 years and using Linux for almost 25. I should have known better.

Installing the first SSD

It started when I began migrating my primary workstation to SSDs. You can read the long story of that here, but this is the short version.

Having noticed that my System76 Oryx Pro laptop, with its SSDs, booted much faster than my primary workstation, I decided to convert at least one of my 4 internal hard drives to SSD.

I had previously purchased an Intel 512GB m.2 NVMe SSD for a customer project that was cancelled. I ran across that SSD while looking through my few remaining hard drives. Did I mention that my laptop boots really, really fast? And my primary workstation did not.

I have also wanted to do a complete Fedora reinstallation for a few months because I have been doing release upgrades since about Fedora 21. Sometimes doing a fresh install to get rid of some of the cruft is a good idea. All things considered, it seemed like a good idea to do the reinstall of Fedora on the SSD.

I installed the SSD in one of the two m.2 slots on my ASUS TUF X299 motherboard and installed Fedora on it, created vg01 to fill the entire device, and placed all of the operating system and application program filesystems on it, /boot, /boot/eufi, / (root), /var, /usr, and /tmp. I chose not to place the swap partition on the SSD because I have enough RAM that the swap partition is almost never used. Also, /home would remain on its own partition on an HDD.

The installation went very smoothly. After this I ran a Bash program I wrote to install and configure various tools and application software. That also went well – and fast – very fast.

And my workstation booted and ran much faster.

Display problems

Then, a few weeks ago, my primary display, a Dell with 2560×1600 resolution failed. It had started blanking out – going totally dark – for a few seconds and progressing to longer and more frequent blackouts. Until it blacked out and never recovered.

I purchased a new LG 32″ display with a maximum 3840×2160 resolution. The high res failed with my 10 year old graphics adapter so I had to purchase a new Sapphire Radeon 11265-05-20G to drive it. Then I had to reconfigure my desktop and apps to deal with the HiDPI display so I could read everything.

This problem did not directly affect how or why I borked my workstation, but it was one of several things happening at that time.

The second SSD

A few weeks after I performed the initial migration I decided to install another M.2 SSD in the second slot on my motherboard. I wanted to do this to speed access to my /home directory which was still located on an HDD. Also, I could then move swap to the first SSD which still had lots of room and then remove the HDD which would be empty.

I have an APC UPS which tells me how many Watts of power are being consumed and I was surprised at how much difference it made to move from HDD to SDD devices. Although a bit fuzzy, I estimate that I save about 20 (continuous) watts per device, which works out to about 480Watt-hours per day per device.

I moved my home directory to the new SSD which was created as vg02, turned off swap, deleted the old swap volume, and created a new 10GB swap volume on the original SSD on vg01 because there was still plenty of space there.

I had to changed the entry in /etc/fstab to reflect the new locations for those two logical volumes.

/dev/mapper/vg02-home    /tmp    ext4    discard,defaults 1 2
/dev/mapper/vg01-swap    none    swap    discard,defaults    0 0

I turned swap back on and all was good – until I rebooted. The startup sequence – when systemd takes over – locked up at about 2.6 seconds after starting. A bit of investigation showed that the /etc/defaults/grub local configuration file still contained a reference to the old swap location in the Linux kernel option line.

I changed that line to the following:

GRUB_CMDLINE_LINUX="resume=/dev/mapper/vg01-swap rd.lvm.lv=vg01/root rd.lvm.lv=vg01/swap rd.lvm.lv=vg01/usr"

I then ran the following command to recreate the grub2 configuration file.

# grub2-mkconfig > /boot/grub2/grub.cfg

I rebooted and all was well.

A bit of additional testing resulted in significantly improved times for applications to load data from my home directory which was the whole idea.

About testing

The reboot I did of my workstation after making the volume changes is always a part of my testing procedures. Any time I make a change that affects the runtime or startup configuration of the operating system I always perform a reboot to verify that none of my changes have caused problems with boot and startup. In this case it had and I was able to fix it immediately.

You do have a standard testing procedure that you use after making changes – right?

The third SSD

By this time I had one more volume located on a hard drisk that I wanted to move to an SSD to improve performance. I have over 20 virtual machines that I use for testing various Linux distributions and releases. They would still load and run fairly slowly because they were on the HDD. So I purchased a SATA, 2.5″ SDD because I was out of M.2 PCIe slots on my motherboard.

The installation was as easy as any SATA device and I created a logical volume on which I could store my virtual machines. After moving the VMs to the new volume, a little testing showed significantly improved speeds.

My misteak

So after all of those changes I decided to move some other files around and restore some older ones from an old backup just so I could have them on-line again.

I needed to change the ownership of some of the restored files. I entered the command but mistyped something and I managed to run chown on most of the files in /usr, /var, /bin, and more.

A bit of fussing failed so I reinstalled but then my home directory would prevent me from logging in with a permissions error. Re-copying and changing permissions did not work. So I did another reinstall and intentionally wiped my /home volume. After running my post-install script and restoring from the most recent backup I was up and running again.

Final thoughts

I got so caught up in making all these changes that I just neglected to verify the correctness of the command I typed. It happened to me and it can happen to you.

I learned from this, as I do from all of my mistakes. That is all we can do; fix the self-inflicted problem and learn from it so we don’t do it again. At least not any time soon. ;-)

Migrating to SSD.

A few weeks ago I installed an M.2 SSD drive in my primary workstation, and just today I installed a second one. The complete story is a bit long for a post and it really belongs on my technical website, the DataBook for Linux.

The article, Converting to SSD, covers the initial conversion and then the addition of a second M.2 SSD and the problems I had when migrating a swap volume to the SSD. It’s probably not what you think.

Anyway, I hope it helps.