Thursday, February 2, 2017

Linux Desktop Environments

 Linux Desktop Environments


1. GNOME 3 Desktop

GNOME is probably the most popular desktop environment among Linux users, it is free and open source, simple, yet powerful and easy to use. It is designed from ground up to offer Linux desktop users a wonderful and exciting computing experience.
It presents a activities overview for easy access to basic tasks, provides a powerful search tool for users to access their work from any place. However, GNOME 3 latest stable release ships in with the following distinguished components and features:
  1. Uses Metacity as default window manager
  2. Comes with Nautilus as default file manager
  3. Supports desktop notifications using a convenient messaging system
  4. Enables on/off switching of desktop notifications and many more




2. KDE Plasma 5

KDE is a well-known, powerful and highly customizable desktop environment, designed to offer Linux desktop users absolute control over their desktop.
The latest release in the KDE desktop series is the Plasma 5, which has brought in several improvements and new features. It has come with clean and well-polished user interfaces in comparison to previous versions, with improved readability.
Built using Qt 5 and frameworks 5, a number of the notable components and new features in Plasma 5 include:
  1. Dolphin file manager
  2. Kwin window manager
  3. A converged shell
  4. Updated graphics stack enabling smoother graphics performance
  5. Modernized launchers
  6. Workflow improvements in the desktop notification area
  7. Improved support for high-density (high-DPI) display plus many other minor features



3. Cinnamon Desktop

Cinnamon is in fact a collection of several minor projects such as Cinnamon, a fork of the GNOME shell, Cinnamon screensaver, Cinnamon desktop, Cinnamon Menus, Cinnamon Settings Daemon coupled with many more.
Cinnamon desktop is a fork of the GNOME desktop environment, it is the default desktop environment on Linux Mint together with MATE.
Other minor projects and components integrated in the Cinnamon desktop comprise of the following:
  1. MDM display manager
  2. Nemo file manager
  3. Muffin window manager
  4. Cinnamon session manager
  5. Cinnamon translations
  6. Blueberry, a bluetooth configuration tool plus many more.



4. MATE Desktop

MATE is an intuitive and appealing desktop environment, that is an extension of GNOME 2. It works on Linux and many other Unix-like systems. It comes with a handful of default applications such as Caja file manager, Pluma text editor, MATE terminal and more.
Additionally, it is also the default desktop environment for Linux Mint along side Cinnamon desktop.

Visit Homepagehttp://mate-desktop.com/

5. Unity Desktop

Unity is a graphical desktop shell for GNOME desktop environment. The Unity project was started by Mark Shuttleworth and Canonical, the makers of the well-known Ubuntu Linux distribution. It was started back in 2010, with aims of offering desktop and netbook users a consistent and elegant computing experience.
We must note that, Unity is not a totally new desktop environment, but basically an interface to existing GNOME applications and libraries, with various technologies integrated within it, Unity comes with the following prominent components and features:
  1. Compiz windows manager
  2. Nautilus file manager
  3. A system dashboard
  4. Lens, that sends search queries to Scope
  5. Scope, a powerful search feature, that searches both locally and online in case the machine is connected to Internet
  6. Unity preview, that previews search results in the dashboard
  7. Offers an application indicator
  8. System indicator that provides information about system settings such as power, sound, current session and many more
  9. A simple and sleek notification component combined with other minor features.


Visit Homepagehttps://unity.ubuntu.com/

6. Xfce Desktop

If you are looking for a modern, open source, lightweight and easy-to-use, desktop environment for Linux and several other Unix-like systems such as such as Mac OS X, *BSD, Solaris and many others, then you should consider checking out Xfce. It is fast, and importantly user friendly as well, with low system resources utilization.
It offers users a beautiful user interface combined with the following components and features:
  1. Xfwm windows manager
  2. Thunar file manager
  3. User session manger to deal with logins, power management and beyond
  4. Desktop manager for setting background image, desktop icons and many more
  5. An application manager
  6. It’s highly pluggable as well plus several other features.


