Linux.com

Community Blogs



Send mail from command line on Linux using external SMTP server

SMTP servers If you have just setup an smtp server, like Postfix or Exim, then you would want to test it out to check if it is receiving and relaying emails properly or not. If you do not want to setup a mail client like Thunderbird on your local machine and want to run a quick command to send out mails via these smtp servers, then this post shows you how. 1. mailx command The mailx command is available from many different packages like mailutils,...
Read more... Comment (2)
 

Send mail from command line with external smtp server on Linux

SMTP servers If you have just setup an smtp server, like Postfix or Exim, then you would want to test it out to check if it is receiving and relaying emails properly or not. If you do not want to setup a mail client like Thunderbird on your local machine and want to run a quick command to send out mails via these smtp servers, then this post shows you how. 1. mailx command The mailx command is available from many different packages like mailutils,...
Read more... Comment (0)
 

Intense Gameplay? Try these 13 Roguelike games

Roguelike is a sub-genre of role-playing games. It literally means "a game like Rogue". Rogue is a dungeon crawling video game first released in 1980, standing out for being fiendishly addictive. Its goal was to retrieve the Amulet of Yendor, hidden deep in the 26th level, and ascend back to the top.

This article compiles a good selection of roguelike games available for Linux. If you enjoy intense, addictive gameplay, try these 13 games. Don't be put off by the primitive graphics, you'll soon forget the visuals once you get immersed. All of them are available to download without charge, and almost all are released under an open source license.

<A HREF="http://www.linuxlinks.com/article/201412031524381/RoguelikeGames.html">Complete story</A>

 

Linux Mint 17.1 Cinnamon Officially Released

Codenamed “Rebecca”, the Linux Mint 17.1 Cinnamon edition has been released, and brings many new improvements, featuring a brand new, more stable and polished Cinnamon then ever, a Ubuntu 14.04 software base and Linux Kernel 3.13.

 

Full article

 

Battle for Wesnoth 1.12 Has Big New Features [Overview, What’s New, Screenshots]

Battle for Wesnoth is one of the flagship open-source games, with a huge, dedicated community and an almost unmatched feature-completeness among the open-source games.

 

Full article

 

War Thunder Free Steam MMO Now with Linux Client

War Thunder, a free, popular MMO based on World War II, has received a Linux client, so you can now install and play War Thunder for free on Steam.

 

Full article

 

12 Awesome Themes for Mint 17.1 Cinnamon

With Mint 17.1 Rebecca being days away from release, and Cinnamon 2.4 looking so good, here is an overview of some of the best looking themes which allow you to beautify your desktop.

 

Full article

 

Scripting made fun: Creating a melody of simplicity

Last time I uncovered a language that created a two-way communication tunnel with my Linux system. When you learn a two-way method of communication, the intentions of both communicators are understood. My Linux systems understand my intentions. It knows that my objective is to make my system very simple to operate in accordance to my standard of simplicity. This way I can understand more thoroughly how my system works. Once approved, more of the underlining functions of my system are revealed. What I started creating was a melody of simplicity.

Last time, I wrote a blog titled “scripting made fun”. The article was to inspire a new way of scripting that removed boredom and fear of learning programming. When you enjoy what you are doing, you do more of it and differently. I found my unique communication style.

My system must be psychic; a voice repeatedly recited, “take a sentence of mundane commands and reduce them to one word”. I did this using variables. From variables now moving to actually writing scripts with multiple lines of code. For assistance, you can learn how scripts work by reading script files like “fstab” or “init.d”. Take time to dissect them. When learning Linux, allow yourself time to take things apart.

I kept the scripts in my home folder, and modified the default search path. This time, they have been placed in one of the already declared default search folders. As I furthered my readings of The LPI Linux essentials study material, It was recommended to place compiled or custom made programs in the “/usr/local/ directory”. I don't have to worry about my scripts being moved when my system upgrades.

When I placed the scripts in this directory, the owner changed from me to “root”. Give me back what is rightfully mine. I am not running “sudo” before my OWN programs. Management is under revision.

The command “chown” changes the ownership of a program. 

#sudo chown <new profile name> <name of file or diretory> 

Your files, directories, or scripts will have your profile name as the owner. That means, no sudo (HA!) 

These are the scripts in prototype form.

  1. endsystem

  2. opendvd

  3. playdvd

  4. systemrestart

  5. update_debian

Most of them are of basic “command and argument” format, “do this on/to this”. Simple? Perhaps. But something happened. I took it a step further. I am now using the if-then-else statements. Rather than just following orders, you follow orders based on logical conditions. Lets look at the “playdvd” script as an example.

 

