Linux Today – How to manage your media with Kodi

Get control over your home media content with Kodi media player software.

video editing dashboard

If you, like me, like to own your own data, chances are you also like to purchase movies and TV shows on Blu-Ray or DVD discs. And you may also like to make ISOs of the videos to keep exact digital copies, as I do.

For a little while, it might be manageable to have a bunch of files stored in some sort of directory structure. However, as your collection grows, you may want features like resuming from a specific spot; keeping track of where you left off watching a video (i.e., its watched status); storing episode or movie summaries and movie trailers; buying media in multiple languages; or just having a sane way to play all those ISOs you ripped. This is where Kodi comes in.

What is Kodi?

Modern Kodi is the successor to Xbox Media Player, which was discontinued way back in 2003. In June 2004, Xbox Media Center (XBMC) was born. For over three years, XBMC remained on the Xbox. Then in 2007, work began in earnest to port the media player over to Linux.

XBMC home screen

Aside from some uninteresting technical history, things remained fairly stable, and XBMC grew in prominence. By 2014, XBMC had a thriving community, and its core functionality grew to include playing games, streaming content from the web, and connecting to mobile devices. This, combined with legal issues involving Xbox in the name, lead the team behind XBMC to rename it Kodi. Kodi is now branded as an “entertainment hub that brings all your digital media together into a beautiful and user-friendly package.”

Today, Kodi has an extensible interface that has allowed the open source community to build new functionality using plugins. Note that, as with all open source software, Kodi’s developers are not responsible for the ecosystem’s plugins.

How do I start?

For Ubuntu-based distributions, Kodi is just a few short commands away:

sudo apt install software-properties-common
sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt update
sudo apt install kodi

In Arch Linux, you can install the latest version from the community repo:

sudo pacman -S kodi

Packages were maintained for Fedora 26 by RPM Fusion (referenced in the Kodi documentation). I tried it on Fedora 29, and it was quite unstable. I’m sure that this will improve over time, but my experience is that Fedora 29 is not the ideal platform for Kodi.

OK, it’s installed… now what?

Before we proceed, note that I am making two assumptions about your media content:

  1. You have your own local, legally attained content.
  2. You have already transferred this content from your DVDs, Blu-Rays, or another digital distribution source to your local directory or network.

Kodi uses a scraping service to pull down TV and movie metadata. For Kodi to match things appropriately, I recommend adopting a directory and file-naming structure similar to this:

Utopia
├── Utopia.S01.dvd_rip.x264
│   ├── Utopia.S01E01.dvd_rip.x264.mkv
│   ├── Utopia.S01E02.dvd_rip.x264.mkv
│   ├── Utopia.S01E03.dvd_rip.x264.mkv
│   ├── Utopia.S01E04.dvd_rip.x264.mkv
│   ├── Utopia.S01E05.dvd_rip.x264.mkv
│   ├── Utopia.S01E06.dvd_rip.x264.mkv
└── Utopia.S02.dvd_rip.x264
├── Utopia.S02E01.dvd_rip.x264.mkv
├── Utopia.S02E02.dvd_rip.x264.mkv
├── Utopia.S02E03.dvd_rip.x264.mkv
├── Utopia.S02E04.dvd_rip.x264.mkv
├── Utopia.S02E05.dvd_rip.x264.mkv
└── Utopia.S02E06.dvd_rip.x264.mkv

I put the source (my DVD) and the codec (x264) in the title, but these are optional. For a TV series, you can include the episode title in the filename if you like. The important part is SxxExx, which stands for Season and Episode. This is how Kodi (and by extension the scrapers) can identify your media.

Assuming you have organized your media like this, let’s do some basic Kodi configuration.

Add video sources

Adding video sources is a simple, six-step process:

  1. Enter the files section
  2. Select Files
  3. Click Add source
  4. Browse to your source
  5. Define the video content type
  6. Refresh the metadata

If you’re impatient, feel free to navigate these steps on your own. But if you want details, keep reading.

When you first launch Kodi, you’ll see the home screen below. Click Enter files section. It doesn’t matter whether you do this under Movies (as shown here) or TV shows.

Kodi home screen

Next, select the Videos folder, click Files, and choose Add videos.

Kodi videos folder

Add videos in Kodi

Either click on None and start typing the path to your files or click Browse and use the file navigation.

Browse Kodi video source

Add Kodi video source

As you can see in this screenshot, I added my local Videos directory. You can set some default options through Browse, such as specifying your home folder and any drives you have mounted—maybe on a network file system (NFS), universal plug and play (UPnP) device, Windows Network (SMB/CIFS), or zeroconf. I won’t cover most of these, as they are outside the scope of this article, but we will use NFS later for one of Kodi’s advanced features.

After you select your path and click OK, identify the type of content you’re working with.

Defining video content in Kodi

Next, Kodi prompts you to refresh the metadata for the content in the selected directory. This is how Kodi knows what videos you have and their synopsis, cast information, thumbnails, fan art, etc. Select Yes, and you can watch the video-scanning progress in the top right-hand corner.

Refreshing metadata in Kodi

Kodi metadata scan

When the scan completes, you’ll see lots of useful information, such as video overviews and season and episode descriptions for TV shows.

Kodi metadata scan result

Kodi show description metadata

You can use the same process for other types of content, such as music or music videos.

Increase functionality with add-ons

One of the most interesting things about open source projects is that the community often extends them well beyond their initial scope. Kodi has a very robust add-on infrastructure. Most of them are produced by Kodi fans who want to extend its default functionality, and sometimes companies (such as the Plexcontent streaming service) release official plugins. Be very careful about adding plugins from untrusted sources. Just because you find an add-on on the internet does not mean it is safe!

Be warned: Add-ons are not supported by Kodi’s core team!

Having said that, there are many useful add-ons that are worth your consideration. In my house, we use Kodi for local playback and Plex when we want to access our content outside the house—with one exception. One of our rooms has a poor WiFi signal. I rip my Blu-Rays to very large MKV files (usually 20–40GB each), and the WiFi (and therefore Kodi) can’t handle the files without stuttering. Although you can (and we have) dug into some of the advanced buffering options, even those tweaks have proved insufficient with very large files. Since we already have a Plex server that can transcode content, we solved our problem with a Kodi add-on.

