Exploring /proc File System in Linux

Today, we are going to take a look inside the /proc directory and develop a familiarity with it. The /proc directory is present on all Linux systems, regardless of flavor or architecture.

One misconception that we have to immediately clear up is that the /proc directory is NOT a real File System, in the sense of the term. It is a Virtual File System. Contained within the procfs are information about processes and other system information. It is mapped to /proc and mounted at boot time.

Linux proc file system

Exploring /proc File System

First, lets get into the /proc directory and have a look around:

# cd /proc

The first thing that you will notice is that there are some familiar sounding files, and then a whole bunch of numbered directories. The numbered directories represent processes, better known as PIDs, and within them, a command that occupies them. The files contain system information such as memory (meminfo), CPU information (cpuinfo), and available filesystems.

Read Also:  Linux Free Command to Check Physical Memory and Swap Memory

Let’s take a look at one of the files first:

# cat /proc/meminfo
Sample Output

which returns something similar to this:

MemTotal:         604340 kB
MemFree:           54240 kB
Buffers:           18700 kB
Cached:           369020 kB
SwapCached:            0 kB
Active:           312556 kB
Inactive:         164856 kB
Active(anon):      89744 kB
Inactive(anon):      360 kB
Active(file):     222812 kB
Inactive(file):   164496 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         89724 kB
Mapped:            18012 kB
Shmem:               412 kB
Slab:              50104 kB
SReclaimable:      40224 kB
...

As you can see, /proc/meminfo contains a bunch of information about your system’s memory, including the total amount available (in kb) and the amount free on the top two lines.

Running the cat command on any of the files in /proc will output their contents. Information about any files is available in the man page by running:

# man 5 /proc/<filename>

I will give you quick rundown on /proc’s files:

  1. /proc/cmdline – Kernel command line information.
  2. /proc/console – Information about current consoles including tty.
  3. /proc/devices – Device drivers currently configured for the running kernel.
  4. /proc/dma – Info about current DMA channels.
  5. /proc/fb – Framebuffer devices.
  6. /proc/filesystems – Current filesystems supported by the kernel.
  7. /proc/iomem – Current system memory map for devices.
  8. /proc/ioports – Registered port regions for input output communication with device.
  9. /proc/loadavg – System load average.
  10. /proc/locks – Files currently locked by kernel.
  11. /proc/meminfo – Info about system memory (see above example).
  12. /proc/misc – Miscellaneous drivers registered for miscellaneous major device.
  13. /proc/modules – Currently loaded kernel modules.
  14. /proc/mounts – List of all mounts in use by system.
  15. /proc/partitions – Detailed info about partitions available to the system.
  16. /proc/pci – Information about every PCI device.
  17. /proc/stat – Record or various statistics kept from last reboot.
  18. /proc/swap – Information about swap space.
  19. /proc/uptime – Uptime information (in seconds).
  20. /proc/version – Kernel version, gcc version, and Linux distribution installed.

Within /proc’s numbered directories you will find a few files and links. Remember that these directories’ numbers correlate to the PID of the command being run within them. Let’s use an example. On my system, there is a folder name /proc/12:

# cd /proc/12
# ls
Sample Output
attr        coredump_filter  io         mounts      oom_score_adj  smaps    wchan
autogroup   cpuset           latency    mountstats  pagemap        stack
auxv        cwd              limits     net         personality    stat
cgroup      environ          loginuid   ns          root           statm
clear_refs  exe              maps       numa_maps   sched          status
cmdline     fd               mem        oom_adj     schedstat      syscall
comm        fdinfo           mountinfo  oom_score   sessionid      task

If I run:

# cat /proc/12/status

I get the following:

Name:	xenwatch
State:	S (sleeping)
Tgid:	12
Pid:	12
PPid:	2
TracerPid:	0
Uid:	0	0	0	0
Gid:	0	0	0	0
FDSize:	64
Groups:
Threads:	1
SigQ:	1/4592
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	ffffffffffffffff
SigCgt:	0000000000000000
CapInh:	0000000000000000
CapPrm:	ffffffffffffffff
CapEff:	ffffffffffffffff
CapBnd:	ffffffffffffffff
Cpus_allowed:	1
Cpus_allowed_list:	0
Mems_allowed:	00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	84
nonvoluntary_ctxt_switches:	0

So, what does this mean? Well, the important part is at the top. We can see from the status file that this process belongs to xenwatch. Its current state is sleeping, and its process ID is 12, obviously. We also can see who is running this, as UID and GID are 0, indicating that this process belongs to the root user.

In any numbered directory, you will have a similar file structure. The most important ones, and their descriptions, are as follows:

  1. cmdline – command line of the process
  2. environ – environmental variables
  3. fd – file descriptors
  4. limits – contains information about the limits of the process
  5. mounts – related information

You will also notice a number of links in the numbered directory:

  1. cwd – a link to the current working directory of the process
  2. exe – link to the executable of the process
  3. root – link to the work directory of the process

This should get you started with familiarizing yourself with the /proc directory. It should also provide insight to how a number of commands obtain their info, such as uptimelsofmount, and ps, just to name a few.

Source

Learn How to Use ‘fuser’ Command with Examples in Linux

One of the most important task in Linux systems administration, is process management. Its involves several operations under monitoring, signaling processes as well as setting processes priorities on the system.

There are numerous Linux tools/utilities designed for monitoring/handling processes such as toppspgrepkillkillallnice coupled with many others.

In this article, we shall uncover how to find processes using a resourceful Linux utility called fuser.

Suggested Read: Find Top Running Processes by Highest Memory and CPU Usage

fuser is a simple yet powerful command line utility intended to locate processes based on the files, directories or socket a particular process is accessing. In short, it helps a system user identify processes using files or sockets.

How to Use fuser in Linux Systems

The conventional syntax for using fuser is:

# fuser [options] [file|socket]
# fuser [options] -SIGNAL [file|socket]
# fuser -l 

Below are a few examples of using fuser to locate processes on your system.

Find Which Process Accessing a Directory

Running fuser command without any option will displays the PIDs of processes currently accessing your current working directory.

$ fuser .
OR
$ fuser /home/tecmint

Find Running Processes of Directory

Find Running Processes of Directory

For a more detailed and clear output, enable the -v or --verbose as follows. In the output, fuser prints out the name of the current directory, then columns of the process owner (USER), process ID (PID), the access type (ACCESS) and command (COMMAND) as in the image below.

$ fuser -v

List of Running Processes of Directory

List of Running Processes of Directory

Under the ACCESS column, you will see access types signified by the following letters:

  1. c – current directory
  2. e – an executable file being run
  3. f – open file, however, f is left out in the output
  4. F – open file for writing, F is as well excluded from the output
  5. r – root directory
  6. m – mmap’ed file or shared library

Find Which Process Accessing A File System

Next, you can determine which processes are accessing your ~.bashrc file like so:

$ fuser -v -m .bashrc

The option, -m NAME or --mount NAME means name all processes accessing the file NAME. In case you a spell out directory as NAME, it is spontaneously changed to NAME/, to use any file system that is possibly mounted on that directory.

Suggested Read: Find Top 15 Processes by Memory Usage in Linux

How to Kill and Signal Processes Using fuser

In this section we shall work through using fuser to kill and send signals to processes.

In order to kill a processes accessing a file or socket, employ the -k or --kill option like so:

$ sudo fuser -k .

To interactively kill a process, where you are that asked to confirm your intention to kill the processes accessing a file or socket, make use of -i or --interactive option:

$ sudo fuser -ki .

Interactively Kill Process in Linux

Interactively Kill Process in Linux

The two previous commands will kill all processes accessing your current directory, the default signal sent to the processes is SIGKILL, except when -SIGNAL is used.

Suggested Read: A Guide to Kill, Pkill and Killall Commands in Linux

You can list all the signals using the -l or --list-signals options as below:

$ sudo fuser --list-signals 

List All Kill Process Signals

List All Kill Process Signals

Therefore, you can send a signal to processes as in the next command, where SIGNAL is any of the signals listed in the output above.

$ sudo fuser -k -SIGNAL

For example, this command below sends the HUP signal to all processes that have your /boot directory open.

$ sudo fuser -k -HUP /boot 

Try to read through the fuser man page for advanced usage options, additional and more detailed information.

