KDE Bugsquad – Kdenlive Bug Day on December 15th, 2018 (Today!)

We will be holding a Bug Day on December 15th, 2018, focusing on Kdenlive. Join at any time, the event will be occurring all day long!

This is a great opportunity for anyone, especially non-developers to get involved!

  1. Mascot_konqi-support-bughunt.pngCheck out our Bug Triaging guide for a primer on how to go about confirming and triaging bugs.
  2. Log into KDE Phabricator and join the Bugsquad!
  3. Join the #kde-bugs IRC channel on Freenode to chat with us in real-time as we go through the list.
  4. Open the shared Etherpad for this event (use your KDE Identity login) to select your block of bugs and cross them off.

If you need any help, contact me!

Advertisements

Preparing for AI and Automation

I recently had a guest blog post featured on the INE Blog about preparing an IT environment for AI and automation. Check out the post!

Here is an excerpt of the beginning:

It is undeniable that Artificial Intelligence and Automation are in the minds of the public. With major corporations such as Google, Amazon, Facebook, and Microsoft making the news on their artificial-intelligence research and products, and personalities such as Elon Musk, Bill Gates, and Stephen Hawking holding interviews warning of an A.I. apocalypse, it’s no wonder people are talking about it.

Artificial Intelligence has recently migrated into Information Technology, with several companies providing solutions for IT Operations. Executives and managers are quickly eyeing it up, excited by its abilities to make employees more efficient, reduce downtime, and minimize staffing. The marketing for these products is very positive, extolling the simplicity of operations and their effectiveness. The algorithms, as it is explained, will handle everything.

There is a configuration cost to get it up and running and to keep it running smoothly that management may not see at first. There is no “Easy” button here. Depending on the organization, implementing an A.I. and automation platform may require thousands of hours of work. This article aims to provide some thoughts on prerequisites to using A.I. in your IT infrastructure.

[…]

My KDE-Centric Linux Laptop Setup – Part 1

The following are my notes on how I like to set up my Linux systems, specifically my primary laptop (Dell XPS 13). These are notes more for myself, for future reference. But others may find it useful for their systems as well. Part 1 covers the software I like to install for various purposes. Part 2 will cover configuration file changes, including for power and performance.

This is currently based on running KDE Neon. Other distros will be slightly different based on pre-installed packages and installation methods available.

Software Changes

Prerequisites

Desktop

  • Install Latte Dock for a beautiful top bar:
    • sudo apt install latte-dock
  • Install Yakuake to provide a quick access drop-down terminal:
    • sudo apt install yakuake
    • Note: Add an entry in Auto Start to have it load on login.
  • Install additional wallpapers:
    • sudo apt install plasma5-workspace-wallpapers
  • Install Redshift to reduce eye strain:
    • sudo apt install redshift
    • Note: Additionally, install the Redshift Control Plasma widget from the KDE Store.
  • Install libinput-gestures and required packages to allow for touchpad gestures:
    • sudo apt install xdotool wmctrl libinput-tools
    • sudo gpasswd -a $USER input
    • mkdir ~/.bin
    • cd ~/.bin
    • git clone https://github.com/bulletmark/libinput-gestures
    • cd libinput-gestures
    • sudo ./libinput-gestures-setup install
    • libinput-gestures-setup autostart

Peripherals

  • Install HP Linux Imaging and Printing with the full GUI package to provide networked printing and scanning capabilities for my printer:
    • sudo apt install hplip-gui
  • Install Skanlite to provide a scanning application:
    • sudo apt install skanlite

Multimedia

  • Install simplescreenrecorder to easily produce screencasts:
    • sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
    • sudo apt update
    • sudo apt install simplescreenrecorder
  • Install Peek to easily create screencast GIFs, useful for bug reporting and blog posts:
    • sudo add-apt-repository ppa:peek-developers/stable
    • sudo apt update
    • sudo apt install peek
  • Install screenkey and required packages to provide an on-screen display to keyboard input for screencasts:
    • sudo apt install slop python-gtk cairo fontawesome-fonts python2 python-gtk2 python-setuptools python-distutils-extra
    • cd ~/.bin
    • git clone https://github.com/wavexx/screenkey
    • cd screenkey
    • sudo ./setup.py install
  • Install Kdenlive for video editing:
    • sudo apt install kdenlive
  • Install Audacity for audio editing:
    • sudo apt install audacity

System Maintenance

  • Install Ukuu to easily upgrade to a mainline Linux kernel:
    • sudo add-apt-repository ppa:teejee2008/ppa
    • sudo apt update
    • sudo apt install ukuu
    • Note: From within Ukuu, install the latest mainline kernel when complete.
  • Install htop to improve process management:
    • sudo apt install htop
  • Install neofetch for screenshot information display:
    • sudo apt install neofetch
  • Install PowerTOP to provide power usage insight:
    • sudo apt install powertop
  • Install TLP to provide laptop power management services:
    • sudo apt install tlp
  • Install KBackup to provide a backup GUI:
    • sudo apt install kbackup
  • Install Filelight to provide graphical insight into disk usage:
    • sudo apt install filelight
  • Install KDE Partition Manager to easily adjust device partitions:
    • sudo apt install partitionmanager

