Category Archives: Linux-Mint

Yet another way to get the IP address of a host and print it. And other useful networking commands.

This is a good way to get the IP address of a host and print it to the terminal.

homer@deusexmachina ~ $ host yahoo.com | awk '/ has address / { print $4 }' | cut -d " " -f14-
98.138.253.109

This is a very useful one liner for getting an IP address.

Very useful awk tips: http://stackoverflow.com/questions/21177338/ipcalc-output-and-grep-want-to-return-only-the-binary-output.

The finger command shows information about users that are logged into a machine.

homer@deusexmachina ~/Documents $ finger -lmps
Login: homer                            Name: John Cartwright
Directory: /home/homer                  Shell: /bin/bash
On since Tue Apr 15 09:29 (EST) on tty8 from :0
    2 hours 2 minutes idle
On since Tue Apr 15 09:49 (EST) on pts/0 from :0.0
   1 hour 1 minute idle
On since Tue Apr 15 11:30 (EST) on pts/1 from d110-33-8-105.bla800.nsw.optusnet.com.au
   6 seconds idle
No mail.

The who am i command shows information about your user. I am logged into my machine over SSH so it shows the hostname of my current ISP.

homer@deusexmachina ~/Documents $ who am i
homer    pts/1        2014-04-15 11:30 (d110-33-8-105.bla800.nsw.optusnet.com.au)

Display the routing table with the ip route command.

homer@deusexmachina ~/Documents $ ip route
default via 192.168.1.1 dev eth0  proto static
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.2  metric 1
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

Another way to show the routing table. Use the arp -a command.

homer@deusexmachina ~/Documents $ arp -a
? (192.168.1.1) at 84:c9:b2:bd:c2:e7 [ether] on eth0

Yet another way to show the routing table on Linux.

homer@deusexmachina ~/Documents $ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     1      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0

Windows XP support has ended. This is time to update to a better operating system.

Windows XP support has ended.

Windows XP support has ended.

Support for Windows XP has ended, this means that there will be no further updates for Windows XP on the desktop. This is a good time to upgrade either to Windows 7, which is supported until 2020; or to use Linux Mint and enjoy a faster and more reliable desktop operating system. I am using Linux Mint 16, I have Windows 7 Ultimate running in a KVM Hypervisor Window with Firefox nightly, this is a good way to use Windows and Linux at the same time. This way, if the Windows installation clogs up I still have the ability to re-build the VM in short order and be up and running with Windows apps. But Linux has quite a few useful applications that make it a good desktop choice. I am downloading the ATI video drivers within the VM, I am intending to test if the accelerated video drivers will work in a KVM Hypervisor. That will be very interesting. Windows XP has had three service packs applied and it still is not as secure as Linux. But if you run as an unprivileged user and not with an Administrator account, it will be more secure than the default. Although you really should install something more recent if you want worthwhile security. You could even use Windows Server 2012 R2 build 9600 as a desktop operating system and that would be very secure indeed. That build has the new Modern UI shortcut button. Windows 7 is very secure, I like to run as a normal user and UAC takes care of authenticating me when I need the Administrator password.

But Microsoft might get over their tablet and phone obsession and create an operating system for the PC again, with a Windows 7 styled interface. That would be very good for PC users. Tablets are cool, but you cannot program and build a game on one. Developing a map for Goat Simulator is easy on PC when you are using Unrealed 3.0, but not practical on a tablet. That is why we still have PCs to game on and run Hypervisors. I managed to get Spice working with my KVM Hypervisor, I can run Windows 7 at 1600*900 in a window and the performance is very good indeed. After installing 2.4 gigabytes of updates onto my Windows 7 VM it is now working very well. I just installed Firefox Nightly to browse with. The new Chrome layout is quite strange, but it is still usable. I doubt that the new Firefox will work on Windows XP. That operating system is fast and usable, but not very trustworthy these days. Better to upgrade to Mint and enjoy a faster and more reliable desktop with better hardware support. Read more about your options for upgrading here: http://windows.microsoft.com/en-au/windows/end-support-help?ocid=GA8-1_O_WOL_DIS_NULL_XPEOS_Null_02. There are many options out there.

How to encrypt a file with gpg on Linux and then decrypt it later.