That is it for now, you can reach us by means of the feedback section below for any assistance that you possibly need or suggestions you wish to make.

Source

10 Amazing and Mysterious Uses of (!) Symbol or Operator in Linux Commands

The '!' symbol or operator in Linux can be used as Logical Negation operator as well as to fetch commands from history with tweaks or to run previously run command with modification. All the commands below have been checked explicitly in bash Shell. Though I have not checked but a major of these won’t run in other shell. Here we go into the amazing and mysterious uses of '!' symbol or operator in Linux commands.

1. Run a command from history by command number.

You might not be aware of the fact that you can run a command from your history command (already/earlier executed commands). To get started first find the command number by running ‘history‘ command.

$ history

Find Last Executed Commands with History Command

Now run a command from history just by the number at which it appears, in the output of history. Say run a command that appears at number 1551 in the output of ‘history‘ command.

$ !1551

Run Last Executed Commands by Number ID

And, it runs the command (top command in the above case), that was listed at number 1551. This way to retrieving already executed command is very helpful specially in case of those commands which are long. You just need to call it using ![Number at which it appears in the output of history command].

2. Run previously executed command as 2nd last command, 7th last command,etc.

You may run those commands which you have run previously by their running sequence being the last run command will be represented as -1, second last as -2, seventh last as -7,….

First run history command to get a list of last executed command. It is necessary to run history command, so that you can be sure that there is no command like rm command > file and others just to make sure you do not run any dangerous command accidentally. And then check Sixth last command, Eight last command and Tenth last command.

$ history
$ !-6
$ !-8
$ !-10

Run Last Executed Commands By Numbers

Run Last Executed Commands By Numbers

3. Pass arguments of last command that we run to the new command without retyping

I need to list the content of directory ‘/home/$USER/Binary/firefox‘ so I fired.

$ ls /home/$USER/Binary/firefox

Then I realized that I should have fired ‘ls -l‘ to see which file is executable there? So should I type the whole command again! No I don’t need. I just need to carry the last argument to this new command as:

$ ls -l !$

Here !$ will carry arguments passed in last command to this new command.

Pass Arguments of Last Executed Command to New

Pass Arguments of Last Executed Command to New

4. How to handle two or more arguments using (!)

Let’s say I created a text file 1.txt on the Desktop.

$ touch /home/avi/Desktop/1.txt

and then copy it to ‘/home/avi/Downloads‘ using complete path on either side with cp command.

$ cp /home/avi/Desktop/1.txt /home/avi/downloads

Now we have passed two arguments with cp command. First is ‘/home/avi/Desktop/1.txt‘ and second is ‘/home/avi/Downloads‘, lets handle them differently, just execute echo [arguments] to print both arguments differently.

$ echo “1st Argument is : !^”
$ echo “2nd Argument is : !cp:2”

Note 1st argument can be printed as “!^” and rest of the arguments can be printed by executing “![Name_of_Command]:[Number_of_argument]”.

In the above example the first command was ‘cp‘ and 2nd argument was needed to print. Hence “!cp:2”, if any command say xyz is run with 5 arguments and you need to get 4th argument, you may use “!xyz:4”, and use it as you like. All the arguments can be accessed by “!*”.

Handle Two or More Arguments

Handle Two or More Arguments

5. Execute last command on the basis of keywords

We can execute the last executed command on the basis of keywords. We can understand it as follows:

$ ls /home > /dev/null						[Command 1]
$ ls -l /home/avi/Desktop > /dev/null		                [Command 2]	
$ ls -la /home/avi/Downloads > /dev/null	                [Command 3]
$ ls -lA /usr/bin > /dev/null				        [Command 4]

Here we have used same command (ls) but with different switches and for different folders. Moreover we have sent to output of each command to ‘/dev/null‘ as we are not going to deal with the output of the command also the console remains clean.

Now Execute last run command on the basis of keywords.

$ ! ls					[Command 1]
$ ! ls -l				[Command 2]	
$ ! ls -la				[Command 3]
$ ! ls -lA				[Command 4]

Check the output and you will be astonished that you are running already executed commands just by lskeywords.

Run Commands Based on Keywords

Run Commands Based on Keywords

6. The power of !! Operator

You can run/alter your last run command using (!!). It will call the last run command with alter/tweak in the current command. Lets show you the scenario

Last day I run a one-liner script to get my private IP so I run,

$ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/

Then suddenly I figured out that I need to redirect the output of the above script to a file ip.txt, so what should I do? Should I retype the whole command again and redirect the output to a file? Well an easy solution is to use UP navigation key and add '> ip.txt' to redirect the output to a file as.

$ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/ > ip.txt

Thanks to the life Savior UP navigation key here. Now consider the below condition, the next time I run below one-liner script.

$ ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:

As soon as I run script, the bash prompt returned an error with the message “bash: ifconfig: command not found”, It was not difficult for me to guess I run this command as user where it should be run as root.

So what’s the solution? It is difficult to login to root and then type the whole command again! Also (UP Navigation Key) in last example didn’t came to rescue here. So? We need to call “!!” without quotes, which will call the last command for that user.

$ su -c “!!” root

Here su is switch user which is root, -c is to run the specific command as the user and the most important part !! will be replaced by command and last run command will be substituted here. Yeah! You need to provide root password.

The Power of !! Key

The Power of !! Key

I make use of !! mostly in following scenarios,

1. When I run apt-get command as normal user, I usually get an error saying you don’t have permission to execute.

$ apt-get upgrade && apt-get dist-upgrade

Opps error…don’t worry execute below command to get it successful..

$ su -c !!

Same way I do for,

$ service apache2 start
or
$ /etc/init.d/apache2 start
or
$ systemctl start apache2

OOPS User not authorized to carry such task, so I run..

$ su -c 'service apache2 start'
or
$ su -c '/etc/init.d/apache2 start'
or
$ su -c 'systemctl start apache2'
7. Run a command that affects all the file except ![FILE_NAME]

The ! (Logical NOT) can be used to run the command on all the files/extension except that is behind '!'.

A. Remove all the files from a directory except the one the name of which is 2.txt.

$ rm !(2.txt)

B. Remove all the file type from the folder except the one the extension of which is ‘pdf‘.

$ $ rm !(*.pdf)
8. Check if a directory (say /home/avi/Tecmint)exist or not? Printf if the said directory exist or not.

Here we will use '! -d' to validate if the directory exist or not followed by Logical AND Operator (&&) to print that directory does not exist and Logical OR Operator (||) to print the directory is present.

Logic is, when the output of [ ! -d /home/avi/Tecmint ] is 0, it will execute what lies beyond Logical ANDelse it will go to Logical OR (||) and execute what lies beyond Logical OR.

$ [ ! -d /home/avi/Tecmint ] && printf '\nno such /home/avi/Tecmint directory exist\n' || printf '\n/home/avi/Tecmint directory exist\n'
9. Check if a directory exist or not? If not exit the command.

Similar to the above condition, but here if the desired directory doesn’t exist it will exit the command.

$ [ ! -d /home/avi/Tecmint ] && exit
10. Create a directory (say test) in your home directory if it does not exist.

A general implementation in Scripting Language where if the desired directory does not exist, it will create one.

[ ! -d /home/avi/Tecmint ] && mkdir /home/avi/Tecmint

That’s all for now. If you know or come across any other use of '!' which is worth knowing, you may like to provide us with your suggestion in the feedback. Keep connected!

Source

MultiCD – Create a MultiBoot Linux Live USB

Having a single CD or USB drive with multiple available operating systems, for install, can be extremely useful in all kind of scenarios. Either for quickly testing or debugging something or simply reinstalling the operating system of your laptop or PC, this can save you lots of time.

Read AlsoHow to Install Linux on USB and Run It On Any PC

In this article, you will learn how to create multi bootable USB media, by using tool called MultiCD – is a shell script, designed to create a multiboot image with different Linux distributions (means it combine several boot CDs into one). That image can later be written to CD/DVD or flash drive so you can use it to install the OS by your choice.

The advantages to making a CD with MultiCD script are:

  • No need to create multiple CDs for small distributions.
  • If you already have the ISO images, it’s not required to download them again.
  • When new distributions is released, simply download and run the script again to build a new multiboot image.

Read Also2 Ways to Create an ISO from a Bootable USB in Linux

