Category Archives: GNU/Linux

Installing YamiPod on Linux: a multi-platform, very versatile iPod Manager

YamiPod is a freeware application to efficiently manage your iPod on Linux. It can be run directly from your iPod and needs no installation. It also has extra features such as rss news and podcast support, remove duplicates, easy notes editor (with multipage support), songs synchronization, playlists export, a built in music player and much more. It has been translated in 12 languages.

On Linux, the installation is really simple:

  • have at least one song on iPod
  • copy the libfmodex audio library to /usr/lib (you need root privileges). You’ll find this file in the package you’ve downloaded
  • mount your iPod somewhere inside /mnt or /media with read/write access
  • make sure you have the df command installed, which is usually part of any standard linux distribution.

To run YamiPod just double-click on YamiPod’s binary.

Using YamiPod is also so simple when you want to Copy  Music to iPod: Drag&drop files into the song listbox. You can even drag and drop folders, YamiPod will add all valid music files found in sub folders.

In the window that will appear you’ll be able to assign song information (title,album name, artist…) for each single file or setting them for every file ticking the All checkboxes.

In Playlist tab you can select:

  • Destination: select a playlist where to add all dragged songs.
  • Lyric filename: how lyric should be named.
  • Create playlist from folder: this will add all songs in a folder to a playlist named as the folder. For example if you dragged a folder called Music with 2 subfolders: 70’s and 80’s containing various files. Files in 70’s will be added to a newly created folder called 70’s. Files in the other folder will be added to a playlist called 80’s.

In Advanced tab you can select:

  • Auto capital first letter: will titlecase all song tags.
  • If duplicated: what to do if song exists on iPod.
  • Get song info by path and filename: if your song tags are missing but you named and placed your song following a particular order, you can tell YamiPod to get song tags out of filename a path.

Tips:
Holding SHIFT while dragging will add songs to currently selected playlist. If you’ve selected multiple songs to add you can quickly edit next (previous) song information by pressing ALT+down (up). AddThis mp3 link

Kernel Development Using the Eclipse IDE

Eclipse IDE is an open source platform useful to build an extensible development and develop application frameworks to build, deploy and manage through the complete SDLC of the software. Features wise Eclipse IDE is much more advanced than the conventional Java development Environment. As a first step you have to download Eclipse CDT from:

http://archive.eclipse.org/technology/epp/downloads/release/ganymede/SR2/eclipse-cpp-ganymede-SR2-linux-gtk.tar.gz

Use the following command to extract the tar:

$ tar xzvf eclipse-cpp-ganymede-SR2-linux-gtk,tar.gz

As the next step you have to change your directory in terminal window into the extracted folder and then start Eclipse as given below :

# cd eclipse

$ ./eclipse

Let us consider building a “C“ application using Eclipse IDE. Use the following command sequence to accomplish the first step :

Select File – New – C Project.