Visit Homepagehttp://www.xfce.org

7. LXQt Desktop

LXQt is also free, open source, lightweight, simple and fast desktop environment for Linux and BSD distributions. It is the latest version of LXDE, specifically designed, and a recommended desktop environment for cloud servers and old machines due to its remarkably low system resources usage such as low CPU and RAM consumption.
It’s the default desktop environment on Knoppiz, Lubuntu and a few other less known Linux distributions, some of its notable components and features are listed below:
  1. pcmanfm-qt file manager, a Qt port for PCManFM and libfm
  2. lxsession session manager
  3. lxterminal, a terminal emulator
  4. lxqt-runner, a quick application launcher
  5. Supports multiple international languages
  6. A simple and beautiful user interface
  7. Supports an integrated energy-saving component
  8. Supports several keyboard shortcuts plus many more.


Visit Homepagehttp://lxqt.org

8. Pantheon Desktop

Pantheon is a simple and well-designed desktop environment for Elementary OS, a Windows and MacOS X like Linux distribution. It offers users a clean and organized desktop experience. Due to its simplicity, Pantheon comes with not many visually observable features as compared to other popular desktop environments.


Visit Homepagehttps://elementary.io/

9. Deepin Desktop Environment

Deepin Desktop Environment(DDE) is also a simple, elegant and productive desktop environment for Linux, developed by the makers of Deepin OS.
It works on several other Linux distributions as well including Arch Linux, Ubuntu, Manjaro among others, it ships in with some well designed and sleek user interfaces for absolute productivity.
Furthermore, it is also user friendly with few configurations available. Most configurations are performed from a pop-out side panel, additionally, users can launch applications from a dock at the bottom of the screen similar to that in Pantheon desktop.

Visit Homepagehttps://www.deepin.org

10. Enlightenment Desktop

Enlightenment initially started as a windows manager project for x11 system. However, the project has grown to include a full desktop environment, mobile, wearable and TV user interface platforms as well. Additionally, the developers also wrote some useful libraries in the course of the project advancement.
The libraries created will be used to build several desktop applications as well such an image viewer, video player and a terminal emulator and more, with up coming future works on a complete IDE.
Notably, it is in active evolution from x11 to Wayland as the primary graphical display layer for the Linux ecosystem.



Commercial Linux Distributions

Commercial Linux Distributions

Linux isn’t a complete operating system — it’s just a kernel. Linux distributions take the Linux kernel and combine it with other free software to create complete packages. There are many different Linux distributions out there.

If you want to “install Linux,” you’ll need to choose a distribution. You could also use Linux From Scratch to compile and assemble your own Linux system from the ground up, but that’s a huge amount of work.


Red Hat :

The world’s leading enterprise Linux platform

Red Hat® Enterprise Linux® gives you the tools you need to modernize your infrastructure, boost efficiency through standardization and virtualization, and ultimately prepare your datacenter for an open, hybrid cloud IT architecture. Red Hat Enterprise Linux provides the stability to take on today’s challenges and the flexibility to adapt to tomorrow’s demands.


Red Hat Enterprise Linux (RHEL) is a Linux distribution developed by Red Hat and targeted toward the commercial market. Red Hat Enterprise Linux is released in server versions for x86, x86-64, Itanium, PowerPC and IBM System z, and desktop versions for x86 and x86-64. All of the Red Hat's official support and training, together with the Red Hat Certification Program, focuses on the Red Hat Enterprise Linux platform. Red Hat Enterprise Linux is often abbreviated to RHEL, although this is not an official designation.

SUSE Linux :

Founded in 1992, SUSE is the world’s first provider of an Enterprise Linux distribution.




Starting with the launch of the SUSE Linux Enterprise 10 platform in July 2006, the SUSE Linux Enterprise 10 platform was the basis for both the server and desktop with an almost identical code base.