Download MultiCD Script

MultiCD can be obtained by either using git command or by downloading the tar archive.

If you wish to use the git repository, use the following command.

# git clone git://github.com/IsaacSchemm/MultiCD.git

Create Multiboot Image

Before we start creating our multiboot image, we will need to download the images for the Linux distributions we like to use. You can see a list of all supported Linux distros on the MultiCD page.

Once you have downloaded the image files, you will have to place them in the same directory as the MultiCDscript. For me that directory is MultiCD. For the purpose of this tutorial, I have prepared two ISO images:

CentOS-7 minimal
Ubuntu 18 desktop

Multi Linux Distros

Multi Linux Distros

It is important to note that the downloaded images should be renamed as listed in the Supported distros list or a symlink to be created. So reviewing the supported images, you can see that the filename for Ubuntu can remain the same as the original file.

For CentOS however, it must be renamed to centos-boot.iso as shown.

# mv CentOS-7-x86_64-Minimal-1810.iso centos-boot.iso

Now to create the multiboot image, run the following command.

# sudo multicd.sh 

The script will look for your .iso files and attempt to create the new file.

Create Multiboot Linux Image

Create Multiboot Linux Image

Once the process is complete, you will end up having a file called multicd.iso inside the build folder. You can now burn the new image file to CD or USB flash drive. Next you can test it by trying to boot from the new media. The boot page should look like this:

Test Multiboot Media

Test Multiboot Media

Choose the OS you wish to install and you will be redirected to the options for that OS.

Select Linux Distro to Install

Select Linux Distro to Install

Just like that, you can create a single bootable media with multiple Linux distros on it. The most important part is to always check the correct name for the iso image that you want to write as otherwise it might not be detected by multicd.sh.

Conclusion

MultiCD is no doubt one of the useful tools that can save you time from burning CDs or creating multiple bootable flash drives. Personally I have created my own USB flash drive few distros on it to keep in my desk. You never know when you will want to install another distro on your device.

Source

How to Repair and Defragment Linux System Partitions and Directories

People who use Linux often think that it doesn’t require defragmentation. This is a common misunderstanding across Linux users. Actually, the Linux operating system does support defragmentation. The point of the defragmentation is to improve I/O operations like allowing local videos to load faster or extracting archives significantly faster.

Defragment Linux System Partitions

Defragment Linux System Partitions and Directories

The Linux ext2, ext3 and ext4 filesystems don’t need that much attention, but with time, after executing many many many read/writes the filesystem may require optimization. Otherwise the hard disk might become slower and may affect the entire system.

In this tutorial I am going to show you few different techniques to perform defragmentation on files. Before we start, we should mention what the common filesystems like ext2,3,4 do to prevent fragmentation. These filesystems include technique to prevent the effect. For example filesystems reserve free block groups on the hard disk to store growing files completely.

Unfortunately the problem is not always solved with such mechanism. While other operating systems may require expensive additional software to resolve such issues, Linux has some easy to install tools that can help you resolve such problems.

How to Check a Filesystem Requires Defragmentation?

Before we start I would like to point that the operations below should only be ran on HDDs and not on SSD. Defragging your SSD drive will only increase its read/write count and therefore shorten it’s life. Instead, if you are using SSD, you should use the TRIM function, which is not covered in this tutorial.

let’s test if the system actually requires defragmentation. We can easily check this with tool such as e2fsck. Before you use this tool on a partition on your system, it is recommended to unmount that partition with. This is not completely necessary, but it’s the safe way to go:

$ sudo umount <device file>

In my case I have /dev/sda1 mounted at /tmp:

Disk Partition Table Before

Disk Partition Table Before

Keep in mind that in your case the partition table might be different so make sure to unmount the right partition. To unmount that partition you can use:

$ sudo umount /dev/sda1

Now let’s check if this partition requires defragmentation, with e2fsck. You will need to run the following command:

$ sudo e2fsck -fn /dev/sda1

The above command will perform a file system check. The -f option forces the check, even if the system seems clean. The -n option is used to open the filesystem in read-only and assume answer of "no" to all questions that may appear.

This options basically allows to use e2fsck non-interactively. If everything is Okay, you should see result similar to the one shown on the screenshot below:

e2fsck Healthy Partition

e2fsck Healthy Partition

Here is another example that shows errors on a system:

e2fsck With Errors

e2fsck With Errors

How to Repair Linux Filesystem Using e2fsck

If errors appear, you can attempt a repair of the filesystem with e2fsck with the “-p” option. Note that in order to run the command below, the partition will need to be unmounted:

$ sudo e2fsck -p <device file>

The “-p” options attempts automatic repair on the file system for problems that can be safely fixed without human intervention. If a problem is discovered that may require the system administrator to take additional corrective action, e2fsck will print a description of the problem and will exit with code 4, which means “File system errors left uncorrected”. Depending on the issue that has been found, different actions might be required.

If the issue appears on a partition that cannot be unmounted, you can use another tool called e4defrag. It comes pre-installed on many Linux distros, but if you don’t have it on yours, you can install it with:

$ sudo apt-get install e2fsprogs         [On Debian and Derivatives]
# yum install e2fsprogs                  [On CentOS based systems]
# dnf install e2fsprogs                  [On Fedora 22+ versions] 

How to Defragment Linux Partitions

Now it’s time to defragment Linux partitions using following command.

$ sudo e4defrag <location>
or
$ sudo e4defrag <device>

How to Defragment Linux Directory

For example, if you wish to defragment a single directory or device, you can use:

$ sudo e4defrag /home/user/directory/
# sudo e4defrag /dev/sda5

How to Defragment All Linux Partitions

If you prefer to defragment your entire system, the safe way of doing this is:

$ sudo e4defrag /

Keep in mind that this process may take some time to be completed.

Conclusion

Defragmentation is an operation that you will rarely need to run in Linux. It’s meant for power users who know what exactly they are doing and is not recommended for Linux newbies. The point of the whole action is to have your filesystem optimized so that new read/write operations are performed more efficiently.

Source

3 Useful GUI and Terminal Based Linux Disk Scanning Tools

There mainly two reasons for scanning a computer hard disk: one is to examine it for filesystem inconsistencies or errors that can result from persistent system crashes, improper closure of critical system software and more significantly by destructive programs (such as malware, viruses etc).

And another is to analyze its physical condition, where we can check a hard disk for bad sectors resulting from physical damage on the disk surface or failed memory transistor.

Suggested Read: How to Repair and Defragment Linux Partitions

In this article, we will review a mix of GUI and terminal based disk scanning utilities for Linux.

In case you notice any unusual behavior from a computer hard disk or a particular partition, one of the first things you can always investigate is filesystem inconsistency or errors and there is no other better utility for performing this other than fsck.

1. fsck – Filesystem Consistency Check

fsck is a system utility used to check and optionally repair a Linux filesystem. It is a front-end for several filesystem checkers.

Warning: Try out fsck commands on test Linux servers only, unless you know what you’re doing..

Always unmount a partition first before you can run fsck on it.

$ sudo unmount /dev/sdc1
$ sudo fsck -Vt vfat /dev/sdc1

In the command below, the switch:

  1. -t – specifies the filesystem type.
  2. -V – enables verbose mode.

You can find detailed usage instructions in the fsck man page:

$ man fsck

Once you have performed filesystem inconsistency tests, you proceed to carry out physical condition assessments.

2. badblock

badblocks is a utility for scanning bad blocks or bad sectors in hard disks. Assuming you detect any bad blocks on your hard disk, you can use it together with fsck or e2fsck to instruct the kernel not to use the bad blocks.

For more information on how to check bad blocks using badblock utility, read: How to Check Bad Sectors or Bad Blocks on Hard Disk in Linux.

3. S.M.A.R.T System Utilities

S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology) is a system built into nearly all modern ATA/SATA and SCSI/SAS hard disks as well as solid-state disks.

It collects in-depth information about a supported hard disk and you can get that data using the utilities below.

i. Smartctl

smartctl is one of the two utilities under the smartmontools package. It is a command line utility which controls and monitors the S.M.A.R.T system.

To install smartmontools package, run the applicable command below for your distro:

$ sudo apt-get install smartmontools   #Debian/Ubuntu systems 
$ sudo yum install smartmontools       #RHEL/CentOS systems