The gpg utility for Linux is used to create public and private key pairs to encrypt files for secure transmission over the Internet.

To initialize this utility; run this command.

homer@deusexmachina ~ $ gpg --gen-key
gpg (GnuPG) 1.4.14; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: directory `/home/homer/.gnupg' created
gpg: new configuration file `/home/homer/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/homer/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/homer/.gnupg/secring.gpg' created
gpg: keyring `/home/homer/.gnupg/pubring.gpg' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 4y
Key expires at Mon 02 Apr 2018 19:14:45 EST
Is this correct? (y/N) y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and E-mail Address in this form:
    "Heinrich Heine (Der Dichter) [email protected]>"

Real name: John Cartwright
E-mail address: john@cartwright302@gmail.com
Not a valid e-mail address
E-mail address: [email protected]
Comment: 
You selected this USER-ID:
    "John Cartwright <[email protected]>"

Change (N)ame, (C)omment, (E)-mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, use the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy!  (Need 235 more bytes)
...+++++
..............+++++
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, use the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
.......+++++
..........+++++
gpg: /home/homer/.gnupg/trustdb.gpg: trustdb created
gpg: key DBEF7849 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2018-04-02
pub   4096R/DBEF7849 2014-04-03 [expires: 2018-04-02]
      Key fingerprint = 6668 2347 5ADF 7577 F09C  B7BF 8B1F 1877 DBEF 7849
uid                  John Cartwright <[email protected]>
sub   4096R/7ED8DC5A 2014-04-03 [expires: 2018-04-02]

Then you may encrypt a file using your keys.

homer@deusexmachina ~/Documents $ gpg --encrypt-file doom02.png 
You did not specify a user ID. (you may use "-r")

Current recipients:

Enter the user ID.  End with an empty line: John Cartwright

Current recipients:
4096R/7ED8DC5A 2014-04-03 "John Cartwright <[email protected]>"

Now we have two files, the original and an encrypted file. This is using 4096 bit RSA encryption, so this would be extremely hard to break.

homer@deusexmachina ~/Documents $ ls -hula doom02*
-rw-r--r-- 1 homer homer 3.0M Apr  3 20:37 doom02.png
-rw-r--r-- 1 homer homer 3.0M Apr  3 20:37 doom02.png.gpg

Now use this command to decrypt the file.

homer@deusexmachina ~/Documents $ gpg --decrypt-file doom02.png.gpg 

You need a passphrase to unlock the secret key for
user: "John Cartwright <[email protected]>"
4096-bit RSA key, ID 7ED8DC5A, created 2014-04-03 (main key ID DBEF7849)

gpg: encrypted with 4096-bit RSA key, ID 7ED8DC5A, created 2014-04-03
      "John Cartwright <[email protected]>"
File `doom02.png' exists. Overwrite? (y/N) y

That is how simple this is. You need a lot of computer activity to generate some entropy, I just played Community Chest 4 MAP32 “Mutare”, that did the job.

Using the tar command on Linux to uncompress tar.gz files with the command line.

The tar command on Linux is very useful for uncompressing files on your Linux machine. The most used command on a Linux system is uncompressing files that you have downloaded from an Internet source.

The tar -xvf command will uncompress a tar.gz file.

~$ tar -xvf myfile.tar.gz

To uncompress a tar.bz2 file use this command.

~$ tar -jxvf myfile.tar.bz2

Here is an example.