Assign the project a name and identify the location (it is advisable to retain the location field as the default value. Most important mention “Executable” under the Project type. Click “Next” followed by “Finish” to complete this step. Specify the Yes for “C/C++” perspective or not. Locate the Project explorer Select build project in Project Explorer with options like Console, Tasks and Problems. Next you have to compile this project using Eclipse IDE.

Let us now get down to the task at hand – Kernel compilation. Download a kernel tar file from the website – www.kernel.org.

The commands look like this :

$mv linux-2.6.34.tar.bz2 /usr /src.

Then the file has to be extracted into the respective folder through the following command :

$ tar -jxvf linux-2.6.34.tar.bz2

$cd linux-2.6.34

Configuration can be set as follows :

$ make menuconfig

Further steps in the process to compile a kernel using Eclipse IDE are fairly simple. Take care to disable the “Automatic building and indexing” to save time. This is accomplished as follows :

Window – Preference – General – C/C++ – Indexer. You have to select “No Indexer” Next give the following command – File – New – C Project. After assigning a name to the project undo checking of “Use default location” and browse to your kernel source code directory.

Project type – Makefile project – Empty Project. To cross-compile the kernel, use existing tool from “Toolchain”. Click on Finish to complete this beginning step. Give the following commands to complete the task :

Make all

CHK include/linux/version.h

CHK include/generated/utsrelease.h

CHK scripts/checksyscalls.sh

CHK include/generated/compile.h

On waiting for a few minutes the compilation is completed. To check that the kernel image file is created successfully type the following commands :

$ ls –l /usr/src/linux-2.6.34/arch/x86/boot/bzimage

–rw-r—r—1 manoj sc 3589920 2010-11-30 12:51 /usr/src/

Linux-2.6.34/arch/x86/boot/bzimage

Option readers and internet users will certainly admit that developing kernel using Eclipse ID is one of the simplest things anyone can do. However, to realize the true potential of the eclipse, You can gradually scale up the nature of projects to more complex projects to realize the full potential of eclipse IDE. A step-by-step approach would be wise in this regard. AddThis mp3 link

System Recovery Tools: a possible cross-platform approach through open source and proprietary solutions

The following system recovery tools will be useful to you if you are facing problem of data loss or if your system is simply crashing. It is advisable to burn copies of these tools much before any disaster strikes.

Open Source and Free approach:

G4L aka Ghost for Linux is one of the system recovery tools that is mainly a cloning and hard disk and partition imaging tool. This tool is similar to “Norton Ghost”. The images created are compressed optionally and transferred to a FTP server instead of opting for cloning locally. Ideally, of the several tools described above it is advisable to use the most suitable tool for your needs. The tool that will be most useful during a crisis like a crash or server failure will be a better tool.

The Ultimate Boot CD is one of the system recovery tools which will be very helpful when you want to run CDRom-based diagnostic tools thereby consolidating as many diagnostic tools into one bootable CD as possible. Since you can now boot from USB memory devices a script you can run “Ultimate Boot CD” from USB memory stick and a script on the script on the CD will enable you to boot newer systems from your USB sticks. This is many steps ahead than many of the other recovery tools. Moreover it gives you the flexibility of booting your system with a USB memory stick.

Knoppix is one of the system recovery tools which is essentially a bootable CD with GNU/Linux software. It ensures automatic detection of hardware and supports a wide range of devices like sound cards, most of the graphic cards, USB and SCSI devices and other peripherals. It can be used as an educational CD, a Linux demo or for system recovery purposes. Alternatively it can be used as a commercial platform for software demos. There is no need to install anything on the hard-disk as the CD is capable of storing 2GB of software installed in it. Thus this tool is a truly multi-purpose recovery tool.

Proprietary solutions:

O&O Disk recovery: This software tool scans every portion of your hard-disk, digital camera or memory card for lost files. It is so effective and reliable that it is possible to reconstruct data even when files systems have been destroyed or formatted. More than 350 types of files like music formats, word documents, movie, graphics, Excel workbooks, photo and access databases can be recognized, reconstructed and restored.

SuperDuper is one of the system recovery tools makes recovery effortless as it creates a completely bootable backup effortlessly. The strengths of this software are that it is user-friendly, easy to use with a built-in scheduler that it makes backup automatically. Moreover it performs well independent of the processor that is both on Power PC Macs as well as Intel PCs. It is particularly useful when your software application with the latest update is not working or when your hard drive begins to make noise. It is also very handy when you want to restore a stable copy of your system though you do not want t lose your existing system files or cases like this. AddThis mp3 link

Create ‘alias’ (shortcuts to commands) using Linux Sophisticated Commands

Long sophisticated instructions are usually not solely tough to recollect but in addition  take a lot of time to be typed. When it’s a must to use them on day by day foundation, you turn into annoyed when typing them repeatedly and again… So, ‘alias’ are extra appropriate for lengthy and complex commands.

Let’s think about an example.

To find the top 10 largest files in your system, you can set the next ‘alias’:

alias top10files=”find . -type f -exec ls -sh {} \; | sort -n -r | head -10”

You can even combine different instructions with ‘alias’.  As an illustration, if you happen to often use ‘tail’ and direct its output to file to later view that file, you may set a very simple ‘alias’ to do this cumbersome operation in 1 word:

alias Tail=”tail /var/log/messages > hello.txt;cat hello.txt”

Now just enter ‘Tail’ and voila! All is done at once.

You need to use any file with tail and direct its output and you’ll even use ‘nano’ or ‘vi’ to view/edit its output.

Here’s one other example… ‘alias’ to connect to a remote server:

alias any_name=”ssh -l -p ”

You possibly can even create ‘alias’ on your bash scripts, like:

alias clc=”sh /home/user/myscripts/calc.sh”

Now that you have set a number of totally different ‘alias’  you may want to test that which ‘alias’ are set in your system.  To do that, simply difficulty the next command:

alias

and it will list all the set ‘alias’ you have.

To remove an ‘alias’, just issue the ‘unalias’ command, like:

unalias Google

and now typing Google in Terminal will do nothing (as it was set with lynx).

To remove all the ‘alias’, issue the following command and all the ‘alias’ are gone:

unalias -a

We have mentioned the way in which of setting the ‘alias’ for different sorts of commands.  However setting ‘alias’ in this approach be temporary.  While you reboot you PC, all the ‘alias’ which you will have set will probably be gone.  This does not mean that it’s a must to set all of the ‘alias’ each time you boot your PC.  You probably have set an ‘alias’ and you favored it a lot that you really want it to completely reside in you PC, simply add this alias in ‘.bashrc’ file in you dwelling directory. For example, if you would like ‘alias’:

Set up <software_name>

to permanently reside in your PC then user your favorite text editor and add the following line in your ‘~/.bashrc’ file:

alias Install=”sudo apt-get install”

Now this ‘alias’ will not vanish into thin air when you reboot your PC. Only those ‘alias’  which are listed in ‘~/.bashrc’ file will be permanent.

This information is just a preview about ‘alias’.  It’s just about primary ways of using ‘alias’ to make your life simpler.  ‘GNU alias’ is a instrument which can simplify your life immensely.  But sadly this device isn’t given the attention it deserves.  Briefly, it is such a strong tool that when you give it proper time, it could possibly make you overlook typing. AddThis mp3 link

Ubuntu to Windows XP folder sharing

Computer networks are sometimes comprised of various OS and while operating a network made up fully of Ubuntu desktop and server computer systems would definitely be enjoyable, some community environments can consist of both Ubuntu and Microsoft Windows systems working together.
If you want to make an Ubuntu shared folder be accessible to Windows XP,  run the NTFS configuration tool on the drive.
Don’t forget that it is advisable to have admin rights to do that modification.
Select application->Accessories->Terminal
then type the following:

sudo gedit /etc/samba/smb.conf

and in the [global] section add the following line:

usershare proprietor only = false

AddThis mp3 link

Enabling remote desktop on a VirtualBox Machine

To enable remote desktop on a VirtualBox machine, you have to follow these steps:
VBoxManage modifyvm MachineName -vrdp
This command enables rdp on the virtual machine
VBoxManage startvm MachineName -type vrdp

It starts virtual machine, listening for rdp request on port 3389 (default port)
rdesktop-vrdp localhost

Connects virtual machine with rdp (You can use rdesktop too).
If you want to change rdp port, use this command:
VBoxManage modifyvm MachineName -vrdpport

Also, enabling authentication for rdp is possible:
VBoxManage modifyvm MachineName -vrdpauthtype null | external | guest

VBoxManage is the command line interface of the VirtualBox.
You can make these settings with GUI: Settings -> Remote Display -> Enable VRDP Server
If you want to use your virtual machine with vrdp only, you can use this command simply:
VBoxHeadless -startvm MachineName

Note: RDP server is not included in Open Source Edition of the VirtualBox. If you want to use this feature, you have to use closed-source edition. AddThis mp3 link

Using iPhone internet sharing over bluetooth under Linux

To use your iPhone’s internet connection through a Linux notebook over bluetooth, you have to open Tethering option on your iPhone device, under the Settings->General->Network section.

After that you can install Blueman (a simple and intuitive bluetooth manager) for easily configuring bluetooth PAN network:

apt-get install blueman

Start blueman-manager and find your mobile device and connect to it. When connection completed successfully, select Device->Add->Network Access Point in blueman-manager.
And the last step, configure the network interface:

dhclient bnep

AddThis mp3 link

Logwatch on Ubuntu Desktop/Server

Logwatch is an Ubuntu modular log analyzer that runs every night and mails you the results. It can also be run from command line. The output is by service and you can limit the output to one particular service. The subscripts which are responsible for the output, mostly convert the raw log lines in structured format.
Logwatch generally ignores the time component in the output, that means, you will know that the reported event was logged in the requested range of time, but you will have to go to the raw log files to get the exact details.
Install logwatch using the following command:

sudo apt-get install logwatch

This will install all the required packages

Configuring Logwatch:

first you need to make sure you server is able to send the mails outside you can do this using postfix with SMTP server configuration.

Now you need to edit logwatch.conf file:

sudo nano /usr/share/logwatch/default.conf/logwatch.conf

Change the following information:

Output = mail
Format = html
MailTo = test@gmail.com

Save and exit the file

If you want to know more available options check logcheck manpage using the following command from your terminal:

man logcheck

Now edit the 00logwatch file

sudo nano /etc/cron.daily/00logwatch

add the following line:

/usr/sbin/logwatch –mailto test@gmail.com

Save and exit the file

This tool is very useful, give it a try! AddThis mp3 link

Maximize internet speed connection in Ubuntu via sysctl

Do you want to maximize your bandwidth? Here are few important settings you should do to speed up your internet and it works in Ubuntu and all Linux operating system via sysctl.
First open a Terminal via Applications->Accessories->Terminal
Type:

sudo gedit /etc/sysctl.conf

Then Paste the Following at the end of the file:

# increase TCP max buffer size setable using setsockopt()
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# increase Linux autotuning TCP buffer limits
# min, default, and max number of bytes to use
# set max to at least 4MB, or higher if you use very high BDP paths
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# don’t cache ssthresh from previous connection
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
# recommended to increase this for 1000 BT or higher
net.core.netdev_max_backlog = 2500
# for 10 GigE, use this, uncomment below
# net.core.netdev_max_backlog = 30000
# Turn off timestamps if you’re on a gigabit or very busy network
# Having it off is one less thing the IP stack needs to work on
#net.ipv4.tcp_timestamps = 0
# disable tcp selective acknowledgements.
net.ipv4.tcp_sack = 0
#enable window scaling
net.ipv4.tcp_window_scaling = 1

Press Ctrl-S to save, then alt-F4 to exit and then type:

sudo sysctl -p

to apply the settings.

Now, check your speed using speed-test site or download files in the net.

You can disable all these settings by removing these lines you added via:

sudo gedit /etc/sysctl.conf

AddThis mp3 link

Open Source tools and applications for web developers

Several open source tools have evolved in the past and have become popular with the developers too.  These tools have gained popularity not only because they come free but because of the ease to work with and the features.  First let us see some code editors:

Aptana:  It is a free, JavaScript focused development environment, cross-platform and open source for building Ajax applications.  It supports HTML, JavaScript, CSS languages, FTP/SFTP and has a powerful JavaScript debugger that can help in troubleshooting your code.

Eclipse :  It is an open source software framework written mainly in Java.  It is an integrated development environment consisting Java development toolkit (JDK) and compiler (ECJ) for developing applications in Java.  Developers can extend its capabilities by installing plug-ins such as development toolkits for other programming languages written specifically for eclipse software framework.  Language packs for over a dozen languages are available.

JEdit : It is a programmer’s text editor which has many hundreds of man-hours of development behind it. It is a java-based solution  and a cross-platform product  which can work on many operating systems like Windows, VMS, UNIX,  OX/2 and Mac OS X.

NVU : It is a web authoring system for Linux desktop users, Macintosh users as well as for Microsoft windows and  is a competitor for similar products like Dreamweaver and Frontpage.  Nvu actually means new view and makes managing a website very easy.  Now even people without knowledge of HTML or technical expertise can create web pages and manage a website.

Quanta Plus : It is a web development environment with a lot of features and is highly stable.   Quanta has a vision of achieving maximal user extensibility through the best architectural foundations, best, efficient design and natural use of code.

We shall see other tools in other posts. AddThis mp3 link