The following is an example of a smartctl command for reporting hard disk partition health where the option -Hhelps to show the general partition health condition after a self-test:

$ sudo smartctl -H /dev/sda6

Look through the smartctl man page for more usage guidelines:

$ man smartctl 

There is a GUI front-end for smartctl called gsmartcontrol which can be installed as follows:

$ sudo apt-get install gsmartcontrol  #Debian/Ubuntu systems 
$ sudo yum install gsmartcontrol       #RHEL/CentOS systems

GSmart Control - Linux Disk Scanning Tool

GSmart Control – Linux Disk Scanning Tool

ii. Gnome Disk Utility( or Disks)

Gnome disk utility offers a GUI for doing all the partition management related tasks such as creating, deleting, mounting partitions and beyond. It comes pre-installed in majority of mainstream Linux systems such as Ubuntu, Fedora, Linux Mint and others.

To use it on Ubuntu, open the Dash and search for Disks, on Linux Mint, open Menu and search for Disks and on Fedora, click on Activities type Disks.

Gnome Disk Utility for Linux Disk Scanning

Gnome Disk Utility for Linux Disk Scanning

More importantly, it can as well provide S.M.A.R.T data and effect self-tests as in the following interface.

Gnome Disk Utility for Linux Disk Scanning

Gnome Disk Utility for Linux Disk Scanning

That’s it! In this article, we reviewed hard disk scanning utilities for Linux operating system. You can share with us any utilities/tools for the same purpose, that are not mentioned in the list above or ask any related questions all in the comments.

Source

10 Best Open Source Forum Software for Linux

A forum is a discussion platform where related ideas and views on a particular issue can be exchanged. You can setup a forum for your site or blog, where your team, customers, fans, patrons, audience, users, advocates, supporters, or friends can hold public or private discussions, as a whole or in smaller groups.

If you are planning to launch a forum, and you can’t build your own software from scratch, you can opt for any of the existing forum applications out there. Some forum applications allow you to setup only a single discussion site on a single installation, while others support multiple-forums for a single installation instance.

In this article, we will review 10 best open source forum software for Linux systems. By the end of this article, you will know exactly which open source forum software best suites your needs.

You can get a 2GB RAM VPS from Linode for $10, but it’s unmanaged. If you want a Managed VPS, then use our new BlueHost Promotion Offer, you will get upto 40% OFF on hosting with one Free Domain for Life. If you get a Managed VPS, they will probably install any of the following Forum Software for you.

1. Discourse – Discussion Platform

Discourse is a free open source, simple, modern, incredibly powerful and feature-rich community discussion software.

Discourse Forum Software

Discourse Forum Software

It works as a mailing list, discussion forum, long-form chat room, and so much more. Its front-end is built using JavaScript and it is powered by the Ember.js framework; and the server side is developed using Ruby on Railsbacked by a PostgreSQL database and Redis cache.

It is responsive (auto-switches to a mobile layout for small screens), it supports: dynamic notifications, community moderation, social login, spam blocking, reply via email, emojis and badges. It also comes with a trust system and so much more. Above all, Discourse is simple, modern, awesome and fun, and has a one-click upgrade feature, once installed.

2. phpBB – Bulletin Board Software

phpBB is a free open source, powerful, feature-rich and highly extensible forum or bulletin board software. There are numerous extensions and a styles database (with hundreds of style and image packages) for you to enhance its core functionality and to customize your board respectively.

phpBB Bulletin Board Forum

phpBB Bulletin Board Forum

It is secure and comes with various tools to protect your forum from unwanted users and spam. It supports: a search system, private messaging, multiple methods of notifying users of forum activities, conversation moderators, and user-groups. Importantly, it has an advanced caching system for increased performance. You can integrate it with other applications via multiple plugins and so much more.

3. Vanilla – Modern Community Forum

Vanilla is an open source, fully-featured, intuitive, robust cloud-based and multi-lingual community forum software. It is easy to use giving users a modern forum experience, allows users to post questions and polls; it has an advance editor for formating posts with html, markdown, or bbcode, and supports @ mentions.

Vanilla Community Forum

Vanilla Community Forum

It also supports user-profiles, notifications, auto-save, avatars, private messaging, real-time preview, a powerful search facility, user-groups, single sign on and so much more. Vanilla can be integrated with social networks for easy sharing, login and more. It comes with numerous plugins and themes to enhance its primary features and customize its look and feel.

4. SimpleMachinesForum (SMF)

SimpleMachinesForum is a free, open source, simple, beautiful and powerful forum software. It is available in over 45 different languages. SMF is easy to use and highly customizable, with a multitude of powerful and effective features. It comes with high quality and reliable support.

Simple Machines Forum

Simple Machines Forum

SMF is highly customizable; it has many extensions/packages (under various categories such as security, socialization, administration, permissions, posting, theme enhancements and more) to modify its core functionality, add or remove features, and lot more.

5. bbPress – Forum Software

bbPress is a free open source, simple, lightweight, fast and secure bulletin board software built in a WordPress-fashion. It is easy to install, and configure, fully integrated and supports setting up multiple forums on one site installation.

bbPress Forum Software

bbPress Forum Software

It is highly extensible and customizable, supports several plugins. It also supports RSS feeds and offers spam blocking functionality for additional security.

6. MyBB – Powerful Forum Software

MyBB is a free open source, simple, easy-to-use, intuitive yet powerful, and extremely efficient forum software. It is a discussion-oriented application that supports: user profiles, private messages, reputation, warnings, calenders and events, user promotion, moderation, and more.

MyBB Community Forum

MyBB Community Forum

It ships in with a number of plugins, and templates and themes to extend its core functionality and customize its default look and feel, allowing you to setup a fully customized and effective online community forum with ease.

7. miniBB – Community Discussion Forum

miniBB is a free open source, standalone, lightweight, fast, and highly customizable software for building a web forum. It is suitable and effective for setting up a simple and stable community discussion platform, especially for novices. It allows for dynamic and content-rich discussions, and you can enable it to be responsive via the mobile template.

MiniBB Community Discussion Forum

MiniBB Community Discussion Forum

It can easily be integrated with your website, allowing you to change its layout to the look of your website. In addition, miniBB offers facilities for you to synchronize with an existing membership system. Importantly, it supports guest posts and quick moderation.

8. Phorum – Forum Software

Phorum is a free open source, simple, highly-customizable, and easy-to-use PHP message board software. It has a very flexible hook and module system for you to customize your web community discussion platform.

Phorum Forum Software

Phorum Forum Software

You can easily changes its default using HTML templates that have simple to understand text commands in-built.

9. FluxBB – Forum Software

FluxBB is fast, light, easy-to-use, stable, secure, user-friendly and multi-lingual PHP forum software. It comes with a well organized administration interface and admin panel plugins, supports a flexible permission system, and it is XHTML compliant.

FluxBB Forum Software

FluxBB Forum Software

It supports user profiles, avatar, forum categories, announcements, topic search, post preview RSS/Atom feeds, user selectable CSS styles and language and so much more.

10. PunBB – Bulletin Board Software

PunBB is a free open source, lightweight and fast PHP bulletin board software. It has a simple layout and design, like most forum software listed above, it supports private messaging, polls, linking to off-site avatars, advanced text formatting commands, file attachments, multi-forums and so much more.

PunBB Bulletin Board Forum

PunBB Bulletin Board Forum

That’s all for now! In this article, we reviewed 10 best open source forum software for Linux. If you are interested in setting up a forum for your site or blog, by now, you should be knowing which open source software to use. If your favorite software is missing in the list, let us know via the feedback form below.

Source

16 Most Used Microsoft Office Alternatives for Linux

Productivity on any operating system is without doubt one of the most important things that can make or break a platform however, execution is the key – if done right, enterprise adaptation would be shortly underway.

Linux today is most certainly an ultimate viable alternative to Windows – both in the general consumer and business market.

Read Also: Most Commonly Used Windows Applications for Linux

If you’re quite familiar with the fact that the ecosystem of any platform (i.e, the apps available to it) determines its success then you will know by now that Firefox OS and Sailfish likewise (which are alternative mobile platforms to Android and iOS) aren’t where they ought to be particularly because they lacked the extensive array of apps to attract users like their counterparts.