mint@mint ~/Downloads $ tar -jxvf libdvdcss-1.2.13.tar.bz2 
libdvdcss-1.2.13/
libdvdcss-1.2.13/src/
libdvdcss-1.2.13/src/dvdcss/
libdvdcss-1.2.13/src/dvdcss/dvdcss.h
libdvdcss-1.2.13/src/libdvdcss.pc.in
libdvdcss-1.2.13/src/device.c
libdvdcss-1.2.13/src/error.c
libdvdcss-1.2.13/src/ioctl.h
libdvdcss-1.2.13/src/device.h
libdvdcss-1.2.13/src/css.h
libdvdcss-1.2.13/src/common.h
libdvdcss-1.2.13/src/csstables.h
libdvdcss-1.2.13/src/ioctl.c
libdvdcss-1.2.13/src/libdvdcss.c
libdvdcss-1.2.13/src/libdvdcss.h
libdvdcss-1.2.13/src/css.c
libdvdcss-1.2.13/README
libdvdcss-1.2.13/aclocal.m4
libdvdcss-1.2.13/configure
libdvdcss-1.2.13/config.h.in
libdvdcss-1.2.13/depcomp
libdvdcss-1.2.13/test/
libdvdcss-1.2.13/test/dvd_region.c
libdvdcss-1.2.13/test/csstest.c
libdvdcss-1.2.13/config.sub
libdvdcss-1.2.13/config.guess
libdvdcss-1.2.13/AUTHORS
libdvdcss-1.2.13/libdvdcss.spec
libdvdcss-1.2.13/NEWS
libdvdcss-1.2.13/Makefile.am
libdvdcss-1.2.13/doc/
libdvdcss-1.2.13/doc/doxygen.cfg.in
libdvdcss-1.2.13/doc/footer.html
libdvdcss-1.2.13/doc/header.html
libdvdcss-1.2.13/COPYING
libdvdcss-1.2.13/INSTALL
libdvdcss-1.2.13/configure.ac
libdvdcss-1.2.13/ChangeLog
libdvdcss-1.2.13/missing
libdvdcss-1.2.13/m4/
libdvdcss-1.2.13/m4/ltsugar.m4
libdvdcss-1.2.13/m4/lt~obsolete.m4
libdvdcss-1.2.13/m4/libtool.m4
libdvdcss-1.2.13/m4/attributes.m4
libdvdcss-1.2.13/m4/ltversion.m4
libdvdcss-1.2.13/m4/ltoptions.m4
libdvdcss-1.2.13/install-sh
libdvdcss-1.2.13/ltmain.sh
libdvdcss-1.2.13/Makefile.in
libdvdcss-1.2.13/msvc/
libdvdcss-1.2.13/msvc/libdvdcss.dsp
libdvdcss-1.2.13/msvc/workspace.dsw
libdvdcss-1.2.13/msvc/csstest.dsp
libdvdcss-1.2.13/msvc/config.h

To create a tar.gz archive of a directory and its contents, use this command: tar -zcvf archive.tar.gz dir/

mint@mint ~/Downloads $ tar -zcvf mine.tar.gz mine/
mine/
mine/mylist.txt
mine/my.txt

To uncompress to a specific directory, use the uncompress command with the -C parameter. Here I am uncompressing the archive to /tmp.

mint@mint ~/Downloads $ tar -xvf mine.tar.gz -C /tmp/
mine/
mine/mylist.txt
mine/my.txt

To list the contents of a tar.gz file; use this command.

mint@mint ~/Downloads $ tar -tvf mine.tar.gz
drwxr-xr-x mint/mint         0 2014-02-18 01:24 mine/
-rw-r--r-- mint/mint      8552 2014-02-18 01:24 mine/mylist.txt
-rw-r--r-- mint/mint         0 2014-02-18 01:24 mine/my.txt

For a tar.bz2 file; you would use this command.

mint@mint ~/Downloads $ tar -jtvf mine.tar.bz2
drwxr-xr-x mint/mint         0 2014-02-18 01:24 mine/
-rw-r--r-- mint/mint      8552 2014-02-18 01:24 mine/mylist.txt
-rw-r--r-- mint/mint         0 2014-02-18 01:24 mine/my.txt

An alternative to CPU-Z for your Ubuntu or Linux Mint desktop. This utility is awesome.

A very good CPU-Z alternative for a Linux machine.

Screenshot I-Nex CPU info.

Screenshot I-Nex CPU info.

This awesome utility for Linux is an alternative to the CPU-Z program for Windows machines. This allows the user to gather information about their computer with a nice tabbed interface. There is a tab to gather system/OS information as well as CPU statistics. This is very useful for testing out a new computer with Linux installed to see what hardware you have installed.

The tabs are:

  • CPU;
  • GPU;
  • Motherboard;
  • Audio;
  • Drives;
  • System;
  • Kernel;
  • Memory;
  • Network;
  • USB Input;

So, this is quite a comprehensive system information application. This allows the computer user to gather a lot of information about your Linux computer.

