Category: Linux

Direct File-Sharing in Linux using SFTP

If you have files on one Linux PC that you’d like to transfer to another, and using a removable flash drive would be tedious, time-consuming or inconvenient in some other way, then using SFTP by way of running an SSH server on one of the PCs will do the trick and might be the most convenient and/or quickest way to do it.

This is assuming that you don’t have a way to connect between the PC’s by some sort of shares via the graphical file managers. If so, then disregard. Otherwise, read on.

Note: This tutorial is aimed toward systems using the APT package manager (Debian, Ubuntu, Linux Mint, etc.), and so you’ll have to make some changes to the commands that search for/install packages through terminal and that start/stop services, as needed.

In order to follow the tutorial, you’ll need to install the following software:

  • FileZilla on one PC
  • OpenSSH-Server on the other PC

In most cases, both of these applications are available as binary packages from the default repositories that your PC is already configured to use. It doesn’t matter which system you install which application, but the one that gets FileZilla will be the one you directly use to control the transfer of files, so it is best to use the PC you’re actually planning to be on for that.

Note: Using SFTP, only the /home/$user directory on the machine running the SSH server will be available to transfer from/to using the SFTP client.

Linux & Windows Dual-Booting: Essential GRUB and Time Settings

If you dual-boot Linux and Windows, I consider these two things to be essential to be done. I’ve been doing them for a while and decided it was worth posting on the blog as recommendations to others.

GRUB: Remember Last Used Option

First, I feel it is best to have GRUB remember the last chosen boot option. If you don’t agree, simply don’t do this and your system will always boot into the first option (0), which is going to be populated by whatever Linux OS you used to install GRUB onto the PC.

The biggest reason why I prefer to do this is because most Windows updates typically require reboots. Some actually end up performing multiple reboots as the updates are applied. When I run Windows updates, I almost always find something else to do to bide my time, as they’re rarely ever snappy, and if I have to manually select the Windows boot loader in GRUB during each of those reboots that might happen, things are delayed even further. I can’t say how many times I had to reboot out of Linux and back into Windows to finish updates because of this. So, this resolves that issue.

Typically, the GRUB configuration is at /etc/default/grub, and this must be edited with either root or super-user privileges. By default, the following setting is defined as:

GRUB_DEFAULT=0