Productivity on Linux had terribly lacked in the past and adaptation was rather hard and impossible for most during it’s earlier days – fast forward two decades later and we have an abundant of apps tailored to the specific needs for Linuxers and extremely user-friendly operating systems for newcomers in the Linux world.

When we talk about productivity the first thing that comes to mind mostly is an office suite before anything else – and more specifically, Microsoft office or it’s immediate competitor, LibreOffice.

While we may have these two as the most popular, they are not necessarily the best and the former is not native to Linux.

We’ve made a comprehensive list of Office suites available for the Linux platform in this article totaling 16 – most of which are cross platform too – essentially making them alternatives to the Microsoft Office suite available on competing desktop platforms (Windows and OSX) out there and even the mobile ones.

1. LibreOffice

This office suite is essentially a fork of the used-to-be well-known Openoffice. It features support for most formats native to MS Office suite including docdocsxlsx etc., alongside many other open document standards.

Libreoffice is cross-platform and features a word processor – Writer, spreadsheets – Calc, Presentation – Impress and many others.

Asides its feature set, LibreOffice is also customizable with a varying number of icon sets available on its website and added functionalities as plugins.

Libreoffice for Linux

Libreoffice for Linux

For installation instructions visit: Install LibreOffice in Linux Systems

2. Apache OpenOffice

OpenOffice has quite a lot in common with LibreOffice given that they share the same underlying code. Development on OpenOffice has somewhat lagged behind LibreOffice particularly because of its slow development cycle which was one of the main reasons LibreOffice broke off from them back in the day, however, OpenOffice remains a viable alternative with many of the functions available in LibreOffice and many years of development work.

Also, OpenOffice is cross-platform with availability on Windows, OSX, and Linux.

Openoffice for Linux

Openoffice for Linux

For installation instructions visit: Install Apache OpenOffice in Linux Systems

3. Calligra Suite

Calligra is one of the oldest open-sourse Office suites that has been in active development for the well part of 15years and was formally known as KOffice.

It’s a Qt-based office solution built around the the KDE desktop environment but still available for other platforms.

Under Calligra is a host of suites for almost all forms of productivity work including the popular image manipulation software known as Krita.

  1. Calligra Words – word processor
  2. Calligra Sheets – spreadsheet
  3. Calligra Stage – presentation
  4. Calligra Author – used to make Epubs
  5. Calligra Plan – project planner
  6. Krita – paint
  7. Calligra Flow (formerly Kivio) – flowchart designer
  8. Karbon (formerly Karbon14) – vector graphics
  9. Braindump – mind-mapping and notes application
  10. Kexi – database manager

Caligra Office Suite for Linux

Caligra Office Suite for Linux

Visit Homepage: https://www.calligra.org/

4. WPS Office

WPS otherwise (writer presentation and spreadsheets), has quickly grown to become of the most-used productivity suites especially due to its modernized look and availability on the most used desktop platforms and mobile alike.

WPS used to be Kingsoft Office and was born in June 2013. The program’s code is proprietary and has the free and premium side of things with premium offerings that include, over 230 fonts, documents collaboration, advanced spreadsheets, documents encryption et ‘al.

However, the free versions of the mobile and desktop apps alike offer quite a lot for free including online templates and a modernized UI which is not something most of the office suites in this article can exactly boast of.

WPS is today featured as the default Office suite in many Linux-based distros such as Deepin OS.

The Kingsoft made office suite supports all MS Office formats and also features some proprietary formats of its own known one of which is .wps.

WPS Office for Linux

WPS Office for Linux

Visit Homepage: https://www.wps.com/

5. GNOME Office

This is yet another open-source office suite built around a desktop environment like Calligra above. If you haven’t guessed it by now, GNOME Office is built for the GNOME DE using GTK technologies.

It supports just as much formats as the above-mentioned suites with elements (some of which you already know) used across varying distributions around the world.

GNOME Office is however only available on the Linux platform and has the following list of softwares under its entirety.

  1. AbiWord – word processing application
  2. Gnumeric – spreadsheets application
  3. Ease – presentation application
  4. Inkscape – Drawing
  5. Glom – database manager
  6. GnuCash – financial manager
  7. Evolution – Email manager and RSS viewer
  8. Evince – PDF viewer
  9. gLabels – label-maker
  10. Dia – Diagram designer

Gnome Office for Linux

Gnome Office for Linux

Visit Homepage: https://wiki.gnome.org/GnomeOffice

6. Softmaker Office

Softmaker is a Microsoft Office compatible closed-source software also offering the free and premium side of things.

The former is rather referred to as Softmaker FreeOffice while the latter is just Softmaker – encompassing all the features and functionalities.

Like LibreOffice and WPSSoftmaker is available on multiple platforms and the apps under the Office Suite includes the following.

  1. Textmaker
  2. PlanMaker spreadsheet
  3. SoftMaker Presentations – presentations
  4. BasicMaker – VB programming tool ( Windows only)
  5. eM Client – email-client (professional only)

Softmaker Office for Linux

Softmaker Office for Linux

Visit Homepage: http://www.softmaker.com/en/softmaker-office-linux

7. Oxygen Office

This is essentially a continuity of the “OpenOffice.org Premium” of back in the day in a free package with all the essentials supported by the Apache Office and LibreOffice with noteworthy differences in the maneuverability of the GUI and it’s enhanced code-base.

It supports all the norm including word creation, spreadsheets, and more with a few nifty extras like an antivirus software (for those on the Windows platform) – Avast Home Edition specifically, a diagram creator and also a calculator.

Oxygen Office for Linux

Oxygen Office for Linux

8. Yozo Office

This is one of the fewer-known Office suites that also offer a wide array of features including support for most Microsoft Office formats. Its components include a word processing engine, spreadsheets, PDF viewer, and presentation.

Yozo is however, proprietary but free and cross platform. But if you want even more features, then you you’ll have to go for the premium bundle which is quite hefty in pricing. Yozo also features its own custom file format ending in .eio

Yozo Office for Linux

Yozo Office for Linux

9. Google Docs

Google Docs which is an online-based office suite takes quite a different approach in documents creation and it’s essentially cross-platform, free and powerful.

It is used by millions around the world and has native apps for the two most used mobile operating systems (Android and iOS). It is written in JavaScript and features online collaboration, offline saving, and more.

It is the suite of choice for thousands of schools around the world and enterprises too.

Google Docs applications include:

  1. word processor,
  2. Sheets – spreadsheet
  3. Drawing – diagrams and flowcharts
  4. Forms – surveys
  5. Slides – presentation

Google Docs

Google Docs

10. Zoho Docs

Zoho Docs is another web-based suite similar in functionality to Google Docs but is, however, targeted at the business market (even though there’s the free version of it) because features like online collaboration and offline saving are are only available if you go for a premium subscription.

Zoho Docs can be quite pricey but it’s likewise advantageous as it also has native apps for Android and iOS with sync desktop clients for OSX, Linux and Windows.

Zoho Docs

Zoho Docs

11. Joeffice

Joeffice is another alternative with the commonly supported features like word processing, spreadsheets, presentations, and database management with the exception of the fact that it’s written in Java.

Joeffice isn’t half as bad as it has a modernized look, completely open-source, and has the ability to run online.

Joeffice Office Suite

Joeffice Office Suite

12. Siag Office

Siag is another uncommon office suite that supports all the well-known Microsoft Office formats and quite a few components to boot – they include:

  1. Spreadsheet Siag – spreadsheets
  2. Pathetic writer – word processor
  3. Egon – an animation program
  4. XedPlus – text editor
  5. Xfiler – file manager
  6. Gvu – previewer

Siag is available for OSX, OpenBSD and Linux. The only downside I see to Siag is its somewhat dated user interface which I feel might be a turn-off for some.

Siag Office for Linux

Siag Office for Linux

 

13. EuroOffice

EuroOffice is another open-source application with aims to further enhance the office experience by combining the best of OpenOffice and LibreOffice for more interoperability and extensibility.

There is both a free and professional version however, and includes most if not all of the features that can be found on the office suites that it has its base and even more – specific to the professional version (which is closed) which include additional spell checkers and tools.

14. ThinkFree Office