We need to add Gambas3 PPA to install I-Nex in Ubuntu and Linux Mint. Use the commands listed below to add both PPAs and install I-Nex in Ubuntu and Linux Mint.

homer@deusexmachina ~ $ sudo add-apt-repository ppa:i-nex-development-team/stable
homer@deusexmachina ~ $ sudo add-apt-repository ppa:nemh/gambas3
homer@deusexmachina ~ $ sudo apt-get update
homer@deusexmachina ~ $ sudo apt-get install i-nex

Then type i-nex in a terminal or look for it under the System Tools menu.

Screenshot I-Nex System information.

Screenshot I-Nex System information.

How to find out which rpm package provides a file that you need.

How to find out what rpm package provides a file that you need.

The yum provides command is useful for finding out this information. You may use wildcards to search for a file, this can make finding it easier.

[homer@localhost jackhammer]$ yum provides */redhat**.jpg
Loaded plugins: langpacks
nagios-3.5.1-4.fc20.x86_64 : Nagios monitors hosts and services and yells if somethings breaks
Repo        : fedora
Matched from:
Filename    : /usr/share/nagios/html/images/logos/redhat.jpg



stardict-3.0.4-7.fc20.x86_64 : A powerful dictionary platform written in GTK+2
Repo        : fedora
Matched from:
Filename    : /usr/share/stardict/dic/stardict-dict/res/redhat_logo.jpg

Here is another example.

[homer@localhost ~]$ yum provides */ld-linux.so.2
Loaded plugins: langpacks
glibc-2.18-11.fc20.i686 : The GNU libc libraries
Repo        : fedora
Matched from:
Filename    : /lib/ld-linux.so.2



glibc-2.18-12.fc20.i686 : The GNU libc libraries
Repo        : updates
Matched from:
Filename    : /lib/ld-linux.so.2

This is another way to search the rpm database for certain packages.

[homer@localhost ~]$ yum search redhat
Loaded plugins: langpacks
======================================================= N/S matched: redhat =======================================================
publican-redhat.noarch : Common documentation files for RedHat
perl-CPANPLUS-Dist-Fedora.noarch : CPANPLUS backend to build Fedora/RedHat RPMs
pybugz.noarch : Command line interface for Bugzilla written in Python
python-rhsm.x86_64 : A Python library to communicate with a Red Hat Unified Entitlement Platform
redhat-lsb.i686 : Implementation of Linux Standard Base specification
redhat-lsb.x86_64 : Implementation of Linux Standard Base specification
redhat-lsb-core.i686 : LSB Core module support
redhat-lsb-core.x86_64 : LSB Core module support
redhat-lsb-cxx.i686 : LSB CXX module support
redhat-lsb-cxx.x86_64 : LSB CXX module support
redhat-lsb-desktop.i686 : LSB Desktop module support
redhat-lsb-desktop.x86_64 : LSB Desktop module support
redhat-lsb-languages.i686 : LSB Languages module support
redhat-lsb-languages.x86_64 : LSB Languages module support
redhat-lsb-printing.i686 : LSB Printing module support
redhat-lsb-printing.x86_64 : LSB Printing module support
redhat-lsb-submod-multimedia.i686 : LSB Multimedia submodule support
redhat-lsb-submod-multimedia.x86_64 : LSB Multimedia submodule support
redhat-lsb-submod-security.i686 : LSB Security submodule support
redhat-lsb-submod-security.x86_64 : LSB Security submodule support
redhat-lsb-supplemental.x86_64 : LSB supplemental dependencies required by LSB certification tests
redhat-lsb-trialuse.i686 : LSB Trialuse module support
redhat-lsb-trialuse.x86_64 : LSB Trialuse module support
redhat-menus.noarch : Configuration and data files for the desktop menus
redhat-rpm-config.noarch : Red Hat specific rpm configuration files
rhn-client-tools.noarch : Support programs and libraries for Red Hat Satellite or Spacewalk
rhnsd.x86_64 : Spacewalk query daemon
yum-rhn-plugin.noarch : Spacewalk support for yum

  Name and summary matches only, use "search all" for everything.

There is also the yum search all command that allows full searching of all rpm packages.