To show how to install an add-on, I’ll use Plex as an example. First, click on Add-ons in the side panel and select Enter add-on browser. Either use the search function or scroll down until you find Plex.

Kodi add-ons

Select the Plex add-on and click the Install button in the lower right-hand corner.

Plex add-on in Kodi

Once the download completes, you can access Plex on the main Kodi screen under Add-ons.

Accessing Plex in Kodi

There are several ways to configure an add-on. Some add-ons, such as NHL TV, are configured via a menu accessed by right-clicking the add-on and selecting Configure. Others, such as Plex, display a configuration walk-through when they launch. If an add-on doesn’t seem to be configured when you first launch it, try right-clicking its menu and see if a settings option is available there.

Coordinating metadata across Kodi devices

In our house, we have multiple machines that run Kodi. By default, Kodi tracks metadata, such as a video’s watched status and show information, locally. Therefore, content updates on one machine won’t appear on any other machine—unless you configure all your Kodi devices to store metadata inside an SQL database (which is a feature Kodi supports). This technique is not particularly difficult, but it is more advanced. If you’re willing to put in the effort, here’s how to do it.

Before you begin

There are a few things you need to know before configuring shared status for Kodi.

  1. All content must be on a network share (Samba, NFS, etc.).
  2. All content must be mounted via the network protocol, even if the disks are local to the machine. That means that no matter where the content is physically located, each client must be configured to use a network fileshare source.
  3. You need to be running an SQL-style database. Kodi’s official guide walks through MySQL, but I chose MariaDB.
  4. All clients need to have the database port open (port 3306 in the case of MySQL/MariaDB) or the firewalls disabled.
  5. All clients must be running the same version of Kodi

Install and configure the database

If you’re running Ubuntu, you can install MariaDB with the following commands:

sudo apt update
sudo apt install mariadb-server -y

I am running MariaDB on an Arch Linux machine. The Arch Wiki documents the initial setup process well, but I’ll summarize it here.

To install, issue the following command:

sudo pacman -S mariadb

Most distributions of MariaDB will have the same setup commands. I recommend that you understand what the commands do, but you can safely take the defaults if you’re in a home environment.

sudo systemctl start mariadb
sudo mysql_install_db –user=mysql –basedir=/usr –datadir=/var/lib/mysql
sudo mysql_secure_installation

Next, edit the MariaDB config file. This file is different depending on your distribution. On Ubuntu, you want to edit /etc/mysql/mariadb.conf.d/50-server.cnf. On Arch, the file is either /etc/my.cnf or /etc/mysql/my.cnf. Locate the line that says bind-address = 127.0.0.1 and change it to your desired Ethernet port’s IP address or to bind-address = 0.0.0.0 if you want it to listen on all interfaces.

Restart the service so the change will take effect:

sudo systemctl restart mariadb

Configure Kodi and MariaDB/MySQL

To enable Kodi to write to the database, one of two things needs to happen: You can create the database yourself, or you can let Kodi do it for you. In this case, since the only database on this system is for Kodi, I’ll create a user with the rights to create any databases that Kodi requires. Do NOT do this if the machine runs more than one database.

mysql -u root -p
CREATE USER ‘kodi’ IDENTIFIED BY ‘kodi’;
GRANT ALL ON *.* TO ‘kodi’;
flush privileges;
\q

This grants the user all rights—essentially enabling it to act as a root user. For my purposes, this is fine.

Next, on each Kodi device where you want to share metadata, create the following file: /home/<USER>/.kodi/userdata/advancedsettings.xml. This file can contain a lot of very advanced, tweakable settings. My devices have these settings:

<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>mysql-arch.example.com</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</videodatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
</videolibrary>
<cache>
<!— The three settings will go in this space, between the two network tags. —>
<buffermode>1</buffermode>
<memorysize>322122547</memorysize>
<readfactor>20</readfactor>
</cache>
</advancedsettings>

The <cache> section—which sets how much of a file Kodi will buffer over the network— is optional in this scenario. See the Kodi wiki for a full breakdown of this file and its options.

Once the configuration is complete, it’s a good idea to close and reopen Kodi to make sure the settings are applied.

The final step is configuring all the Kodi clients to use the same network share for all their content. Only one client needs to scrap/refresh the metadata if everything is created successfully. When data is collected, you should see that Kodi creates a new database on your SQL server:

[kodi@kodi-mysql ~]$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 180
Server version: 10.1.37-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> show databases;
+——————–+
| Database           |
+——————–+
| MyVideos107        |
| information_schema |
| mysql              |
| performance_schema |
+——————–+
4 rows in set (0.00 sec)

Wrapping up

This article walked through how to get up and running with the basic functionality of Kodi. You should be able to add content and pull down metadata to make browsing your media more convenient.

You also know how to search for, install, and potentially configure add-ons for additional features. Be extra careful when downloading add-ons, as they are provided by the community at large and not the core developers. It’s best to use add-ons only from organizations or companies you trust.

And you know a bit about sharing metadata across multiple devices. You’ve been introduced to advancedsettings.xml; hopefully it has piqued your interest. Kodi has a lot of dials and knobs to turn, and you can squeeze a lot of performance and functionality out of the platform with enough experimentation.

Source

Bash declare command – Linux Hint

Bash doesn’t have a strong type system. To allow type-like behavior, it uses attributes that can be set by a command.

‘declare’

is a bash built-in command that allows you to update attributes applied to variables within the scope of your shell. In addition, it can be used to declare a variable in longhand. Lastly, it allows you to peek into variables.

Here you will find out that you are blind or using the bash declare command.

At this point you are thinking, what do I need to know to use the declare command in bash? At the time like these, the man command comes in handy. I’m just going to paste the part about declare in bash builtins here.

Here are some help commands to see what it looks like in your terminal. Note that the last one is a failsafe for our friends running Git Bash in Windows.