You can edit that line as part of the following changes, but I typically just comment it out by placing an octothorpe symbol (#) in front of it, and then add my changes directly above before saving/exiting the file:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
#GRUB_DEFAULT=0

Lastly, after you’ve saved your changes, update the GRUB configuration with:

sudo update-grub

Done.

Time Configuration: Use Local Time

I consider this one an essential for everyone. Other sites have done a much better job explaining why this happens than I can do. However, I will summarize and just say that Windows stores the local time into the hardware clock and pulls that time directly to show you on your desktop. Linux, instead, stores UTC time and then applies the offset to it dependent on what your local time-zone is. For me, it’s UTC-5, and so if I don’t do this, Windows ends up telling me the time is 5 hours into the future each time I boot into it after booting into Linux (until I go into Windows and tell it to update the time online). But then Linux shows me the time as 5 hours in the past until it’s been updated. The whole process repeats with each OS boot change.

From what I’ve gathered from searching online, this can be remedied by either making Windows use UTC time or making Linux use Local Time. Because I don’t care to edit Windows registry entries anymore than I have to (and it’s apparently the only way to change this in Windows), I chose to make the change in Linux, instead.

If you enter the following command, you’ll get the time/date settings and information on your Linux system:

timedatectl

If you’re ready to change Linux to using Local Time, you can do that and update the hardware clock all at once with the following command:

timedatectl set-local-rtc 1 --adjust-system-clock

Done. From here on out, Linux will store Local Time in the system hardware clock.

I hope this is of some use to others. This info is in numerous places online, but I felt the need to include it on my blog, especially together.

Linux Mint: Managing Kernels

Quite differently from what I’ve experienced with Linux Mint distributions of the past, the Update Manager now tends to install the latest kernel by default. Previously, it would have these updates deselected and require you to manually check them to be updated and installed.

For a while now, this hasn’t really been a problem for me. And, since I know that old kernels are preserved and can be booted from in Grub if an issue presents itself, I didn’t really concern myself much. However, a recent kernel update on one of my computers started causing a problem. I reboot into it twice and each time Cinnamon would crash and I would have trouble even getting to a point where I could reboot. So, I reverted back to the last supported version.

What you might want to consider, however, is which version you want to use and to do so manually. Looking at the release schedules for the official Linux kernels here and comparing it to what Linux Mint shows in the kernel manager within the Update Manager, it appears that there are some discrepancies. Whether different distributions make their own adjustments to how they support different kernels, I don’t know. I just know that I would prefer to use what is best supported for my Linux Mint installation.

Doing so is not that hard, and I would recommend you do the same if you’re not interested in performing an update and finding yourself having trouble getting Linux Mint started. Just follow these directions on how to manage your kernels from within Linux Mint’s Update Manager:

First, open the Update Manager by clicking on the small shield in your task bar:

Then, in the top menu, click on View -> Linux Kernels:

Click Continue at the warning. Do read it first, though:

Cycle through and become familiar with the available kernels. All kernels installed on your machine will say Installed next to them, and the one that is currently active will be listed as Active:

Personally, I recommend ensuring that the one with the latest support date be installed. This will usually be the one that is considered to be the LTS option available to you. Either way, make note of the one you intend to boot with, as you cannot actually choose the kernel to boot with from here.

You actually must choose which kernel to boot with from the Grub boot menu when you first start the machine. To get to this, go down below your Linux Mint 19.x… boot option in Grub to the one that says Advanced options for Linux Mint 19.x… and you will see all of the available kernels to use (the ones installed). Unless you know you need to do so, I would avoid selecting any in (recovery mode).

All of the kernels installed on your machine will be chronologically ordered with the most recent version at the top and the oldest version at the bottom. Select the version you wish to use and the machine will boot.

The next time you boot your machine, unless you have Grub configured to save and default to the last chosen option, it will boot using the latest available kernel. So, if that kernel has caused problems, you will want to remove it from your system to ensure it doesn’t get loaded in the future. You can do this from the kernel management area of Linux Mint’s Update Manager, and I personally recommend doing that over manually removing kernels using the terminal. After you have removed this kernel, Linux Mint will restore it as an available update for your machine and also show that there are updates available because of it. In order to keep from re-installing the problematic kernel, just right-click it and click Ignore the current update for this package. You don’t want to select Ignore all future updates for this package, as that would cause the Update Manager to never show any future kernel updates.

Linux Mint 19.x: Cinnamon and AMD Graphics

If you’re just now updating to a new Linux distro running the latest Cinnamon DE and you have AMD graphics rendering, you may be running into some problems. This seems to be particularly common among those with older AMD graphics.

I have an R9 290X in my machine, and after initial testing and booting into Linux Mint 19.2, everything appeared fine. However, after running updates and rebooting, I was introduced to a Cinnamon has crashed and is running in fallback mode. Do you wish to restart Cinnamon? That is paraphrasing, as I did not screenshot the error and don’t remember it word-for-word any longer, but you’ll know exactly what error pop-up I’m referring to if you’re seeing it, as well.

At first, I thought it might be an issue with Cinnamon itself, and started searching for indications that I should restore the system backup I did before updating. But then I started seeing signs of the graphics rendering being the issue. Some forum threads had members suggesting that hardware others were using may no longer be capable of running Cinnamon any longer, but I could not see my R9 card being unable to run Cinnamon, so I decided to log out and start Cinnamon using software rendering instead. This allowed Cinnamon to run fine, so it told me the issue was definitely with my hardware.

Since hardware support is typically located at the kernel in Linux, I started looking at trying different kernels. I reverted back to the previous kernel used prior to the system update with no success, then moved to test out the newest kernel versions in 5.x branch with no success. The last thing I could do at this point was hope for some way to get drivers that would support my system. The solution was AMD’s proprietary drivers located here. Following the instructions of extracting the tar.gz and running the amdgpu-pro-install script, everything went smoothly and a reboot had my system working as expected with hardware rendering.

The instructions for installing the drivers was straight-forward as laid out by AMD in the documentation.

I hope this helps someone.

Commercial DVD Playback in Ubuntu 18.04

This also applies to KDE neon installations using the Ubuntu 18.04 base, and possibly Linux Mint 19.x.

sudo apt install libdvdnav4 libdvdread4 gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg
sudo apt install ubuntu-restricted-extras

A lot of online advice suggest doing everything except reconfiguring the libdvd-pkg package, which leaves you without the necessary libdvdcss package installed on the system for most applications to be able to read the commercial DVD. Following all the above steps should install everything needed, and grab the latest libdvdcss package directly from videolan.org.

This is also explained by the VideoLAN devs themselves here.

Ubuntu 18.04 Live Installation – How To Reboot

Just a quick tidbit for those who found themselves stuck at the nefarious Please remove installation medium, then reboot. message that restarting/shutting down from a Live Boot of Ubuntu 18.04 presents. I’ve seen several people mention this problem after it popped up for me after running it for a test, but I didn’t see any solution mentioned. Everyone stated that they had to hard reboot their PC by holding in the Power Button. As most will find out, pressing Enter, Esc or any other usual common keystrokes to progress will do nothing. I even tried a console command such as sudo reboot with no luck – even though the screen doesn’t technically present a terminal prompt (just trying anything at that point).

So, do I have a solution? Yep…

CTRL + C

You’ll see your screen magically go black and reboot the PC (even if you chose Shutdown from the exiting menu in the Ubuntu Live Session). The only other nuisance I’ve seen this with (and this could just be something to do with my particular setup) is that the EFI OS boot manager gets altered and sets Windows Boot Manager as the first order option on the machine after running the Live Session. Unsure if that’s something to do with Ubuntu (it happens when testing KDE neon, as well, which is Ubuntu-based) or something to do with the fact that the PC booting is managed via EFI. Some might manage to boot into Linux and reinstall Grub to get around this, but really going into the BIOS/UEFI settings when the PC boots and just rearranging the OS boot manager order in the system configuration gets things back to the way they were before. An easy fix, but just annoying that I’ve had to do this each time I’ve tested a Live Boot of Ubuntu or KDE neon (ended up installing Linux Mint 19 from the first test of the Live Session, so didn’t see if it would cause the same issue).

I do think it’s stupid that the latest LTS version of Ubuntu doesn’t provide a more straight-forward approach to this situation (the historical Remove media and press Enter. has always worked well, and is still how other distros do it), but… there ya go. At least a proper resolution does exist until Canonical sorts out the emotional storm they seem to be going through to get back to the straight and narrow.

As for a return to Gnome… I thought the desktop looked fine. I’ve never been a fan of the Ubuntu purple theme color, but Gnome seems to run as well as Unity did in my previous Ubuntu experiences. I only started using Ubuntu around the coming of 12.04, so I wasn’t familiar with the Gnome 2 Ubuntu of past times. For what it was, Unity seemed fine to me. The only thing that pushed me away from using Ubuntu was Canonical’s more commercial minded moves to forcing Amazon, tracking and profiting off of dash searches and the such. Even if there were ways to get around it all, the problem is that Canonical wanted to force those practices onto its users in the first place. I’ll compare it with phpBB’s attempt to fund itself by profiting from video embeds in newer versions of their software. The difference, however, is that phpBB lets you know that this is something that they would like for you to do upon installing the software on your website, and provide appropriate (and simple) means of opting out of doing so. Like Canonical, the developers of phpBB provide their product as free-to-use, but gain some profits from services related to the product. However, where it seems to stand out to me (and this is from the layman point of view) is that they are being fairly transparent about their practices to attempt funding their work from your use of their otherwise completely free product. Canonical, instead, went about it in a way that seemed to imply that they didn’t want the user to know it was happening. I know this is a dead-horse subject that was beaten to that point several years ago, but that is ultimately why I ditched Ubuntu for other distros – even ones that link back to Ubuntu as a base. Up until recently, I’ve been happy using Linux Mint – and with the discontinuation of their KDE option, I’ll likely also be looking to KDE neon. With alternatives such as these available to me, I’d be quite surprised if I ever install Ubuntu on anything I own as a day-to-day use OS ever again.

Linux Mint, Cinnamon and Banshee: Disable Song Change Notifications

I’m really impressed with Cinnamon in the more recent release of Linux Mint. However, I hate that simply pressing for the next song to play in my Banshee library causes a notification to pop up on my Notifications panel in Cinnamon. If you sit there and let the application play through a whole list of songs, you’ll easily look down and find dozens of notifications – which I consider totally pointless and without any benefit. If you disagree, feel free to keep getting your notifications.

Fortunately, you can simply disable a small extension in Banshee to cease getting the notifications.

  • Click Edit in the top menu and go to Preferences.
  • Click on the Extensions tab.
  • Scroll down until you see the Utilities category and search for Notification Area Icon. Note: all extensions and categories are alphabetically ordered, and it should be the second from last extension in the entire window if you have not installed any additional extensions in Banshee (feel free to scroll all the way down for quick find).
  • Uncheck the box next to this extension and you’ll get no more notifications in Cinnamon from Banshee.

It’s that simple. It would be more intuitive to have the option accessible from the notifications area in Cinnamon itself, but at least there is a way to disable it. Otherwise, I might have found myself switching to a new music application. I have not used Banshee in MATE, but I would assume disabling the notifications would be similar if it produces notifications in that desktop environment as well.

I do like the task bar icon and pop-up with information and control interface in Cinnamon for Banshee. It looks sleek and provides all the essential commands to the play er without having to open it in a full window. Even though I was used to Rhythmbox and did like its integration into Ubuntu’s task bar, I think I actually like the Cinnamon/Banshee integration slightly better. The down side for me, unless I’m missing the ability to change this, is that I can’t close Banshee to just the icon on the task bar but just minimize to get rid of it – moving to a different workspace being the only apparent option to free up the place on the task bar altogether. Unsure why they haven’t made the ability to close the window to the task bar only, or if its a limitation in Banshee or Cinnamon itself, but hopefully they’ll add this option at some point. Or hopefully I’ll learn how to use it if I’m missing it somewhere.

Properly Cleaning Up /boot Partition

This is a follow-up post to a post I made earlier today: Cleaning Up /boot Partition.

I won’t say that the steps in that post aren’t going to help clear up space, but it certainly didn’t do the trick for me. I still had a piled up /boot partition loaded with the kernel images. I can’t explain why, but completely removing them via Synaptic apparently didn’t completely remove them. So, it appears this method is more effective.

Search for installed packages named linux-image* to see the kernels on the machine:

dpkg -l linux-image*

Like before, you can find the current kernel using this command:

uname -r

I recommend keeping the current and its previous kernel, but that choice is yours. Either way, you do not want to remove the current kernel! Using the same example from the previous post, I’ll change the step to remove the same kernel images but using this method.

sudo apt-get remove linux-image-{34,35,36,37,39,40,43,44}-generic

Then, remove dependencies.

sudo apt-get autoremove

 

Cleaning Up /boot Partition

It’s very easy to lose track of how many times the Linux kernel is updated on your system, and, depending on the amount of space allotted to the /boot partition, you’re likely to come across an error stating that there isn’t enough space to provide updates at some point. You may be confused if you see this message, especially since it isn’t always clear where the lack of space is in the message – and you’ll easily tell yourself that there’s no way your root partition doesn’t have the 100MB of space to perform the update. Instead, it’s the boot partition that is lacking the available space.

Why? Because every time the Linux kernel is updated, the previous kernel is kept on the system as well. You might think it pointless, but it’s actually rather nice – especially if a kernel update creates an issue with something you have installed on the system. You can easily boot into a previous kernel in that situation. The problem is that there is no limit to how many kernels are stored, and so after about ten kernel updates, you’re likely going to be out of space – especially with the default 500MB partition allotment that Ubuntu and its derivatives tend to stick with.

The easiest way, in my opinion, to remove these unnecessary kernel images off of the boot partition to provide space for future updates is using Synaptic Package Manger. Some explanations state using the command line to remove the packages, but the UI of Synaptic works great for this.

The first thing I’d advise to do is look at the images stored on the boot partition. You can do that by entering this into your console:

ls /boot/

You’ll see a lot of different files listed, but the most important part of each filename is the version number. Despite the variances in the list of files (abi, config, System, etc.), they should all share the same version numbers in that part of their filenames. The thing I recommend doing is removing all but the last two, which should be the current kernel and the previous one before it. You can check which kernel the system is running with this command:

uname -r

In my situation, I had the following kernels residing on my system:

3.13.0-34-generic
3.13.0-35-generic
3.13.0-36-generic
3.13.0-37-generic
3.13.0-39-generic
3.13.0-40-generic
3.13.0-43-generic
3.13.0-44-generic
3.13.0-45-generic
3.13.0-46-generic

So, I’m removing kernels 3.13.0-34 through 3.13.0-44. After opening Synaptic Package Manager, first click on Installed in the left-hand column to filter out all uninstalled packages. Then, search for the first part of the version numbers for the kernels. eg.: 3.13.

Select each package title linux-headers-x.xx that fits within the kernel versions we’re removing, and after you’ve highlighted all of them click the green box next to it and select Mark for Complete Removal. You’ll notice that all of the linux-image-x.xx packages have also turned red and are selected for removal. Simply hit Apply at the top and confirm with the popup for the packages to be removed and Synaptic will do the rest. It should take only a few seconds, but less than a minute in any case.

While you’re in Synaptic, you can also remove any residual configurations by selecting Not installed (residual config) in the left-pane and removing any packages listed there as well. This will clear up any configurations left by packages that have been removed from the system – freeing up wasted space.

ReadyShare USB Storage via NETGEAR Router in Ubuntu

Okay. Maybe I’m missing something here, but I was confused about how to access an external USB drive that I decided to connect to my NETGEAR router and use as for shared network storage in my house. All searched online led to explanations of using fstab to mount the drive and map it to a location such as /media/network, which I instantly thought seemed like too much work for the simple ability of accessing a USB drive connected through the router. After all, finding such a drive is as easy as viewing Network locations in Windows, and I refused to believe that it could be any harder in Linux.

Apparently, I was right. I would have manually entered the location that I expected the drive to be in the file manager, but I don’t have an address bar that I can manually enter locations into (or I haven’t configured Nautilus to show on if it’s capable of doing so). But, as soon as I opened Nautilus and looked in the left-pane displaying locations such as Locations, Devices, Bookmarks and Network, I saw a hint as to what I was looking for: Browse Network.

As soon as I select Browse Network, I see exactly what I’m looking for. Two options, among several others, listed as READYSHARE and readyshare(for Time Machine). Both lead to the same place, a location listing USB_Storage, which was exactly what I needed. Clicking on USB_Storage reveals the contents of my USB drive that I have connected to the router’s USB port. Just to be sure I could, I created a new text file on the drive and saved a small string of text into it to make sure I would be able to alter the drive in some way from my Ubuntu PC. Everything worked as expected.

So, I really don’t know the benefit of following other explanations of accessing and manipulating storage devices in Ubuntu that are connected to NETGEAR’s ReadyShare port, but this way worked fine for me.