[homer@localhost ~]$ yum search all ssh-client
Loaded plugins: langpacks
==================================================== Matched: ssh-client ====================================================
gsi-openssh.x86_64 : An implementation of the SSH protocol with GSI authentication
gsi-openssh-clients.x86_64 : SSH client applications with GSI authentication
openssh.x86_64 : An open source implementation of SSH protocol versions 1 and 2
openssh-clients.x86_64 : An open source SSH client applications

These commands make finding files on your Fedora Linux machine even easier than before.

Using iptables on a Linux system to secure your computer against Internet threats. This is important.

South Park computer guy.

South Park computer guy.

securing your Linux computer with iptables is a great way to make sure that you are safer from Internet attacks. The iptables(8) system is the built in firewall for a Linux system. This makes it very easy to secure your computer.

Before you change any settings, backup your iptables configuration.

iptables-save > backup.conf

if the iptables configuration goes awry, you may restore the iptables configuration this way.

iptables-restore backup.conf

Or this command, this will restore the default iptables configuration.

iptables -F

Blocking incoming ICMP ping requests is accomplished with this iptables command.

iptables -A INPUT --proto icmp --icmp-type 0 -j DROP

If not, go straight to these:

iptables -A INPUT --proto icmp -j ACCEPT
iptables -A INPUT --proto udp --sport 53 -j ACCEPT
iptables -A INPUT --proto udp --dport 67 -j ACCEPT
iptables -A INPUT --proto udp --dport 68 -j ACCEPT
iptables -A INPUT --proto tcp --dport 22 -s 192.168.1.2/24 -j ACCEPT
iptables -A INPUT --proto tcp --dport 22 -j DROP

Here is some more useful iptables stuff.

# Flush all existent rules
iptables -F
iptables -X

# Allow unlimited traffic on loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Allow established,related into eth0
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow DNS in
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

# Some router stuff that might be necessary for DHCP
# iptables -A INPUT --proto icmp -j ACCEPT
# iptables -A INPUT --proto udp --sport 53 -j ACCEPT
# iptables -A INPUT --proto udp --dport 67 -j ACCEPT
# iptables -A INPUT --proto udp --dport 68 -j ACCEPT

# Accept everything out
iptables -P OUTPUT ACCEPT

# Drop everything else
iptables -P FORWARD DROP
iptables -P INPUT DROP

Read more about iptables before using it.

It’s a set of commands that, when issued, change the rules on the iptables firewall. You can either issue them one by one via a terminal or same it as a file, run chmod +x my_file so it can be executed, and then execute it so you don’t have to run each command one by one.

Here is how to create a script to do all of this in one go.

echo "iptables -A INPUT --proto icmp -j ACCEPT" < iptset
echo "iptables -A INPUT --proto udp --sport 53 -j ACCEPT" << iptset
echo "iptables -A INPUT --proto udp --dport 67 -j ACCEPT" << iptset
echo "iptables -A INPUT --proto udp --dport 68 -j ACCEPT" << iptset
echo "iptables -A INPUT --proto tcp --dport 22 -s 192.168.25.0/24 -j ACCEPT" << iptset
echo "iptables -A INPUT --proto tcp --dport 22 -j DROP" << iptset
chmod +x iptset
mv iptset /usr/bin/iptset
iptset

This will help keep your computer secure.

Here I am putting these commands into my Linux Mint 16 laptop.

deusexmachina ~ # iptables -A INPUT --proto icmp -j ACCEPT
deusexmachina ~ # iptables -A INPUT --proto udp --sport 53 -j ACCEPT
deusexmachina ~ # iptables -A INPUT --proto udp --dport 67 -j ACCEPT
deusexmachina ~ # iptables -A INPUT --proto udp --dport 68 -j ACCEPT
deusexmachina ~ # iptables -A INPUT --proto tcp --dport 22 -s 192.168.1.2/24 -j ACCEPT
deusexmachina ~ # iptables -A INPUT --proto tcp --dport 22 -j DROP

And checking the entries have been properly inserted, using the iptables-save command.

deusexmachina ~ # iptables-save
# Generated by iptables-save v1.4.18 on Fri Jan 31 22:03:08 2014
*filter
:INPUT ACCEPT [2:104]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:2046]
-A INPUT -p icmp -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -p udp -m udp --dport 68 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j DROP
COMMIT
# Completed on Fri Jan 31 22:03:08 2014