Help commands for bash declare

  • man bash (and find the section about declare
  • or bash help declare

Now that you have read the primer, man page for declare in bash, it is time to get our hands dirty with some examples of bash declare in the wild. Note that as you scroll down deep into the jungle of bash declare examples, your pay grade and level of understanding of declare will improve.

First let’s start out by seeing if anyone declared a variable called bar. If no one has yet, dibs!

If you see the error bash: declare: bar: not found, then no one has yet. Let’s just echo $? to be sure.

1, okay good. Otherwise, you should see something like declare — bar=””. If you haven’t yet, go ahead and declare bar as something, bar= or declare bar= should do the trick. Note that the latter of the two is the longhand for variables in bash. If you are wondering what the — in declare output is, that is where variable attributes go, and there are none.

Now that assigning variables using declare is out of the picture, let’s start giving them attributes.

If you are running bash v4.3-alpha or later, this section on the -n option. If you are not sure, check using the bash –version command. Otherwise, don’t try this at home.

Look at that. We just asigned a variable to another by name. Look what happens here.

bar=x
declare -n foo=bar
echo $ $ # x x
foo=y
echo $ $ # y y
true

Now look what happens when when we don’t use declare with the -n option.

bar=x
declare foo=bar
echo $ $ # x x
foo=y
echo $ $ # y x
true

Exports

Now suppose that we tried to do something odd like this:

echo{,} $ > echo-bar.sh
bash echo-bar.sh

As you may suspect, nothing happened in standard output. Don’t worry about the voodoo in the first line. Programmers are lazy. The declare command can make names export!

declare -x bar # export bar

Now give it a try.

Note that using the –x option for declare can also be done through the export command as follows. Be sure to open up a new shell or remove the attribute using the +x option before trying out the following example.

bar=x
echo{,} $ > echo-bar.sh
bash echo-bar.sh #
export bar
bash echo-bar.sh # x

Integers

In bash, variables may have the integer attribute and the only way to accomplish this is through declare command.

Suppose that we are dealing with integers and want to make our variables behavior more responsible. We could give such variables the integer attribute using the –i option for declare.

declare –i bar # don’t know what’s in bar anymore but now it’s an integer
echo $ # x (maybe)
bar=x
echo $ # 0
bar=1
echo $ # 1
bar=3.14 # ouch
true

Note that now when we try to assign a new value to our variable 3 things happen: 1) The value is interpreted as 0; 2) The value is interpreted as an integer; 3) Error.

In addition to modifying the value assignment behavior, variables now behavior differently in arithmetic expressions as follows.

declare -i bar=1
declare car=1
echo $ # 1
echo $ # 1
bar=bar+1
car=car+1
echo $ # 2
echo $ # car+1
true

Note that you can still get away with using a variable to store an integer and carry out arithmetic without setting the integer attribute for a variable but it is there just in case.

Cases

In bash, variables may have case attributes applied on assignment. Declare allows conversion to cases lower or upper if –l or –u options are set, respectfully.

declare -u uppers=
declare -l lowers=
uppers=uppercase
lowers=LOWERCASE
echo $ # UPPERCASE
echo $ # lowercase
echo $ # uppercase
echo $ # LOWERCASE
true

These attributes may come in handy if you require single case without having to do the conversion yourself.

Readonly

In bash, variable may be readonly. To accomplish this there is the -r option for declare.

declare –r lowers # try to make lowers final
lowers=”Yet another lowers”
echo $ # yet another lowers
declare -rl final_lowers=”Yet another lowers”
echo $ # yet another lowers
final_lowers=”Yet again another lowers” # assignment block
true

This attribute could come in handy if you know that a variable has no business being changed after assignment. Note that the +r option does not work; that is stripping a variable of its readonly attribute is not allowed in bash.

Arrays

In bash, variables may be arrays. To make a variable an associative or indexed array, the –A and –a options for declare are used, respectfully.

declare -a indexed_array
declare -A associative_array
indexed_array[0]=1
associative_array[0]=1
indexed_array[one]=2 # ?
associative_array[one]=2
echo $ # 2
echo $ # 1
echo $ # 2
echo $ # 2
declare -p indexed_array
declare -p associative_array
echo $ # ouch
true

In most programming languages having the ability to use arrays is a powerful construct. Bash is no exception. It allows this through array attributes which could come in handy if requiring hash lookup or in implementing object-like behavior. Note that the index of indexed arrays behaviors like a variable with the integer attribute, thus is expected to break in the same manner, hence the last line before true.

Trace

In bash, variable may have the trace attribute applied via the -t option in declare. Trace variables unlike variables with other attributes applied depend heavily on the environment of the calling shell.

I have found mixed results using the trace attribute which have led to a review on traps and applications of trapping the DEBUG and RETURN signal. For those that tinker, finding a use for declaring a variable with the -t option is extra credit.

Functions

In bash, one of the most useful uses for the declare command is being able to display functions. The -f and -F options for declare display definition and just function names if available, respectfully.

Suppose that you want to have a fallback in case a function is not defined in your shell. We can use declare to accomplish this task as follows. For simplicity sakes, let’s use a function called foo.

# if foo is not declared

# declare it# else use available footest ! “$( declare -F foo )” || {
foo() { true ; }
}

For those that tinker, there is an alias using called commands that I cooked up a while back that uses declare to check if functions are available.

Conclusion

Although most programmers can get away with not having to use it at all, like most builtins, the declare command in bash is an essential command to really know your way around the bash shell.

Source

Compact, rugged industrial AI computer runs Linux on TX2

Jan 11, 2019 — by Eric Brown

Aaeon’s compact, fanless “Boxer-8110AI” embedded computer runs Ubuntu 16.04 on an Nvidia Jetson TX2 module and offers GbE, HDMI, CAN, serial, and 3x USB ports, plus anti-vibration and -20 to 50°C support.

Like the Boxer-8120A from last May, Aaeon’s Boxer-8110AI runs Ubuntu 16.04 on Nvidia’s Jetson TX2 module. It similarly offers 8GB of LPDDR4 RAM, 32GB eMMC 5.1, and a microSD slot, and offers -20 to 50°C tolerance. The more compact, 110 x 65 x 40mm Boxer-8110AI has a reduced feature set, yet at $1,033, it’s only $34 cheaper.

Boxer-8110AI, front and back