ThinkFree is yet another proprietary Office suite of applications that aim to look, feel and deliver like Microsoft’s Office. It is written in Java and Ajax and is as well cross-platform and features apps like:

  1. Write – word-processor
  2. Calc – spreadsheet
  3. Show – presentation
  4. Note – blog editor
  5. WYSIWYG – HTML editor

It’s a premium office suite and has no free version but a trial that last for thirty days after which you’ll need to shell out some cash for the full experience.

ThinkFree Office for Linux

ThinkFree Office for Linux

15. Hancom Office

Hancom is a closed-source office suite popular in the Asia (especially South Korea) and also cross- platform. The suite features support for the most-used Microsoft formats and also happens to be the preferred office application for most Koreans.

It has been pre-installed on quite a number of Android-powered Samsung devices in the past and it’s also one of the more intuitive options that is also available in multiple languages.

Hancom Office for Linux

Hancom Office for Linux

16. Office 365

If you haven’t guessed it by now, this is Microsoft’s own answer to “Office in the Cloud”. The service is basically a stripped down version of the full MS Office suite available locally as it lacks of many of the advanced features.

You are therefore limited to its basic functionality that will give you a rather sub-par experience. You can however enjoy seamless integration with Onedrive and other features like online collaboration and more.

Office 365

Office 365

Conclusion

Here is our comprehensive list, Did we miss anything? Let us know in the comments section down below.

Source

Install Latest SMPlayer in Debian, Ubuntu, Linux Mint and Fedora

SMPlayer is an open source and free cross platform multi media player for Linux and Windows was released under the GPL license.

It’s playback engine was designed using award winning MPlayer as it capable of playing almost all audio and video formats like avimkvwmvmp4mpeg etc. It uses own codecs, so you don’t need to download and install additional codecs.

The most interesting features of SMPlayer is it stores all the settings of recently played files. Let’s say you suppose to watch the movie but you have to leave… don’t worry, when you open that movie, it will start playing at the same point where you left it with same volume, audio track, subtitles and so on.

Suggested Read: 10 Best Open Source Video Players For Linux in 2015

SMPlayer Features

  1. Complete preferences dialog to change colors, key shortcuts and fonts of the subtitles, and many more.
  2. Supports Multiple speed playback. You can play video at 2X, 4X and even in slow motion.
  3. Delay adjustments for Audio and Video subtitles and allows you to sync audio and subtitles.
  4. Provided search function to search and download subtitles from opensubtitles.org.
  5. Included YouTube browser to download and play videos online.
  6. Currently supports more than 30 languages, including Italian, Spanish, French, Russian, German, Chinese, Japanese.
  7. Options to change style and icon set of the interface.

SMPlayer, the popular mplayer/mplayer2 GUI, has reached version 16.8 with playlist support, options to load playlist from interent and other changes.

What’s new in SMPlayer 16.8

  1. Support for 2 in 1 computers with touch screens
  2. Support for dual-screen sharing, means play video from an external screen
  3. Support for high DPI screens
  4. Global shortcuts
  5. Settings are remembered for online streams too

The complete change log and feature set of SMPlayer 16.8 can be found at http://smplayer.sourceforge.net/.

Installation of SMPlayer Media Player in Linux

To install SMPlayer on Debian, Ubuntu and Linux Mint systems, run these following commands from terminal.

$ sudo add-apt-repository ppa:rvm/smplayer 
$ sudo apt-get update 
$ sudo apt-get install smplayer smplayer-themes smplayer-skins

On Fedora 22-24, open a terminal and run these commands:

On Fedora 24

# dnf config-manager --add-repo http://download.opensuse.org/repositories/home:/smplayerdev/Fedora_24/home:smplayerdev.repo
# dnf install smplayer

On Fedora 23

# dnf config-manager --add-repo http://download.opensuse.org/repositories/home:/smplayerdev/Fedora_23/home:smplayerdev.repo
# dnf install smplayer

On Fedora 22

# dnf config-manager --add-repo http://download.opensuse.org/repositories/home:/smplayerdev/Fedora_22/home:smplayerdev.repo
# dnf install smplayer

Starting SMPlayer

Start the SMPlayer by executing following command on the terminal.

$ smplayer
SMPlayer Screenshot Tour

SMPlayer Running on Ubuntu 16.04

SMPlayer Running on Ubuntu 16.04

SMPlayer Running on Ubuntu 16.04

SMPlayer Running on Ubuntu 16.04

SMPlayer Running on Ubuntu 16.04

SMPlayer Running on Ubuntu 16.04

For other distributions packages, go to the SMPlayer download section.

Source

21 Best Music Players That Are Worth Trying On Linux

Some may describe it as their passion, while some may consider it as their stress reliever, some may consider it as a part of their daily life but in every form listening to music has become an undetachable part of our lives. Music plays different roles in our lives.

Best Linux Music Players

21 Best Linux Music Players

Sometimes it makes us enjoy with enthusiasm, sometimes it makes us feel pleasant and good, sometimes it makes us remember someone or some feel good moments of our past. Listening to music has sustained generations, but the medium has changed.

 10 Best Open Source Video Players For Linux in 2015

Earlier people relied on radio’s to listen music, while present generation has ipods, smartphones, PC and other gadgets to listen to music. Coming to PC’s we have dedicated software’s called Music Players to play our choice of song or playlist for us.

While most generation has smartphones, ipods to listen to music, these Software’s are also common source to listen to music which suits the mood for people who spent hours working on PC’s and Laptop’s and find it convenient to listen using their daily friend.

Thus, even Music Players form an important medium for countless crowd comprising students, professionals and other citizens.

Music Players and Linux

Growth of Linux as an accepted Operating System in Market was not so much few decades back, but flourishment of this Open Source Industry in IT Market from past few years has opened tremendous opportunities for a huge crowd of professionals who wanted to contribute to this industry with their work.

One such opportunity struck in very late twentieth century with need for Music Player on Linux. Since then many Music Players have been added to various Linux distributions, some as default and some as externally downloadable. Many companies, professionals have made such Music Players and have added to the repository.

Main aim for any Music Player is to support all the file formats of audio files which are supported by Windows as well as Linux and additionally support online music streaming which is trending now a days.

21 Best Music Players on Linux Till Date

Below we list some of the best Music Players created on Linux till date. A Music Player can be characterized as best after considering following features: formats supported, memory consumption, online or offline streaming of music or both, user interface design, feature-set.

Some of the music players highlighted below guarantee all the above factors while some guarantee only some factors which is the main criteria for ranking them.

1. Amarok

Amarok is a cross-platform open source software written in C++ (Qt) and released under GNU Public License.

Originally started by Mark Kretschmann as an effort to improve xmms , this software was initially named as amaroK after name of wolf and later changed to Amarok.

It can play media files in various formats but not limited to: FLAC, Ogg, Mp3, AAC, Musepack etc. Apart from playing offline collection, it can stream online music integrating with various online services like: Magnatune, Jamendo, MP3tunes, Last.fm and Shoutcast.

Amarok provides apart from basic services, few advanced features like: fetching, transferring music to or from digital music players, moodbar support, and dynamic playlist support etc.

Install Amarok

Amarok can be easily installed by using apt-get or yum package manager as shown:

# apt-get install amarok	[On Debian based systems] 
# yum install amarok		[On RedHat based systems]
# dnf install amarok		[On Fedora 22+ versions]

Preview: Amarok Player

Preview: Amarok Player

2. Clementine

Released in February 2010, Clementine is also a cross-platform software which aimed to solve criticism of many people against the transition of Amarok from version 1.4 to 2.

It is a port of Amarok version 1.4 to Qt4 and Gstreamer multimedia framework. It is also written in C++ (Qt) framework released under GNU General Public License.

With features almost same as of Amarok, it provides few extra functionalities like: Remote Control using Android device, Wii Remote, MPRIS or command-line interface.

Install Clementine

Clementine can be easily installed by using apt-get or yum package manager as shown:

# apt-get install clementine	        [On Debian based systems] 
# yum install clementine		[On RedHat based systems]
# dnf install clementine		[On Fedora 22+ versions]

Clementine Music Player

Clementine Music Player

3. Tomahawk

Tomahawk is cross-platform open source music player released in March 2011. It is also written entirely in C++ (Qt) and released under GNU General Public License.

Tomahawk is a light-weight software and focuses on aggregation of music from all the sources including local, network and streaming services. Talking of UI, it has iTunes like interface.