How to disable the caps lock key permanently on Linux Mint and Ubuntu.

The caps lock key on Linux is very annoying when hit accidentally. Especially when you are typing a password. This simple command will disable the key permanently.

homer@deusexmachina ~ $ setxkbmap -option ctrl:nocaps

If you put this in Startup Applications which may be found under System-Preferences-Startup Applications, the caps lock key will be disabled when your Linux Mint MATE desktop loads up. This is a very good trick.

Edit Startup Programs.

Edit Startup Programs.

This way you will never be bothered by the caps lock key ever again.

A very good tiling window manager for Linux that is easy to use and very fast.

Dwm window manager. This is very good for a Linux laptop user.

Dwm window manager. This is very good for a Linux laptop user.

The dwm window manager for Linux is a very fast and very easy to use WM that offers a tiling WM and a very fast way to interact with your Linux machine. Type sudo apt-get install dwm dmenu to install this window manager. As shown in the screenshot to the right, this is a very slim and good looking WM. Just like Larswm and Awesome, this is a fast alternative to the MATE and KDE desktop environments. With the WM running, type Mod1-p to open a menu in the top bar. Then type the name of the program you wish to open, e.g xmms and hit enter. There are 9 desktops by default and you may have Firefox open on one desktop and xmms open on another. This makes your desktop more productive.

https://wiki.archlinux.org/index.php/Dwm. There is a status program here: http://woozle.org/~neale/g.cgi/status which will print the time to the status bar. Comment out the #include “dump.h” line before compiling though. But this does work. The ability to customize this window manager lifts it above the others. I am using it on Fedora 20 and it works perfectly. Give this a go and see what you think of it.

The best GTK themes and wallpapers for your Ubuntu or Linux Mint desktop.

Some very good GTK themes and wallpapers for your Linux desktop.

GTK Themes.

Zukitwo: http://gnome-look.org/content/show.php/Zukitwo?content=140562. A very good GTK theme for Gnome Shell and MATE.

DeLorean-Dark — Gnome 3.4 & 3.6: http://gnome-look.org/content/show.php/DeLorean-Dark+–+Gnome+3.4+%26+3.6?content=153866.

DarkMint: http://gnome-look.org/content/show.php/DarkMint?content=150904.

Pirate Ubuntu.

Piratunbu theme 6.0: http://gnome-look.org/content/show.php/Piratunbu+full+theme+for+Ubuntu+13.10?content=147063. A pirate themed look for Ubuntu.

reNIX (for Unity and GS): http://gnome-look.org/content/show.php/reNIX+%28for+Unity+and+GS%29?content=153312. A squared theme for Unity and Gnome Shell.

Win2-7 Remix: http://gnome-look.org/content/show.php/Win2-7+Remix?content=153233. A Windows 7 styled theme for Unity and Gnome.

Windows 7 styled Caja window.

Windows 7 styled Caja window.

Elements: http://gnome-look.org/content/show.php/Elements?content=145920.

Elements GTK theme.

Wallpapers.

Tri screen space wallpaper with mountains and lovely nebula: http://media.moddb.com/images/groups/1/8/7872/wallpaper-1059063.jpg.

Tri screen space wallpaper.

Tri screen milky way wallpaper: http://awesomewallpaper.files.wordpress.com/2012/05/the_milky_way_3375x6000_16x9_by_thyrring-d4vc2kl.png.

Awesome nebula wallpaper with lovely green color: http://www.redpepperwallpaper.com/wp_highres/space/WP4UNLED.jpg.

Awesome green nebula.

Super high-resolution wallpaper of a castle in Scotland: http://st.gdefon.com/wallpapers_original/wallpapers/543662_caerlaverock_castle_caerlaverock_dumfries_scotland_7359x4911_%28www.GdeFon.ru%29.jpg.

Scottish castle.

Quad screen wallpaper of Ayers Rock: http://fc05.deviantart.net/fs47/f/2012/040/c/5/simply_uluru_by_kouiskas-d27e3t7.jpg.