Nvidia’s Jetson TX2 is equipped with an Arm-based Tegra-family SoC with dual Cortex-A72-like “Denver” cores and 4x -A57 cores. The SoC incorporates 256-core Pascal graphics, supported with CUDA libraries for AI, vision processing, GPU-accelerated parallel processing, and deep/machine learning.

Boxer-8110AI front and back detail views

The Boxer-8110AI is limited to a single GbE port instead of four on the Boxer-8120A. Other features include HDMI, RS-232, micro-USB OTG, and 2x USB 3.0 host ports. The system provides a dual-channel CANBus port and an antenna hole.

Boxer-8110AI side detail view (left) and front view

The Boxer-8110AI has a 12V DC input via a terminal block and ships with a wallmount kit. In addition to extended temperature support, it provides 3 Grms/ 5 ~ 500Hz/ anti-vibration resistance.

Further information

The Boxer-8110AI is available for $1,033. More information may be found on Aaeon’s Boxer-8110AI product and shopping pages.

Source

5 Open Source Tools to Upgrade your Next Kubernetes Project

Kubernetes is one of the most popular technologies around today. So, it’s no surprise that there are an awful lot of open source libraries, tools, and other assorted goodies out there on GitHub.

We like to keep an eye on what’s fresh for developers, so today we’re taking a look at five different Kubernetes tools for developers. From serverless functions to local development, GitHub has thousands of open source tools to enjoy. Here are five interesting ones we want to take a closer look at!

As always, this list is subjective and is based off our own experiences. If you think we’ve totally missed out on a crucial Kubernetes tool that you use every day, let us know in the comments below!

Minikube

Improve your local cluster experience with Minikube! Minikube is a tool that makes it easy to run Kubernetes locally. Minikube is often suggested to beginners, since it allows users to run a single-node Kubernetes cluster inside a VM on their laptop. That way, they can try the Kubernetes experience without needing to get everything set up. Minikube is also great for developers who are just dabbling and want a day-to-day developing setup.

New users can run a Kubernetes cluster and work with curated examples without needing extensive knowledge. Minikube does this by only using kubectl and a reduced number of Kubernetes functions. Minikube works with macOS, Linux, Windows, and other OSes. It’s got a simple command setup (and teardown), with minimal dependencies and resource overhead.

If you’re looking to try out Kubernetes or develop locally, why not try Minikube? More information is available here.

Tilt

Tilt promises a stress-free experience for local Kubernetes microservice development. Developing microservices is easier than ever, since Tilt lets developers edit in their own IDEs and save to their own file systems. Now, developers can work on their microservices in an environment perfectly configured for their team.

This tool wrangles your microservices for you, by collecting problems from across tools and services into one UI. Tilt also neatly jumps around the dependency problem by running everything in containers. You won’t have to say, “well, it worked on my machine”; the right dependencies will be there! Complex projects are optimized for a minimal footprint and speedy upload.

Setup is easy if you already have a Dockerfile and a Kubernetes configuration. More information about Tilt is available here!

Rook

Storage solutions usually involve going to IKEA and looking at plastic containers. But for Kubernetes, there’s Rook! Rook is a cloud-native storage orchestrator for Kubernetes that is still incubating with the Cloud Native Computing Foundation. It provides support for a wide set of storage solutions for native integration cloud environments.

Basically, Rook takes ordinary storage software and has it manage itself. By using the underlying tools and facilities of Kubernetes, Rook makes it possible for storage services to automate deployment, bootstrap, configure, provision, scale, upgrade, and migrate on their own. Right now, Rook has a limited number of supported storage providers, but that list is growing by the day!

More information about Rook is available here!

Rancher

Looking to scale up your Kubernetes clusters? Now you can manage hundreds of clusters from the same interface! Rancher provides a container management platform designed to deploy lots of containers in production. Following the DevOps ethos, Rancher gives developers the ability to run Kubernetes everywhere on any provider.

This is primarily a management tool, bringing extra, unified control to your clusters. Rancher centrally manages an astonishing number of clusters, even giving global admins the ability to control cluster access from one location if needed. This platform has detailed monitoring and alerting, ships logs, and can even integrate directly with Helm. There’s even a pipeline engine to automatically deploy and upgrade workloads if you don’t have your own external CI/CD system. More information about Rancher is available here!

Fission

Serverless, with Kubernetes? I know it seems counter-intuitive, but thanks to Fission, developers can enjoy fast serverless functions for their Kubernetes implementations. Fission provides a serverless framework for Kubernetes with a focus on high performance and developer productivity, with a speedy 100ms start time.

Fission brings serverless functions to microservices by using Kubernetes as a foundation. Plus, this means that regular Kubernetes operations like monitoring or log aggregation can be brought to your Fission deployment.

Extensible to any language, Fission just operates on the code. While the core of Fission is written in Go, Kubernetes and Docker are abstracted away under normal operations. Plus, Fission suppers a number of other languages like Python, Node.js, PHP, and more.

More information about Fission is available here.

Source

How to install Git on Ubuntu 18.04

How to install Git on Ubuntu 18.04
How to install Git on Ubuntu 18.04

Installing Git on Ubuntu

Git is the most popular version control system nowadays. It helps to share and collaborate on software development projects. It is mainly used for source code management. In this tutorial, you are going to learn how to install Git on Ubuntu 18.04.

Prerequisites

Before you start installing Git on Ubuntu 18.04. You must have the non-root user account on your Server or Desktop with sudo privileges.

1. Install Git on Ubuntu

To install Git in Ubuntu you need to update the apt package manager index then you will install it in Ubuntu. After that, you will confirm installation.

To update apt package manager index type following in the terminal

sudo apt update

Now install Git in Ubuntu by typing

sudo apt install git

Confirm the installation and check the version executing the following command

git --version

The output should be:

Output:
    git version 2.17.1

2. Setting Up Git

To prevent warning every time you should configure it perfectly by using your Git information

First set the global username for Git

git config --global user.name "User Name"

Secondly set global email for Git

git config --global user.email "username@domain.com"

You can also change above configuration by editing .gitconfig file. To edit gitconfig file type

nano ~/.gitconfig

Editing Git Configuration File

Edit above file by setting Name and Email.

Conclusion

Here we have successfully learned how to install Git on Ubuntu 18.04 and you have also learned setting up Git to start working on the system.