Server
The primary server Linux distribution from SUSE is SUSE Linux Enterprise Server targeted to large organizations for physical, virtual and cloud workloads. All versions are available for multiple processor architectures, including Intel x86, ARM, AMD x86-64, IBM Power, IBM S/390 and zSeries, and Intel Itanium. Trial versions of SUSE Linux Enterprise Server 11 and 12 are available on the site.

Tuesday, January 31, 2017

Difference between Windows file-system and linux file -system



Directory Structure

You won’t find any Windows, Program Files, or Users folders if you start browsing around the file system on your Linux computer. (Although the /home/ directory is very similar to the Users folder.)
The Linux directory structure doesn’t just use different names for folders, it uses an entirely different layout. For example, on Windows, an application might store all its files in C:\Program Files\Application. On Linux, its files would be split between multiple locations – its binaries in /usr/bin, its libraries in /usr/lib, and its configuration files in /etc/.

Case Sensitivity

On Windows, you can’t have a file named file and another file named FILE in the same folder. The Windows file system isn’t case sensitive, so it treats these names as the same file.
On Linux, the file system is case sensitive. This means that you could have files named fileFile, and FILE in the same folder. Each file would have different contents – Linux treats capitalized letters and lower-case letters as different characters.

Backslashes vs. Forward Slashes

Windows uses backslashes, just as DOS did. For example, the path to a user’s directory on Windows is:
C:\Users\Name

On Linux, the path to a user’s home directory is:
/home/name


No Drive Letters – It’s All Under /

Windows exposes partitions and devices at drive letters. Whether you have multiple hard drives, multiple partitions on the same hard drive, or removable devices connected, each file system is available under its own drive letter.

Linux doesn’t have drive letters. Instead, it makes other file systems accessible at arbitrary directories. (Windows can do this too, but this isn’t how it works out of the box.)
On Linux, everything is under / – the root directory. There are no files above the root directory, as there are files outside of C: on Windows. When you connect a device to your computer, it will become available under /media/. The contents of the directory display the contents of the mounted partition.

Everything is a File

Just as every mounted file system is a directory under / (the root directory), everything on Linux is a file. For example, your first hard drive is represented by /dev/sda, your CD drive is available at /dev/cdrom, while your mouse is represented by /dev/mouse.
This phrase is actually a bit of an oversimplification – everything isn’t really a file on Linux. But understanding what this phrase means will help you understand how Linux works.

You Can Delete or Modify Open Files

On Linux and other UNIX-like operating systems, applications don’t lock exclusive access to files as often as they do on Windows. For example, let’s say you’re watching a video file in VLC on Windows. The credits are playing and you’re done watching it, so you try to delete it. You’ll see an error message- – you need to stop watching the file in VLC before you can delete it, rename it, or do anything else to it.

Some other differences include :

No Registry in linux :



Have you heard of the Windows registry? If you haven’t, here’s an extremely fast crash course: it’s a master database of all the settings on your computer. It holds application information, user passwords, device information–pretty much anything you can think of. If it’s not stored as a file, it’s probably stored in the registry.

Linux doesn’t have a registry. The applications on a Linux machine store their settings on a program-by-program basis under the hierarchy of users. In this sense, Linux configurations are modular. You won’t find a centralized database that needs periodic cleaning here.

Command Terminal present in linux :


 Linux has a (fading) reputation for being the operating system for geeks and that reputation mostly comes from the prevalence of the terminal. What’s a terminal, you ask? It’s that black box with traditionally green text that you can use to execute commands. In other words, it’s like Windows Command Prompt on crack.
If you’re going to switch to Linux, you must be open to learning about command structures because you will find yourself using it frequently. I’m sure there are graphical workarounds (such as opening config files in a text editor) but it’s hard to beat the power and efficiency of a terminal that does exactly what you tell it to do.

Linux File System Explained With Shell And Kernel