A Hong Kong wallpaper for 4 or more screens: http://st.gdefon.com/wallpapers_original/wallpapers/246505_gonkong_-panorama_-neboskryoby_-okean_9683x1600_%28www.GdeFon.ru%29.jpg.

Hong Kong Panorama.

Tri screen everest panorama: http://www.mountain7.com/wp-content/uploads/2009/08/everestpanorama.jpg.

Everest panorama.

Skyrim Dawnstar wallpaper: http://fc01.deviantart.net/fs71/f/2012/325/f/b/skyrim___dawnstar_wallpaper_by_xgv159-d5lrnc3.jpg.

Skyrim Dawnstar.

Icon themes.

Plateau: http://sbstnblnd.deviantart.com/art/Plateau-0-2-391110900. A flat theme for MATE and Unity/Gnome Shell.

Just another Buuf Remix: http://gnome-look.org/content/show.php/Just+another+Buuf+Remix?content=135329.

MacUltimateLeopard: http://www.mediafire.com/download/lvmwl3iwr2y/MacUltimate_Leopard_2.4.tar.gz. A Mac OSX theme for Linux. Perfect for MATE.

How to search and replace text in a file with sed. Not using cat.

The sed command is very useful for searching and replacing text in a file. This is how to search for and replace a text string in a file.

Homer@bejiitas ~
$ sed -i 's/<main>/<mein>/gi;' my.c

This is how to search and replace text in a file and leave a backup copy with a tilde character appended to the file-name.

sed --in-place=~ 's/Australia/Austraya/gi;' au-WaggaWagga

This is the way to filter a text file with sed and output to STDOUT. Not using GNU cat. Just have the filename as the second argument to the cat command.

homer@deusexmachina ~/Documents $ sed 's/pacman/apt/gi;' blog.txt

And you may also pipe the output of a command into sed. This is useful for building a long command for the perfect shell function.

homer@deusexmachina ~/Documents $ echo "Hello World" | sed 's/World/Homer/gi;'
Hello Homer

You can also add line numbers to a text file. Here I am adding line numbers to a file that contains a list of IP addresses. I also added double hyphens to separate the line numbers from the IP addresses.

homer@deusexmachina ~/Documents $ awk -F, '{if($2=="") print NR " --", $0}' iplist.txt
1 -- 209.185.108
2 -- 209.185.253
3 -- 209.85.238
4 -- 209.85.238.11
5 -- 209.85.238.4
6 -- 216.239.33.96
7 -- 216.239.33.97
8 -- 216.239.33.98
9 -- 216.239.33.99
10 -- 216.239.37.98
11 -- 216.239.37.99
12 -- 216.239.39.98
13 -- 216.239.39.99
14 -- 216.239.41.96
15 -- 216.239.41.97
16 -- 216.239.41.98
17 -- 216.239.41.99
18 -- 216.239.45.4
19 -- 216.239.46
20 -- 216.239.51.96
21 -- 216.239.51.97
22 -- 216.239.51.98
23 -- 216.239.51.99
24 -- 216.239.53.98
25 -- 216.239.53.99
26 -- 216.239.57.96
27 -- 216.239.57.97
28 -- 216.239.57.98
29 -- 216.239.57.99
30 -- 216.239.59.98
31 -- 216.239.59.s 99
32 --

I found that solution here: http://www.unix.com/shell-programming-scripting/30729-printing-line-number-using-awk.html.

On another note; there is an interesting answer here: http://stacBut eh koverflow.com/questions/4042601/unixhow-to-convert-ip-address-to-binary-code. this explains how to convert an IP address to binary using the command line.

But the ipcalc command is best for this.

homer@deusexmachina ~ $ ipcalc 192.168.1.1
Address:   192.168.1.1          11000000.10101000.00000001. 00000001
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.1.0/24       11000000.10101000.00000001. 00000000
HostMin:   192.168.1.1          11000000.10101000.00000001. 00000001
HostMax:   192.168.1.254        11000000.10101000.00000001. 11111110
Broadcast: 192.168.1.255        11000000.10101000.00000001. 11111111
Hosts/Net: 254                   Class C, Private Internet

Alien Arena. A quality multiplayer game for Linux. Named after Quake 3 Arena.

Alien Arena. Good graphical quality.

Alien Arena. Good graphical quality.