5 Ways to open the Ubuntu Terminal application

Although Ubuntu users these days get to perform various operations through programs having high-end GUIs, there are multiple reasons to use the Linux command line called the Terminal.

  • Through Terminal, you can access many powerful native Linux commands as well as the empowering command-line features of many desktop applications.
  • You can install software to Ubuntu much more easier through the Command Line, than the graphical installation alternative.
  • You might have seen that many online-help guides will tell you how to resolve a problem through the Command Line. No matter which desktop environment you are using or which version of Linux you are on, the Terminal commands are usually the same.

This article explains five simple ways that you can use through your keyboard, mouse control. or both, in order to open the Ubuntu Terminal application.

We have run the commands and procedures mentioned in this article on a Ubuntu 18.04 LTS system.

Method 1: Through the Default Keyboard shortcut

The quickest method to open the Terminal application that does not require the use of mouse pointer is to use the Ctrl+Alt+t shortcut.

Use the default keyboard shortcut to open Ubuntu Terminal

You can also set a custom keyboard shortcut for Ubuntu in order to open the Terminal.

You can quit the Terminal by entering the exit command as follows:

$ exit

Method 2: Using the Run command window

The Run command window can be used to directly run commands that you would otherwise run by opening the command line. You can use the Run command window in order to open the Gnome Terminal as follows:

Use the Alt+F2 shortcut in order to open the Run command window. Then enter the following command and hit the Enter key:

gnome-terminal

Use the run command window to start gnome-terminal

You can even use this command in the Terminal window itself to open another Terminal session.

Method 3: Search and Open through the Ubuntu Dash

The Ubuntu Dash helps you in searching for installed applications and system utilities and also helps you in finding the ones you can download through Ubuntu Software Manager. Since the Terminal comes by default with Ubuntu, when you search for it through the Dash you will see the search result as follows:

Search Terminal on Ubuntu Dash

Simply click the search result and your Terminal application will open.

Method 4: From the Applications list

The Terminal application is also available in your Ubuntu’s list of applications. As you might know, you can view the installed UI applications through the Applications button. This button is located in the down left corner of your Ubuntu desktop.

Start Ubuntu Terminal from Application List

Click the Applications button and look up for the Terminal application icon and click it in order to open the Ubuntu Terminal.

Method 5: From the Desktop right-click menu

Last but not least, the only mouse click method to open the Terminal is to use the right-click menu from your desktop.

Start Terminal from Desktop by using right-click menu

When you right-click on the desktop view itself, you will be able to see the Open Terminal option in the menu. Simply select this option in order to open the Ubuntu command line, the Terminal.

Now you are equipped with not one, but five ways to open the Terminal application.

Source

1080p/1440p Linux Gaming Performance For Radeon RX 590/Vega & NVIDIA 1060/1070/1080/2060/2070

Complementing the benchmarks done earlier this week in the our NVIDIA GeForce RTX 2060 Linux review, here are more benchmarks of the GeForce RTX 2060 $349 USD graphics card that is beginning to ship next week. This article offers up a plethora of 1920 x 1080 and 2560 x 1440 Linux gaming benchmarks while providing the very latest driver performance results on the AMD Radeon RX 590, RX Vega 56, and RX Vega 64 while on the NVIDIA side was the GeForce GTX 1060/1070/1080 and RTX 2060/2070 graphics cards.

The RTX 2060 Linux review featured a number of 1440p/4K results while this article is focused on the 1080p and 1440p Linux gaming performance with the range of eight graphics cards tested. On the NVIDIA driver side was the 415.25 driver atop the Linux 4.20 kernel. On the Radeon side was the latest Mesa 19.0-devel state built against LLVM 8.0 SVN via the Padoka PPA as of this week, offering a look at the near-final Mesa 19.0 RADV/RadeonSI performance with the 19.0 code entering its feature freeze next week.

All of these tests were obviously done off the same system with the same Ubuntu Linux installation. All of these gaming benchmarks were carried out using the Phoronix Test Suite benchmarking software using a range of OpenGL and Vulkan games both new and older titles.
Source

Install Jetbrains GoLand Go IDE on Ubuntu – Linux Hint

Install Jetbrains GoLand Go IDE on Ubuntu

GoLand is an amazing Go IDE by JetBrains. If you love other JetBrains IDEs then, you will love GoLand as well. GoLand will improve your Go development workflow with it’s amazing features such as intelligent auto completion, syntax highlighting, code snippets etc. In this article, I will show you how to install GoLand Go IDE on Ubuntu. So, let’s get started.

Installing Go Programming Language on Ubuntu:

In order to run Go programs with GoLand Go IDE, you must have Go programming language installed on your machine.

I’ve written a dedicated article on installing Go programming language on Ubuntu. If you don’t have Go programming language installed on your Ubuntu machine already, you may check it out at https://linuxhint.com/install-golang-ubuntu/

Downloading GoLand:

GoLand is not available in the official package repository of Ubuntu. But, you can easily download GoLand from the official package repository of JetBrains and install it on Ubuntu.

First, visit the official website of JetBrains at https://www.jetbrains.com. Then, go to Tools > GoLand as marked in the screenshot below.

Now, click on Download.

Make sure Linux is selected. Then, click on DOWNLOAD.’

Your browser should prompt you to download GoLand archive. Select Save File and click on OK.

Your download should start. It may take a while to complete.

Installing and Configuring GoLand:

Once the download is complete, you can install GoLand from the command line interface.

First, navigate to the directory where you downloaded GoLand archive with the following command:

cd ~/Downloads

As you can see, the file I just downloaded is here.

Now, run the following command to install GoLand in /opt directory:

sudo tar xzf goland-2018.3.2.tar.gz -C /opt

NOTE: If you want to install GoLand somewhere other than /opt directory, just replace /opt with the directory path where you want to install GoLand.

Now, type in your login password and press <Enter>. GoLand should be installed.

As you can see, a new directory is created inside the /opt directory. Note the directory name. It may be different by the time you read this article. Make sure to replace it with yours from now on.

You have to run GoLand from the command line for the first time. Run GoLand as follows:

/opt/GoLand-2018.3.2/bin/goland.sh