Productivity

  • Install the Fresh version of LibreOffice and the Breeze style for it:
    • sudo add-apt-repository ppa:libreoffice/ppa
    • sudo apt update
    • sudo apt install libreoffice libreoffice-style-breeze
  • Install Virtual Machine Manager to run VMs with QEMU/KVM:
    • sudo apt install virt-manager
    • sudo apt install virt-viewer
    • Note: virt-viewer is the recommended client by the virt-manager team, especially for SPICE connections (which I use).
  • Install Nextcloud synchronization client and Dolphin integration via a PPA:
    • sudo apt install nextcloud-client
    • sudo apt install nextcloud-client-dolphin
    • sudo add-apt-repository ppa:nextcloud-devs/client
    • sudo apt update
  • Install Kate to provide additional text editing features over the included KWrite:
    • sudo apt install kate
  • Install KRDC for Remote Desktop usage:
    • sudo apt install krdc
  • Install Krita for basic image manipulation:
    • sudo apt install krita
  • Install Kolourpaint for quick image annotation:
    • sudo apt install kolourpaint

Gaming

  • Install Vulkan drivers for gaming:
    • sudo apt install mesa-vulkan-drivers
  • Upgrade to the latest graphics drivers with the Oibaf PPA:
    • sudo add-apt-repository ppa:oibaf/graphics-drivers
    • sudo apt update
    • sudo apt upgrade
  • Install Steam from Flathub:
    • flatpak install flathub com.valvesoftware.Steam
    • Note: This is required because of package incompatibilities with the Oibaf graphics driver upgrade. You can’t install the native Steam package via apt.

KDE Bugsquad – Okular Bug Day on November 27th, 2018

We will be holding a Bug Day on November 27th, 2018, focusing on Okular. Join at any time, the event will be occurring all day long!

This is a great opportunity for anyone, especially non-developers to get involved!

  1. Mascot_konqi-support-bughunt.pngCheck out our Bug Triaging guide for a primer on how to go about confirming and triaging bugs.
  2. Log into KDE Phabricator and join the Bugsquad!
  3. Join the #kde-bugs IRC channel on Freenode to chat with us in real-time as we go through the list.
  4. Open the shared Etherpad for this event (use your KDE Identity login) to select your block of bugs and cross them off.

If you need any help, contact me!

KDE Bugsquad – Okular Bug Day on November 17th, 2018

Thank you to everyone who participated last Bug Day! We had a turnout of about six people, who worked through about half of the existing REPORTED (unconfirmed) Konsole bugs. Lots of good discussion occurred on #kde-bugs as well, thank you for joining the channel and being part of the team!

We will be holding a Bug Day on November 17th, 2018, focusing on Okular. Join at any time, the event will be occurring all day long!

This is a great opportunity for anyone, especially non-developers to get involved!

  1. Mascot_konqi-support-bughunt.pngCheck out our Bug Triaging guide for a primer on how to go about confirming and triaging bugs.
  2. Log into KDE Phabricator and join the Bugsquad!
  3. Join the #kde-bugs IRC channel on Freenode to chat with us in real-time as we go through the list.
  4. Open the shared Etherpad for this event (use your KDE Identity login) to select your block of bugs and cross them off.

If you need any help, contact me!

The Future is Rolling

I love rolling distros.

I find the idea of continual improvement in software very appealing. If you’ve ever used a piece of software hosted on a website (SaaS), you’ve probably already experienced it. Think about it, how often have you had to go to Gmail v2 and upgrade your email?

Never.

Take that same general idea, and apply it to your operating system on your computer. Instead of receiving a major upgrade every few years, requiring a nail-biting update process and possible data migration, you get incremental upgrades more often.

Yes, you still receive security updates and small bug fixes in a standard, stable release system. But there are a lot of improvements that are delayed for years, that are just as important for users. Having become involved in KDE, I now see the daily improvements that occur. New features, enhancements, and adjustments, that someone on a stable release will not receive until they go through that upgrade process. I understand the reason for it, though.

Stability.

But, again, having been involved in KDE now, I see the other side. Our code goes through a rigorous peer review process before acceptance. The odds of a bug being introduced is very slim. The risk, just isn’t there, in my opinion.

There are ways to mitigate the remaining risk.

Automated tests with systems such as Jenkins and openQA, and continuous integration can greatly assist with ensuring any issues are quickly caught.

I believe rolling Linux distros like Manjaro, Arch, openSuSE, and Solus are the future. Are they ready today? I don’t know, I’m not so sure. I’m not convinced we have enough automated tests, and quality control to declare them the only way forward. But they are a good start. I genuinely enjoy Manjaro and Solus.

Even Microsoft is on board.