Also, it provides access to various music services like: Spotify, Youtube, Jamendo, Grooveshark etc through various externally downloadable plug-ins. Like above music players, it also offers a basic feature-set.

Install Tomahawk

# apt-get install tomahawk	[On Debian based systems] 
# yum install tomahawk		[On RedHat based systems]
# dnf install tomahawk		[On Fedora 22+ versions]

Tomahawk Music Player

Tomahawk Music Player

4. Lollypop

Lollypop is a gnome music player which is a free and open source project hosted on github. It is written entirely in Python and Gtk3.

It is very lightweight and has a very good looking User Interface with ability to play mp3, mp4, Ogg and flac files. Provides with the feature to read artist biography from Last.fm or Wikipedia, lyrics of song from Wikia.

It also provides features like: browsing through the collection using artist, album or genres, party mode effect for playing music etc. This can play only downloaded audio tracks and doesn’t allow streaming audio.

Install Lollypop Music Player

------------------ On Debian based Systems ------------------
$ sudo add-apt-repository ppa:gnumdk/lollypop
$ sudo apt-get update
$ sudo apt-get install lollypop
# yum install lollypop		[On RedHat based systems]
# dnf install lollypop		[On Fedora 22+ versions]

Lollypop Music Player

Lollypop Music Player

5. Cmus

Cmus is a console based music player for Linux OS. Written exclusively in C and released under GNU General Public Liscense, this music player runs on terminal and is operated through keyboard with the help of commands prepended with the colon.

Because of being console-based, this music player is very fast to load even with huge number of songs. It has support of Ogg, Mp3, Wav, MPEG-4/AAC, WMA etc.

It enjoys all the advantages of being the console based music player but this has some effect on its user interface which is not much glossy. Apart from this, it is controllable through cmus-remote program and is known to work on many Unix like Operating Systems: FreeBSD, OpenBSD, Cygwin etc.

Cmus Commandline Music Player

Cmus Commandline Music Player

Read More: Install CMUS Console Based Music Player in Linux

6. Aqualung

Released in August 2015, aqualung is a cross-platform audio player originally targeted at GNU/Linux but also running on Mac OS, Windows, FreeBSD etc.

It is written entirely in C and is available for many languages including French, German, Hungarian etc. This software supports various audio file formats like: Org, Forbis, FLAC and Mp3.

The feature which makes it different from most of the music players is to play gapless music. Other features include: multi-language translation, allowing multiple playlists at same time, changing the skin at any time, support for MPEG formats and even Audio CD’s.

Install Aqualung Music Player

# apt-get install qualung	[On Debian based systems] 
# yum install qualung		[On RedHat based systems]
# dnf install qualung		[On Fedora 22+ versions]

Aqualung Music Player

Aqualung Music Player

7. Quod Libet

Quod Libet is an open source cross-platform music player cum tag editor. Written in Python using GTK+ and released under GNU General Public License, this software has support for Linux, Windows and OS X requiring plug-ins for Python, PyGObject including OSS and ALSA compatible audio devices.

With a great User Interface and Pango support to dynamically position the tags, it provides various other features including: dealing with audio back-ends using Gstreamer plugin, RelayGain support, option for shuffling entire playlist before repeating, rich set of features for tag editing, saving the play count of songs, downloading lyrics, fast-refreshing entire library etc.

Install Quod Libet Music Player

# apt-get install quodlibet	[On Debian based systems] 
# yum install quodlibet		[On RedHat based systems]
# dnf install quodlibet		[On Fedora 22+ versions]

Quodlibet Music Player

Quodlibet Music Player

8. Spotify

It is a Swedish commercial music streaming, podcast and video service that gives full view to the user as an online audio player. It is cross-platform service which is available on almost all platforms.

Released in October 2008 by a Swedish startup Spotify AB, it got famous in hearts of 10 million+ users in no time and by June 2015, it has gathered a huge crowd amongst it which is around 75 million.

Spotify offers ability to browse or search music by artist, album, genre, playlist or record label. Spotify offers two music streaming services : Spotify Free with 160 kbit/s and Spotify Premium with speed upto 320 kbit/s.

Install Spotify Music Player

------------------ On Debian based Systems ------------------ 
$ sudo apt-add-repository -y "deb http://repository.spotify.com stable non-free" 
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D2C19886 
$ sudo apt-get update -qq 
$ sudo apt-get install spotify-client
------------------ On RedHat based Systems ------------------ 
# yum-config-manager --add-repo=http://negativo17.org/repos/epel-spotify.repo
# yum -y install spotify-client


------------------ On Fedora 22+ Systems ------------------ 
# dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo
# dnf -y install spotify-client

Spotify Music Player

Spotify Music Player

9. Exaile

A cross platform music player whose latest release happened to be 3.4.2 in November 2014. It uses GTK+ widget toolkit rather than Qt and is written in Python with Gstreamer media framework.

With a plain yet appealing user interface this music player holds very much similarity to Amarok for most of its functionalities Last.fm support, fetching of lyrics, editing of tags.

Also, it provides devices support via external plug-ins. Apart from these basic features, it also provides some advanced features like: ReplayGain support, Moodbar integration, previewing tracks via secondary soundcard etc.

Install Exaile Music Player

# apt-get install exaile	[On Debian based systems] 
# yum install exaile		[On RedHat based systems]
# dnf install exaile		[On Fedora 22+ versions]

Exaile Music Player

Exaile Music Player

10. Guayadeque

Guayadeque is a free and Open source audio player written in C++ and made entirely for Linux was released in March 2009 under GNU General Public License.

Guayadeque has a user interface which is analogs to Windows Player winamp and Foobar 2000 for Linux. Its features include creating and managing complex music collection, Last.fm and ReplayGain support, support for both lossless (e.g. FLAC, AIFF, AIF, APE etc.) and lossy formats like: Mp3, Ogg, mp4, m4a etc.), access to SHOUTcast, seamless playback of music collection, manage podcasts in music collection possible.

Install Guayadeque Music Player

# apt-get install guayadeque	        [On Debian based systems] 
# yum install guayadeque		[On RedHat based systems]
# dnf install guayadeque		[On Fedora 22+ versions]

Guayadeque Music Player

Guayadeque Music Player

11. Juk

Another cross-platform audio player designed for Unix-like systems and Windows, JuK was released on February 2004. It is written in C++ and released under GPL.

JuK supports collection of audio files of formats like: Mp3, Ogg Vorbis, and FLAC. Some features that make it a part of the list are: Dynamic Search Playlists that are auto-updated, auto-sync feature that automatically detects new added songs to the music directory, guessing tag info by online lookup, tag-reading and editing support.

Install Juk Music Player

# apt-get install juk	[On Debian based systems] 
# yum install juk		[On RedHat based systems]
# dnf install juk		[On Fedora 22+ versions]

Juk Music Player

Juk Music Player

12. Nuvola Player

Nuvola Player is actually cross-platform cloud music integration for your desktop. This player is designed to have a very native look and feel but is a webapp built up of components of regular browser.

Nuvola supports Mpris v2 which means it has a sound menu support in Linux Desktop Environments. Many services work with Nuvola which are:
Bandcamp, Deezer, Google Play Music, Jango, Mixcloud, Rdio, This is my Jam and Spotify and many services are being worked upon for current and future versions like: Amazon cloud player, KEXP live stream, Synology Audio Station, Btracks.

Install Nuvola Player on Ubuntu

$ sudo add-apt-repository ppa:nuvola-player-builders/stable
$ sudo apt-get update
$ sudo apt-get install nuvolaplayer

Install Nuvola Player on Fedora

Add the following lines to tiliado-nuvolaplayer.repo file under software sources list at /etc/yum.repos.d/.

[tiliado-nuvolaplayer]
baseurl=https://tiliado.eu/nuvolaplayer/repository/rpm/<codename>/<arch>/<component>
enabled=1
gpgcheck=1
repo_gpgcheck=1
enabled_metadata=1
  1. Replace <codename> as fc23, fc22 or fc21 and <arch> with with x86_64 for 64bit systems.
  2. Replace <component> with stable – Stable releases with new features and bug fixes.

Import PGP key.

# rpm --import http://keyserver.ubuntu.com/pks/lookup?search=0x40554B8FA5FE6F6A&op=get

Update package metadata cache.