As you’re running GoLand for the first time, you may not have any settings to import. So, select Do not import settings and click on OK.

Now, you have to accept the GoLand User Agreement. To do that, select I confirm that I have read and accept the terms of this User Agreement and click on Continue.

You may not may not want to share usage data with JetBrains. Click on any of the buttons depending on whether you want to share GoLand usage data with JetBrains or not.

Now, you have to activate GoLand. To do that, you have to buy a license for GoLand from JetBrains. Once you have the license, you can type in the credentials here and activate GoLand.

If you want to try out GoLand before you buy it, then select Evaluate for free and click on Evaluate. You can try out GoLand for 30 days as of the time of this writing.

GoLand is being loaded.

This is the dashboard of GoLand. From here you can create new projects and manage your existing projects.

Now, you should create a Desktop shortcut of GoLand. This way, you can launch GoLand from the Application Menu of Ubuntu. To do that, click on Configure.

Then, select Create Desktop Entry.

Now, check Create the entry for all users (requires superuser privileges) checkbox and click on OK.

Now, type in the password of your login user and click on Authenticate.

GoLand desktop shortcut should be created as you can see in the screenshot below. Now, you can easily run GoLand from the Application Menu of Ubuntu.

Creating a Go Project with GoLand:

In this section, I will show you how to create a new Go project with GoLand and run a simple Go program.

First, start GoLand and click on New Project.

Now, select Go from the list and make sure the project Location (where all the project files will be saved) and GOROOT is selected correctly. Then, click on Create.

A new Go project will be created.

Now, create a new file hello.go and type in the following lines of codes.

Now, press <Alt> + <Shift> + <F10> or go to Run > Run… and then select hello.go from the list as shown in the screenshot below.

The Go source file should run. As you can see, the correct output is displayed.

So, that’s how you install GoLand Go IDE on Ubuntu. Thanks for reading this article.

Source

IEI’s Puzzle family of x86 and Arm based net appliances debuts with two Coffee Lake models

IEI unveiled a Linux-driven “Puzzle” series of 1U rackmount network appliances and uCPE systems with VNF support and a choice of Intel Coffee Lake, AMD Epyc 3000, Armada 8040, NXP LS2088, and Cavium Octeon CPUs.

IEI is launching a new family of Puzzle-branded 1U network appliances that supports software virtual network functions (VNFs) and real-time software-defined wide-area network (SD-WAN) services. The Linux-powered rackmount systems can also be used for uCPE (Universal Customer Premise Equipment) systems and will be available with a variety of x86 and Arm processors.

Puzzle-IN001 (8th Gen Xeon) and Puzzle family ecosystem

The only models with product pages are based on Intel 8th Gen “Coffee Lake” CPUs: the Puzzle-IN001 with a Xeon E-2136 and the Puzzle-IN002 with a Pentium Gold G5400T (see farther below). These will be followed by Puzzle systems based on the AMD Epyc Embedded 3000 and Marvell 8040, which will be followed by NXP QorIQ LS2088 and Cavium Octeon CN8300 based Puzzle appliances.

The upcoming Puzzle-A001 and Puzzle-A002 systems run Ubuntu on the up to 16-core, Xeon-like AMD Epyc Embedded 3000 SoC, which has also appeared on Ibase’s 1U rackmount FWA880 network appliance. The Puzzle-A001 is the high-end model with 4x 10GbE SPF+ and 8x GbE RJ45 ports. An optional smart NIC increases performance and provide functions such as virtualization and packet processing.

The lower-end Puzzle-A002 has 6x GbE ports, as well as a mini-PCIe slot and 2x PCIe x4 slots. An older AMD R-Series SoC is available as an alternative for both models.

Puzzle family comparison chart (left) and Puzzle uCPE features

An “entry level”

Puzzle-M801

system in the works based on the Marvell Armada 8040 (or A8040). The quad-core, 2GHz Cortex-A72 based Armada 8040 recently appeared on a SolidRun

CEx7 A8040

COM Express Type 7 module, which drives the sandwich-style ClearFog CX 8K SBC. The Puzzle-M801 appliance offers dual 10GbE SFP+ ports and 4x GbE RJ45 ports, as well as a “brilliant AI hardware ready system ideal for deep learning inference computing,” says IEI.

No separate announcements were made for the unnamed NXP QorIQ LS2088 and Cavium Octeon CN8300 based Puzzle appliances. The feature comparison chart above, however, says the NXP offers the LS2088 SoC in quad- or octa-core versions. The SoC previously appeared on X-ES’ VPX form-factor XPedite6370 SBC. The LS2088 Puzzle appliance features at least one 10GbE port.

The Cavium-based Puzzle appliance will use Cavium’s up to 24-core, Cortex-A72 based Octeon CN8300, which appears to be new. It also features 10GbE support.

All the Puzzle systems ship with a Puzzle Finder software API for developing “environment and network applications,” says IEI. The API provides system management, resource monitoring, version maintenance, software installation, software updates, and information on CPU, memory, Internet, and more.

Coffee Lake based Puzzle-IN001 and Puzzle-IN002

The initial Puzzle-IN001 and Puzzle-IN002 systems run Ubuntu 16.04.04 on an Intel 8th Gen Xeon E-2136 and Pentium Gold G5400T, respectively. Both models also support the 8th Gen Core i3-8100T.

The Puzzle-IN001’s Xeon E-2136 is a dual-threaded, hexa-core SoC with 3.3GHz/4.5GHz clock and an 80W TDP. It’s accompanied here by an Intel C246 chipset.

Puzzle-IN001, front and back
(click images to enlarge)

Puzzle-IN002, front and back

The lower end Puzzle-IN002 ships with Intel’s dual-core, quad-threaded Pentium Gold G5400T, whichi is also available on IEI’s KINO-DH310 Mini-ITX board. No clock rate was listed by IEI, but the chip supports up to 3.1GHz. There’s also an Intel H310 chipset.

The Puzzle-IN002 supports up to 32GB DDR4 and offers a 2.5-inch SATA bay and an M.2 A-key slot (PCIe & USB 2.0). You get 6x GbE and 2x USB 3.0 ports, as well as 2x USB 2.0 interfaces and a serial port. Other features include mini-PCIe and PCIe x16 slots and a TPM header. Four cooling fans are also onboard.