Playdvd

 

#!/bin/bash

#This script will run vlc on DVD drive mounted in the /media folder as cdrom0

#If not, it will run vlc on dvd device /dev/sr0

if

[ -d /media/cdrom0 ]

then

vlc /media/cdrom0;

else

vlc /dev/sr0;

fi

#end

 

The if-then-else programming statements simply mean, if a condition is satisfied, execute a command on that condition, otherwise run the alternative if the condition is not.

 

“if

[ -d /media/cdrom0 ]

then

vlc /media/cdrom0;”

 

This statement means “if the directory '/media/cdrom0' exists, then run 'vlc' on that directory. The “-d” switch represents a directory as I have come to understand. In fact, if you were to run, “#ls -al” on the “/usr” directory, you would see that same “d” switch in the output attributes of a directory.

 

ls -al

total 132

drwxr-xr-x 10 root root 4096 Jun 23 10:09 .

drwxr-xr-x 22 root root 4096 Aug 31 22:51 ..

drwxr-xr-x 2 root root 65536 Nov 8 08:52 bin

drwxr-xr-x 2 root root 4096 Jun 23 10:22 games

drwxr-xr-x 18 root root 4096 Jun 23 10:24 include

drwxr-xr-x 163 root root 20480 Nov 8 08:52 lib

drwxr-xr-x 10 root root 4096 Jun 23 10:09 local

drwxr-xr-x 2 root root 12288 Oct 27 14:47 sbin

drwxr-xr-x 277 root root 12288 Nov 8 08:52 share

drwxr-xr-x 6 root root 4096 Oct 21 14:23 src

 

If you look at the line ending with “games”, you will notice that it begins with a “d”. This “d” label means “directory”. Going back to the [ -d /media/cdrom0 ] code line, what we are saying, if you find the directory “-d” of “/media/cdrom0”, then run “vlc /media/cdrom0”.

The “then” statement tells the script what to do after the first condition has been met.

“then

vlc /media/cdrom0”

The program looks for a directory named, “/media/cdrom0”. My dvd drive mounts itself in this directory whenever I insert a DVD or audio CD.

If for some reason, the directory “/media/cdrom0” does not exist, then the script must an. Alternative. “/dev/sr0” is the actual DVD/CD-ROM device. This line tells the script to run vlc on this directory if the first condition is not met.

“else

vlc /dev/sr0;”

fi

#end

You must also end a conditional script with an “fi” which means “end if”, otherwise the program won't know when to quite.

For every script created, it must be made executable, meaning it has to look like something the shell has to run not read. The command “chmod” does just that. The “chmod” command tells the shell what type of file permissions to give a user or group. There are three types, execute, read and write. Well, I wanted to give myself execute permissions on this script. The shell then allows me to run the script as a program.

#sudo chmod u+x playdvd = “u” means “the user, “x” means execute. The “+” means add the permission.

This command tells the shell to make the “playdvd” file an execution program. When the shell reads the commands “playdvd” it will execute all the lines in the file and perform the action.

Me and my mouse need consulting. I am spending way too much time on the terminal than on the point-and-click device. Can't help it. All I have to do is press a three-key combination, terminal opens, and I type my desired program. I even stopped physically opening up the dvd drive. I type a command to do that, and a command to close it.

Looking at it from another perspective. I am learning how to operate my system with or without the mouse.

 

Dooscape 1.2 Released – A Web Browser with a Simple and Neat Interface

Dooscape is a web browser written in Qt which features a simple and clean interface and is based on the QtWebKit engine. Dooscape has some neat features and takes a different approach compared to traditional web browsers.

 

Full article

 

15 Apps Which Ship in Mint 17.1 Cinnamon [Overview with Screenshots]

Two days ago I had a look at the release candidate of the upcoming Mint 17.1 Cinnamon, which is set to arrive in late November. Today I will take a quick look at the main applications that come bundled by default in the Mint 17.1 Rebecca installation disc, with a short overview and screenshots for each of them.

 

Full article

 

11 Linux Games Up to 86% Discount During This Steam Weeklong Deal

This Monday Steam has kicked off a new Weeklong Deal which will last until November 24, during which 11 titles for Linux are available at special promotional prices.

 

Full article

 
Page 4 of 139

Upcoming Linux Foundation Courses

  1. LFD312 Developing Applications For Linux
    16 Feb » 20 Feb - Atlanta - GA
    Details
  2. LFD331 Developing Linux Device Drivers
    16 Feb » 20 Feb - San Jose - CA
    Details
  3. LFS220 Linux System Administration
    16 Feb » 19 Feb - Virtual
    Details

View All Upcoming Courses


Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board