A Linux system is basically divided in three major components: File System (LFS), Shell and Kernel. Kernel is the core program which manage system hardware devices. Shell provides user interface to run the commands. File system organizes the data in systematic way. Collectively LFS, Shell and kernel provides a way to interact with system and an environment to run commands and manage data.


Let’s understand these components in more details one by one.

Linux file system (LFS) :

Linux accesses every object as file. Files are systematically organized in directories. Linux starts file system with root directory(/). All files and directories are created and managed under the root directory. Since root directory stands on the top in file system, it has no parent directory. Besides root directory, every directory in Linux has a parent directory. Linux allows us to create as many files and directories as we want. We can create files under the existing directories or may create new directories.

System directories : 

System directories contain files, software, applications and scripts which are required to run and maintain the Linux. System directories are automatically created during the installation.
Following figure illustrates some common system directories with their location in LFS.

Common System directories : 
Directory                           Description
/First directory in Linux File System.
It is also known as root directory or main directory.
All files and directories are created and managed under this directory.
/home          Default directory for user data.
Whenever we add a new user, Linux automatically creates a home directory matching with his username in this directory.
Whenever user login, Linux starts his login session from home directory.
/rootThis is the home directory for root user.
Root user is the super user in Linux. For security reason Linux creates a separate home directory for root user.
Root user account is also being created during the installation automatically.
/binThis directory contains standard commands files.
Commands stored in this directory are available for all users and usually do not require any special permission to run.
/sbinThis directory contains system administration commands files.
Commands stored in this directory are available only for root user and usually requires special privilege to run.
/usrThis directory contains user application software files, third party software and scripts, document files and libraries for programming languages.
/varThis directory stores variable data files such as printing jobs, mail box etc.
/etcThis directory contains system configuration files.
/bootThis directory contains Linux boot loader file.
/mntThis directory is used to mount remote file system and temporary devices such as CD, DVD and USB.
/devThis directory contains device files.
Usually files in this directory are dynamically generated and should be never edited.
/tmpThis directory provides temporary location for applications.

Shell :

Shell is a command interpreter. It take commands from user, execute them and display the results. Shell supports I/O ( Input / Output) redirection which means it can read commands from non-standard sources such as script files. As well as it can also redirect output to any supportive device (such as printer) or data server.
Several Shells are available in Linux such as Kom, TCSH, Z shell, Bash etc. Although several shells are available, only one shell is set to default in RedHat Linux. Bash (Bourne Again shell) shell is the default shell in Red-Hat Linux.
CommandDescription
cat /etc/shellsTo list the all available shells
chsh –lTo list the all available shells
echo $0To view the current shell name
exec /bin/cshTo change current shell temporary. At next login default shell will be restored.
chsh –s /bin/cshTo change current shell permanently. Change will be applied at next login. Default shell will be used in current session.

Kernel

Kernel is the core application in Linux operating system. It communicates directly with system devices such as memory, CPU, CDROM, Hard disk etc.


When a user wants to access any device, he types appropriate command at command prompt. Shell interpreters the command and hands over the instruction to kernel. Kernel communicates with device and process the user requests.
Kernel name provides information about its version. Kernel version number is built from four segments : major, minor, revision, and security / bug fix.
  • Major number :- This number reflects major changes in kernel.
  • Minor number :- This number reflects a major revision in kernel.
  • Revision number :- This number reflects that new supporting features are added in kernel.
  • Security/ Bug number :- This number reflects security or bug fix in kernel.
Kernel development is an ongoing process. Development versions will first available as release candidates. Release Candidates (rc) are intended for developers. RC allows developers to test new features of kernel before final version is released. Release candidate have an indicative keyword (rc) in name for example kernel-2.6.22-rc3.
Kernel is an open source project. Distributors are allowed to make changes in kernel. If distributer makes any change in kernel, he will add a patch number in the end of the name. Besides patch number, distributors may add platform number.
  • To view which kernel package is install, we can use rpm –q kernel command.
  • To view only the kernel version number we can use uname –r command.