Further information

No pricing or availability information was available for the Puzzle series of network appliances. However, the Intel Puzzle-IN001 and Puzzle-IN002 appear to be ready for order. More information may be found on the Puzzle-IN001/2 product page and the Puzzle family product page.

Source

Top Open Source Tools for Staying on Time and on Task | Reviews

Jan 11, 2019 10:53 AM PT

Keeping up to date with multiple daily activity calendars, tons of information, and long must-do lists can be a never-ending challenge. This week’s Linux Picks and Pans reviews the best open source Personal Information Managers (PIMs) that will serve you well on whatever Linux distribution you run.

In theory, computer tools should make managing a flood of personal and business information child’s play. In practice, however, many PIM tool sets are isolated from your other devices. This, of course, makes it difficult, if not impossible, to share essential information across your smartphone, desktop, laptop and tablet.

There are some obvious cloud solutions that ease the hassle of accessing personal and business information across devices. For instance, you can access Microsoft’s proprietary OneNote software for free via the cloud on your Linux gear, including Android and Chromebook devices.

As long as you have a free Microsoft email account, you can access your OneNote content directly from your browser or via the OneNote app available for most platforms. The only roadblock with Microsoft is using it on portable devices (laptops and tablets) beyond a certain screen size.

Google offers similar cloud-based PIM solutions with its Keep note-taking and Tasks to-do list services. Keep has numerous features for cataloging notes and imported images using labels and color options. Tasks lets you enter a simple event to track, as well as drill down to storing details and due dates.

If you use Google’s Chrome Web browser, you can integrate both the Keep and Tasks content as part of the Google Calendar display for added flexibility.

OneNote, Tasks and Keep serve different purposes and let you take the PIM process only so far. All three solutions lack specific tracking and reminder features that true PIM packages provide. Still, they do provide a reliable measure of cross-platform access for basic PIM functionality.

You already may be using these Microsoft or Google cloud-based tools. However, if your needs do not require sharing information on multiple devices, one of the following more traditional Linux PIM packages may be more to your liking.

Osmo: Info Management Done Simple

Osmo is a lightweight yet feature-heavy do-it-all PIM for any Linux desktop. It is an ideal all-around PIM that manages appointments, tasks, contacts and notes.

Osmo full-featured do-it-all PIM for any Linux desktop

Osmo is a full-featured do-it-all PIM for any Linux desktop. It manages appointments, tasks, contacts and notes.

Osmo’s design is not unlike other datebook-style calendars. You can choose a horizontal or vertical orientation. The preferences panel lets you juggle several appearance and functionality options for each of the components. These include the Calendar, Task List, Contacts and Notes databases. You even can hide PIM components to match the way you use Osmo.

Osmo employs a plain XML database to store all personal data. Find this file on the hard drive and copy it to a thumb drive to make Osmo portable, and to update the PIM on other Linux devices. Osmo does not have a real file storage exchange mechanism. A backup and restore features helps to automate this process.

Moving around the app is simple. Click the tab for the desired component. The display shows the current month with markers indicating days with events entered. Below the current month’s display is a selector arrow to show previous and next month.

The day note icon pops up a note entry screen for the selected date and shows it at the bottom of the app window. The day note panel has a tool row of buttons to modify the text display of information you enter.

The Notes panel is surprisingly flexible. For instance, the opening note screen shows a file-list type of directory display. You can use its dropdown menus to select a note category. A handy search window lets you find information in the notes database rapidly. Icons let you add a new note, select an existing note for editing, or delete a note from the list.

The contact component in Osmo is fairly slick. It has an icon and tool row along with a search window similar to the Notes component. These include New, Remove and Edit buttons. The search box finds matches as you type. The contact panel also has options to show birthdays, and buttons to import and export contacts.

A nice touch is a globe button that shows a contact’s location on a map. Osmo lets you choose either Google, Bing or OpenStreetMap as a map provider source.

While Osmo does not sync with other computers or a Web-based calendar, it does much of what you would expect from a solid PIM. Osmo does very well what it was designed to do — keep track of your lists, calendar events and contacts.

Osmo’s Last Update: 8-26-2018

Journal Life With RedNotebook

RedNotebook is built around the concept of a simple design with enhanced features. This application is much more than a daily diary maker. Its flexible design is a perfect platform for storing notes and information tracking.

RedNotebook

RedNotebook’s flexible design is a perfect platform for storing notes and information tracking.

It is an information magnet that lets you add files, links, images and notes divided into categories. Assigning tags to your entries adds a sophisticated way to organize the content. The ability to insert images, files and links to websites makes it very viable as a general note-taking program.

The design incorporates tags and other cool navigational features that drive RedNotebook’s functionality. Its interface is divided into three parts.

On the left is the calendar. Click a day within any month to see the content appear in the display panel in the center. The annotations panel is to the right. Annotations are notes that elaborate on the basic diary entry. You can sort annotations into categories easily.

RedNotebook’s features include easy calendar navigation, numerous customizable templates, export functionality and word clouds. It also lets you format, tag and search your entries, something that other diary and note apps do not offer.

Along with spell-checking capability, RedNotebook has some nice advanced-level features, including the ability to export in PDF format, drag and drop content between entries, and display markup highlighting. Plus, it automatically saves at set intervals and upon exit.

To facilitate use on multiple computers, you can save your journals on a remote server. The application by default makes Zipped backup copies of all entries upon exit.

Another cool feature is Word Cloud. RedNotebook keeps track of your most-often-used words in the note entries. Click on the Clouds tab to view this list. Select your category or tag clouds by clicking on the scroll-down menu. Right click on any words in the cloud that you want removed. Or you can add these words to the blacklist menu in the Preferences menu option to filter them out.

Use RedNotebook for a combination of things to keep track of daily information, activities and links to other reference files. You also can use it to maintain a running to-do list. The advantage to this feature is never having to enter a start or end date.

Last Update: 11-15-2018

qOrganizing for Multiple Device Use

qOrganizer goes a long way toward solving usage issues on multiple computers. This PIM does a nice job of going head-to-head with other information managers to track and manage your day.