I have just tried out the Alien Arena multiplayer game on Ubuntu. Running it with the default settings with my 1 Gigabyte ATI Radeon card and 6 Gigabytes of RAM, this was one enjoyable game. The focus of this shooter is multiplayer online action. Rather like another quality Linux game Corebreach. You can create your own servers and play against people online or join a game that is already running. The online games work very well, I joined an Instagib deathmatch game and it ran very well. I had 254 ping, but I was still able to score a few frags. The netcode is therefore top quality.

So type sudo apt-get install alien-arena and install this quality game. You will love it.

The music files are in ogg format. They may be found in this folder if you want to listen to them with Audacious.

/usr/share/games/alien-arena/data1/sound/music/

Another Alien Arena screenshot.

Another Alien Arena screenshot.

Linux Mint 16 “Petra” Cinnamon Desktop

1 – What is Linux Mint:
Linux Mint is an operating system designed to work on most modern systems, including two typical systems x86 and x64 . Linux Mint can be thought of as similar to Microsoft Windows, Apple Mac OS and another copy of Linux. Linux Mint is also designed to work with other operating systems (including operating systems listed above) and can automatically set environment “dual boot” or “multi-boot” (where the user to select the operating system you want to use) when installing it. It is a great operating system for individuals and for companies.
Linux Mint is a Linux distribution based on Ubuntu. Linux Mint has more features that Ubuntu does not have as many pre-installed software, including the software is not open source like Java , Adobe Flash , audio and video codecs, Microsoft’s basic fonts are installed… , and some software created by Linux Mint, as mintInstall , mintUpdate, mintNanny, .. Also, Linux Mint has many other preinstalled apps like LibreOffice, Mozilla Firefox, Mozilla Thunderbird, GIMP, Transmission, XChat …etc. This desktop is better to watch online TV services like¬†sky phone number.
2 – Software developed by Linux Mint
- Cinnamon: a work environment based on GNOME Shell.
- MintInstall: program management software.
- MintMenu: a menu with functional improvements, remove and installed software, software search …
- MintNanny: program block domain name on the system, which in Linux Mint from version 6 onwards.
-mintUpload: upload manager.
- MintBackup: backup tools, list files and installed software.
- MintUpdate: system update tool, functional safety assessment of the update package.
- MintWelcome: welcome screen of Linux Mint, including links to the home page of Linux Mint, Linux Mint forums, where download manuals, some tips …
- MintDesktop, installation tools in the desktop version of GNOME 2 and MATE.
- mintConstructor, used to modify the Linux Mint install disk, for developers, not pre-set but can be downloaded from the software channel.
- Mint Gnome Shell Extension (MGSE) is a number of extensions for GNOME Shell to bring a number of features in GNOME 2, but not in GNOME 3. MGSE has stopped development, instead Cinnamon.
3 – Linux Mint 16
- Dubbed is “Petra” , Linux Mint 16 will end after six months of hard work, providing users with the latest open source technology and best of Linux, such as Cinnamon 2.0 environment depending Desktop and powerful processing, as well as lightweight compact size, “Old-school MATE 1.8 desktop environment. Linux Mint 16 is the most ambitious release since the project inception.
- The new components in Linux Mint 16 : MDM , Driver Manager, Software Sources, Mate 1.6 , Software Manager , System Improvement, Artwork Improvements , Upstream Components .
- Being based on Ubuntu 13:10 and is supported by the Linux kernel 3:11, Linux Mint 16 comes with 2.0 Cinnamon that provides lots of new features, including screen savers and a unified Control Centre. MATE 1.6 is significantly improved, the login screen can be themed in HTML5 are also two new tools “Software Sources” and “Driver Manager”, this is the first feature to appear on Linux. MDM (Mint Display Manager) 1.4, USB Stick Formatter 1.4 tools new, better support EFI, faster boot time, better support for Steam, improved management software, support for iOS devices immediately, improving management updates, and updated over nuclear safety.
- The artwork has also been improved in the development version of Linux Mint 16, carries a theme Mint-X updated with better support for GTK3, window borders antialiasing polished, well as new icons and a collection of great wallpapers from artists and photographers different. Cinnamon version theme includes three very impressive: Linux Mint, Mint-X and Cinnamon.