Windows 10 is now intended to be (in their own words) “the last version of Windows”, with Microsoft converting it into a rolling SaaS product.

Just like a rolling Linux distro.

Remote Server/Host Access and Root Login Using SSH

Learn about remote server/host access and root login using SSH in this guest post by Tajinder Kalsi, an information security and Linux expert.

Secure Shell (SSH) is a protocol that is used to log onto remote systems securely and is the most commonly used method for accessing remote Linux systems.

Getting ready

To see how to use SSH, you need two Ubuntu systems. One will be used as the server and the other as the client.

How to do it…

To use SSH, you can use freely available software called OpenSSH. Once the software is installed, it can be used by the ssh command. Take a look at how to use this tool in detail:

  1. If OpenSSH server is not already installed, it can be installed using the following command:

sudo apt-get install openssh-server

openssh-1

  1. Next, you need to install the client version of the software:

sudo apt-get install openssh-client

openssh-2

  1. For the latest versions, the SSH service starts running as soon as the software is installed. If it is not running by default, you can start the service by using the command:

sudo service ssh start

openssh-3

  1. Now, to log in to the server from any other system using SSH, you can use the following command:

ssh remote_ip_address

Here, remote_ip_address refers to the IP address of the server system. Also, this command assumes that the username on the client machine is the same as on the server machine:

openssh-4

If we want to log in for a different user, the command will be as follows:

ssh username@remote_ip_address

openssh-5

  1. Next, you need to configure SSH to use it as per your requirements. The main configuration file for sshd in Ubuntu is located at /etc/ssh/sshd_config. Before making any changes to the original version of this file, create a backup using the following command:

sudo cp /etc/ssh/sshd_config{,.bak}

The configuration file defines the default settings for SSH on the server system.

  1. Opening the file in a text editor, you can see that the default port declaration on which the sshd server listens for the incoming connections is 22. You can change this to any non-standard port to secure the server from random port scans, thus making it more secure. Suppose you change the port to 888, then the next time the client wants to connect to the SSH server, the command will be as follows:

ssh -p port_numberremote_ip_address

openssh-6

As you can see, when you run the command without specifying the port number, the connection is refused. When you mention the correct port number, the connection is established.

How it works…

SSH is used to connect a client program to an SSH server. On one system, you install the openssh-server package to make it the SSH server, and on the other system, you install the openssh-client package to use it as the client.

Now, keeping the SSH service running on the server system, you try to connect to it through the client.

You can use the configuration file of SSH to change the settings such as the default port for connecting.

Enabling and disabling root login over SSH

Linux systems have a root account that is enabled by default. Unauthorized users gaining root access to the system can be really dangerous.

You can disable or enable the root login for SSH as per your requirements to prevent the chances of an attacker getting access to the system.

Getting ready

You need two Linux systems to be used as server and client. On the server system, install the openssh-server package, as shown in the previous recipe.

How to do it…

First, take a look at how to disable SSH root login and then you’ll also see how to enable it again:

  1. First, open the main configuration file of SSH, /etc/ssh/sshd_config, in any editor:

sudo nano /etc/ssh/sshd_config

  1. Now look for the line that reads as follows:

PermitRootLogin yes

  1. Change the value yes to no. Then save and close the file:

PermitRootLogin no

openssh-7.png

  1. Once done, restart the SSH daemon service using the following command:

openssh-8

  1. Now try to log in as root. You should get an error:

Permission Denied

This is because the root login has been disabled:

openssh-9.png

  1. Now whenever you want to log in as root, you’ll first have to log in as a normal user. After this, you can use the su command and switch to the root user. So, the user accounts that are not listed in the /etc/sudoers file will not be able to switch to root user and the system will be more secure:

openssh-10

  1. Now, if you want to enable SSH root login again, you just need to edit the /etc/ssh/sshd_config file again and change the no option to yes:

PermitRootLogin yes

openssh-11.png

  1. Then restart the service again by using the following command:

openssh-12

  1. Now if you try to log in as root again, it will work:

openssh-13

How it works…

When you try to connect to a remote system using SSH, the remote system checks its configuration file at /etc/ssh/sshd_config. According to the details mentioned in this file, it decides whether the connection should be allowed or refused.

There’s more…

Suppose you have many user accounts on the systems. You need to edit the /etc/ssh/sshd_config file in such a way that remote access is allowed only to few mentioned users:

sudo nano /etc/ssh/sshd_config

Add the following line:

AllowUsers tajinder user1

Now restart the SSH service:

sudo service ssh restart

Now when you’ll try to log in with  user1, the login is successful. However, when you try to log in with user2, which has not been added in the /etc/ssh/sshd_config file, the login fails and you get  Permission denied error, as shown here:

openssh-14

That’s it! If this article piqued your interest in learning more about security with Linux, you can explore Practical Linux Security Cookbook – Second Edition. Packed with numerous hands-on recipes to secure a Linux environment from modern-day attacks, Practical Linux Security Cookbook – Second Edition is a must-read for all Linux users.