You might have some trouble getting it from your distro’s repository, however. qOrganizer is readily available at Sourceforge, but it is available only in 32-bit architecture. You will have to unzip the archived file and manually install the program. Still, qOrganizer should run on your system and is worthy of a tryout.

qOrganizer

qOrganizer has a useful collection of tools that give it an edge over other PIM solutions.

qOrganizer is a general organizer that includes a calendar with schedule, reminders, journal/notes and a to-do list. Its comprehensive collection of components and simple interface give this app a fresh, innovative approach to tracking your important activities.

One of gOrganizer’s most unique components makes it a cool tool for the academic set, both high school and college level. Its Timetable and Booklet features are unique to general purpose PIMs.

qOrganizer has an intuitive design so it mostly works the way you would use a handwritten day planner with pen on a page. Click an entry line and type your information. All the controls are handled by icons that switch easily from Calendar to To-Do List and other features. Icons in the tool row put every control one click away.

This PIM automatically saves all your data. You can choose the storing mode: text files, an SQlite database or MySQL database for transferring over the Internet. This gives you a way to sort of sync your PIM content on all your computers.

This app prints each module as a separate page, so you can carry a printed version of just the calendar, the to-do list, the timetable or the booklet.

Finding information stored in qOrganizer is fast and easy. A search window with previous and next buttons is located on the bottom right of the display. This tool searches for the entry data in any of the components.

A neat feature is data entry shortcuts. You can enter the number in the to-do start and deadline columns. The full date appears. The Priority column lets you enter a ranking number for each task. Click the arrow that appears in the entry line to have date selection calendar pop up.

The right side of the task display is the completed column. You can enter a number to show the percent of completion. A progress bar fills in the line.

The calendar page display is a split screen. The month fills the top left. The bottom left is the daily schedule for the highlighted date. The right side of the panel is the journal or note entry for the selected calendar date.

qOrganizer has a useful collection of tools that gives it an edge over other PIM solutions. It is too bad that the developer no longer provides updates for this open source project.

Making Informational Kontact

Kontact has its roots in the K Desktop environment. Originally, it was an integral set of tools designed as part of the KDE desktop. It still is.

However, you can use this integrated PIM with nearly any Linux distro. In most cases, any dependencies will be installed along with the core Kontact components.

Kontact information manager

Kontact’s integration makes it a more powerful information manager than other tools in this roundup. It displays email, address books, calendars, tasks, news feeds and other personal or business data in one window.

The integration built into Kontact makes it a more powerful information manager than other tools in this roundup. It supports the display of email, address books, calendars, tasks, news feeds and other personal or business data in one window.

The integration includes a PIM back end and the graphical applications connecting to the back end. The components include agents to merge new data with the existing data set, such as contacts and news.

This integration involves groupware servers that give your workgroup members access to shared email folders, group task lists, calendar sharing, central address books and meeting scheduling.

Kontact is not one program. In essence, it is a symbiotic collection of essential KDE tools.

One of its key components is Akonadi. This is a framework named after the oracle goddess of justice in Ghana. This framework provides applications with a centralized database to store, index and retrieve personal information, including emails, contacts, calendars, events, journals, alarms and notes.

Kontact’s other components:

  • Akregator — to read selected news feeds;
  • KAddressBook — to manage contacts;
  • KMail — to provide mail client services;
  • KNotes — to post sticky notes on the Desktop;
  • KOrganizer — to provide calendar, scheduling and journal/notes management;
  • Summary — to display an information summary screen;
  • KJots — to organize your ideas into a notebook structure that includes calendars, information and to-do lists.

This multifaceted PIM package helps you manage your information overload more easily. The result is better productivity and efficiency. The combination of tools and back-end servers offers additional benefits of group collaboration as a business tool.

Makagiga: The All-in-One PIM

Makagiga is an easy-to-use PIM solution that does everything. The project is about four years young. In fact, compared to the other products in this roundup, it is one of the most modern approaches to managing personal information.

Makagiga interface

Makagiga uses a modern, smart interface that contributes to its intuitive ability to handle to-do listing, text editing and RSS reading. It uses add-ons to implement its various capabilities.

Makagiga does just about anything you need it to do. It is a capable to-do manager. It handles note-taking with ease. It edits images you package into your notes.

Plus, it uses plug-ins to provide Web searching, an OpenStreetMap viewer, a thesaurus, and a LaTex/ Markdown/BB Code previewer. It can capture screenshots to integrate as notes, and it can generate bar codes.

Makagiga uses a modern, smart interface that contributes to its intuitive ability to handle to-do listing, text editing and RSS reading. It uses add-ons to implement its various capabilities.

Among them are a collection of widgets to provide calendars and sticky notes.

The main window displays a tree directory view for folders and feeds to the left. It shows a large pin board to the right. The window uses tabs to show changing content in the pin board — Widgets, Calendar and To-Do list.

A horizontal menu bar sits at the top of the main window.

A settings dialog sits under the settings option of both the View and Tools menu. Dialogues configure the software. The menu structure changes when a pin board tab is activated.

You can find the settings dialog for designing the view by selecting the Widgets tab. The three context-sensitive menus (Wallpaper, Colors and Border, Workspaces) are used to enhance the pin board’s visual appearance. Basic modifications are performed in the Tools | Settings menu.

The To-Do manager is one of the best in this roundup. You can set task priorities, assign them dates/times, and even organize them into categories. You also can add colors and tags for more organizational distinctions.

The Image editor has options to resize, rotate or flip pictures. It also has simple annotation tools and an inventory of filters and special effects.

The Notepad is more basic than I prefer. It limps along without a find-and-replace function. It does have word count, syntax highlighting and an HTML preview.

This application has mouse gesture support for 17 actions you can perform easily.

Latest version: Makagiga 6.4 | 11-17-2018

Bottom Line

Personal Information Management is a software category being overshadowed by cloud services and dedicated apps on portable devices. That is one reason there are few new contenders among open source PIM applications available for the Linux platform.

The titles in this roundup are solid performers. They offer a variety of options. They also share a similar look and feel. So trying out several of these PIMs is easy. Compare the features, and choose the best tool to meet your needs.

Source

WP2Social Auto Publish Powered By : XYZScripts.com