# yum makecache fast
OR
# dnf makecache fast

Finally, install the nuvolaplayer.

# yum install nuvolaplayer			[On Fedora systems]
# dnf install nuvolaplayer			[On Fedora 22+ versions]

Nuvola Player

Nuvola Player


 

13. Nightingale

Nightingale is a free, open source and cross-platform audio player written in C++ and released under GPLv2, MPL and BSD Licenses for Windows, Linux and OS X. It can also be considered as a web browser based on Songbird media player source code. It has more of a web browser type user interface and has ability to play multiple audio formats like: MP3, AAC, Ogg Vorbis, FLAC, WMA and Apple Lossless. Also, this player provides ability to subscribe to mp3 blogs as playlists, build custom mixes, scan computer for audio files and add them to local library. One of the very unique feature of it is collapsible GUI similar to iTunes and mini-player mode.

Install Nightingale Player on Ubuntu

$ sudo add-apt-repository ppa:nightingaleteam/nightingale-release
$ sudo apt-get update
$ sudo apt-get install nightingale

Nightingale Player

Nightingale Player

14. Decibel Audio Player

Decibel audio player is a free and open source audio player which is written in GTK+ and meant for GNU/Linux. It is simple yet very effective kind of a music player. It has a very clean interface with all the required set of features and no extras, but apart from that it is rich in feature-set and offers great deal of features.

Some of them include: full right to user to disable the feature he doesn’t need which makes it probably one of the most memory efficient one, tagging of files or burning CD’s. It has three modes which are: full, playlist and min. Above all, it offers many features which are not directly available but, they are available via plug-ins.

Install Decibel Audio Player

# apt-get install decibel-audio-player	        [On Debian based systems] 
# yum install decibel-audio-player		[On RedHat based systems]
# dnf install decibel-audio-player		[On Fedora 22+ versions]

Decibel Audio Player

Decibel Audio Player

15. MPD

MPD is another music player which is also written in C++, released in February 2015 and available for Unix-like OS and Windows and released under GPL.

Apart from all music players discussed till now, this is a daemon server which runs in background which needs a client for interaction. This music player once initiated, a daemon runs in background which uses the database of audio files kept in-memory and any local client can playback audio files after connecting to server via Sockets.

MPD can recognize large number of audio file formats including: Ogg, Vorbis, FLAC, Opus, WavPack, MP3, MOD etc. This Daemon behavior of this music player server although takes UI feature from it, but provides it with various other features like: Buffer support for playback, Seeking and Crossfading support, remotely controlling the daemon over the network, support for ALSA, OSS, JACK, MVP, PulseAudio, OS X and Windows.

It also has clients which have user interface but it is kept to very simple one.

Install MPD Music Player

# apt-get install mpd	[On Debian based systems] 
# yum install mpd		[On RedHat based systems]
# dnf install mpd		[On Fedora 22+ versions]

16. Audacious

Primarily designed for POSIX-compatible platforms like Linux with added support to Windows, Audacious is an open source audio player and default music player for Lubuntu and Ubuntu Studio. It is entirely written in C++ with latest version being 3.4 released in June 2013.

Audacious is one of the players with wide variety of features, most of which are available through external plugins namely: Decoder, Transport, Output, Effect plugin etc. Apart from this, it has support for wide variety of codecs namely few of which are: Mp3, FLAC, Wavpac, TTA, Shorten, MIDI etc.

It has full support for Winamp 2 skins and with all skins usually rendered in png format, it allows users to render the skins adjusting the RGB color balance by themselves. Even after being a standalone player, it accepts connection from client software’s like: Conky.

Install Audacious Music Player

# apt-get install audacious	[On Debian based systems] 
# yum install audacious		[On RedHat based systems]
# dnf install audacious		[On Fedora 22+ versions]

Audacious Player

Audacious Player

17. Rhythmbox

Written in C and released for Unix like systems like: BSD, GNU/Linux and Solaris, Rhythmbox is an audio player that plays and helps organize digital music. It is a default music player for Ubuntu Linux system. Works well under GNOME desktop environment with GStreamer media framework.

With a good looking user interface, Rhythmbox provides various features like: gapless playback, Last.fm support through which it can stream online music, Audio CD burning, Music importing. It can integrate into countless number of platforms very efficiently. Versions of Rhythmbox above 0.10.0 support DAAP sharing. Additionally it uses udev subsystem of Linux to detect the device chosen for playing music.

Install Rhythmbox Music Player

# apt-get install rhythmbox	[On Debian based systems] 
# yum install rhythmbox		[On RedHat based systems]
# dnf install rhythmbox		[On Fedora 22+ versions]

Rhythmbox Player

Rhythmbox Player

18. DeaDBeeF

Written in C, DeaDBeeF is a lightweight but powerful music player released under GPLv2 for Linux and Android. Most of external plugins supported by DeaDBeeF are written in C++ and interface uses GTK2.

One of the major advantage it holds above many audio players is low memory consumption. It can play large number of formats including but not limited to: mp3, ogg, wav, m4a etc.

Other notable features include: Online and Offline streaming of music, 18-band equalizer support, gapless playback, Cuesheet support, Last.fm support etc.

Install DeadBeeF Music Player

# apt-get install deadbeef	[On Debian based systems] 
# yum install deadbeef		[On RedHat based systems]
# dnf install deadbeef   	[On Fedora 22+ versions]

DeaDBeeF Music Player

DeaDBeeF Music Player

19. MOC (Music On Console)

MOC is another text-only music player somewhat similar to what we saw in MPD but with some changes. Written in C and based on ncurses, this console audio player is specially written for Linux/Unix based systems. It was written originally by Damian Pietras and now being maintined by John Fitzgerald.

The console-based feature of this audio player comes with many advantages which are: simple yet powerful interface, low memory utilization. Apart from this it has seperate thread for output buffer which helps it avoid high load situations.

MOC has customizable interface layouts and supports ALSA, OSS and JACK outputs. Like MPD, it also has a client/server architecture but doesn’t support remote network accessibility by any graphical client.

Install MOC Music Player

# apt-get install moc	        [On Debian based systems] 
# yum install moc		[On RedHat based systems]
# dnf install moc   	        [On Fedora 22+ versions]

MOC Commandline Music Player

MOC Commandline Music Player

20. Qmmp Music Player

It is a cross-platform Qt based audio player similar to Audacious and Winamp. It is easily available for almost all Linux Distros without compilation unless you need the latest build.

It supports wide variety of audio formats including: FLAC, Ogg Vorbis, MPEG-1, AAC, etc. Along with support to cuesheets. It can have skins similar to Winamp and even you can customize your skins.

It supports Volume Normalization which is a built-in option. Many other features can be availed in this player using external plugins. Other features include; Last.fm support, ReplayGain support, viewing lyrics, crossfade, support for ALSA, OSS and JACK audio outputs.

Install Qmmp Music Player

# apt-get install qmmp	        [On Debian based systems] 
# yum install qmmp		[On RedHat based systems]
# dnf install qmmp   	        [On Fedora 22+ versions]

Qmmp Music Player

Qmmp Music Player

21. YAROCK Music Player

YAROCK is a music player exclusively for Linux platform. It is written in C++ and Qt and using Phonon multimedia framework. Its mordern looks and minimal dependencies and support for different audio back-ends makes it be in this list of best music players.

It has MPRIS 2 interface which provides basic playback control, tracklist control. Also, it supports command-line interface. YAROCK supports variety of music formats like: MP3, Ogg, Vorbis, FLAC, WMA.

Other features include: ReplayGain support, support for multiple music collections, integration with services like: Last.fm, Echonest, DiscoGs, providing user with useful information like: lyrics, artist biography, albums context and covers etc.

Install YAROCK Music Player in Ubuntu

$ sudo apt-get install build-essential cmake libqt4-dev libtag1-dev libqjson-dev libphonon-dev libvlc-dev mpv
$ wget https://launchpad.net/yarock/1.x/1.1.4/+download/Yarock_1.1.4_source.tar.gz
$ cd Yarock_1.1.4_source/
$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install

Yarock Music Player

Yarock Music Player

Conclusion

We have made this list based on our research. If you think of any other music player on Linux which should have been listed here then you can mention its name in the comments.

Source

WP2Social Auto Publish Powered By : XYZScripts.com