<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux and Virtualization &#187; Software</title>
	<atom:link href="http://fclose.com/b/linux/topic/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://fclose.com/b/linux</link>
	<description>Clear solutions, tutorials and tips on Linux and virtualization from the author&#039;s experience with clusters.</description>
	<lastBuildDate>Sat, 04 Feb 2012 04:40:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Converting Video Files for iPod/iPhone/iPad</title>
		<link>http://fclose.com/b/linux/3540/converting-video-files-for-ipod-iphone-ipad/</link>
		<comments>http://fclose.com/b/linux/3540/converting-video-files-for-ipod-iphone-ipad/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 04:40:21 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[mp4]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[wmv]]></category>

		<guid isPermaLink="false">http://fclose.com/b/linux/?p=3540</guid>
		<description><![CDATA[We usually have video files in .wmv .mpg .rmvb or .mkv formats. The iPod, iPhone or iPad only accept a limited type of video files, such as .mov and .mp4. To play these video files in .wmv .mpg or .rmvb format, we should first convert them to .mov or .mp4 files that can played by [...]]]></description>
			<content:encoded><![CDATA[<p>We usually have video files in .wmv .mpg .rmvb or .mkv formats. The iPod, iPhone or iPad only accept a limited type of video files, such as .mov and .mp4. To play these video files in .wmv .mpg or .rmvb format, we should first convert them to .mov or .mp4 files that can played by iTune or other video players on these Apple devices that use the same codec engine. We may possibly convert video files for iPod or iPhone with <a href="http://fclose.com/b/linux/1671/useful-mplayermencoder-commands/">mplayer/mencoder</a> but it may have some problems, such as the audio and video do not synchronize very well for some videos.ffmpeg can convert video files from various formats to others and most of the time ffmpeg works very well. This post introduces how to convert the video files in common formats (.wmv, .mpg, .rmvb, .mkv, .etc.) to .mp4 format for iPod/iPhone/iPad.</p>
<h3>Install ffmpeg</h3>
<p>First, we should install the ffmpeg package. The Fedora Linux does not include ffmpeg in its repository for some reasons but the RPM Fusion repository provides it for us. To install the ffmpeg package, <a href="http://fclose.com/t/go/enable-rpmfusion/">add RPM Fusion repository first</a>.</p>
<p>The install the ffmpeg package:</p>
<pre># yum install ffmpeg</pre>
<p>Convert video file format with ffmpeg</p>
<p>The basic command to convert video file input.wmv to onput.mp4 is as follows.</p>
<pre># ffmpeg -i input.wmv output.mp4</pre>
<p>Or other format (such as .mov) by:</p>
<pre># ffmpeg -i input.wmv output.mov</pre>
<p>ffmpeg determines the output video&#8217;s format by its file name extersion.</p>
<h3>Convert video file format with ffmpeg for iPod/iPhone/iPad</h3>
<p>The files in .mp4 format can be played on Apples devices. The iPod/iPhone/iPad have specific resolution, so we need to to convert the video files to a very high resolution since the devices can only display a limited one. We use the iPod generation 2 as the example, its screen resolution is 480&#215;320. Hence, we can only convert the video to this resolution for smaller video file size. Similarly, the bitrate can also be set accordingly. The default one of ffmpeg (200 kb/s) is too low. To improve the quality of the converted video, we can set it to a larger one.</p>
<p>One good configuration for me is:</p>
<pre># ffmpeg -i input.wmv -s 480x320 -b 1000k output.mp4</pre>
<p>-s sets the frame size of the video. -b sets the bitrate of the video.</p>
<h3>Convert video file format with ffmpeg for iPod/iPhone/iPad in one command</h3>
<p>More conveniently, we can form this command to a script convert2mp4.sh:</p>
<pre>#!/bin/bash
ffmpeg -i $1 -s 480x320 -b 1000k /tmp/$1.mp4</pre>
<p>Each time to convert a video file video.wmv, we can simply run:</p>
<pre>$ convert2mp4.sh video.wmv</pre>
<p>and the converted file is /tmp/video.wmv.mp4 after the script finishes.</p>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/3540/converting-video-files-for-ipod-iphone-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Tutorial on Ns-2</title>
		<link>http://fclose.com/b/linux/3458/a-tutorial-on-ns-2/</link>
		<comments>http://fclose.com/b/linux/3458/a-tutorial-on-ns-2/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 07:47:34 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[ns-2]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://fclose.com/b/linux/?p=3458</guid>
		<description><![CDATA[This is a tutorial on ns-2 which gives a overview of ns-2 and introduces how to define a simple topology and the network flow. This tutorial is based on the slides for Lab session of COMP 4622 at HKUST in the fall semester of 2011. The slides of tutorial on ns-2 can be download from [...]]]></description>
			<content:encoded><![CDATA[<p>This is a tutorial on ns-2 which gives a overview of ns-2 and introduces how to define a simple topology and the network flow. This tutorial is based on the slides for Lab session of COMP 4622 at HKUST in the fall semester of 2011.</p>
<p>The slides of tutorial on ns-2 can be download from here:</p>
<p><a href="http://fclose.com/t/go/tutorial-ns-2/">Tutorial on ns-2</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/3458/a-tutorial-on-ns-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing ns-2 and ns-3 on Fedora Linux</title>
		<link>http://fclose.com/b/linux/3376/install-ns-2-and-ns-3-on-fedora-linux/</link>
		<comments>http://fclose.com/b/linux/3376/install-ns-2-and-ns-3-on-fedora-linux/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 07:53:22 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Client config]]></category>
		<category><![CDATA[Command line]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[nam]]></category>
		<category><![CDATA[ns-2]]></category>
		<category><![CDATA[ns-3]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://fclose.com/b/linux/?p=3376</guid>
		<description><![CDATA[ns is a discrete-event network simulator targeted primarily for research and educational use. There are two version of ns, ns-2 and ns-3, which are quite different with each other in the implementation and method to use them. In this post, we introduce how to install ns-2 and ns-3 on Fedora Linux 15. Install ns-2.34 on [...]]]></description>
			<content:encoded><![CDATA[<p>ns is a discrete-event network simulator targeted primarily for research and educational use. There are two version of ns, <a href="http://fclose.com/t/go/ns-2/" rel="nofollow">ns-2</a> and <a href="http://fclose.com/t/go/ns-3/" rel="nofollow">ns-3</a>, which are quite different with each other in the implementation and method to use them. In this post, we introduce how to install ns-2 and ns-3 on Fedora Linux 15.</p>
<h3>Install ns-2.34 on Fedora</h3>
<p>Download the allinone package</p>
<pre>$ wget http://downloads.sourceforge.net/project/nsnam/allinone/ns-allinone-2.34/ns-allinone-2.34.tar.gz</pre>
<p>Uncompress the pacakge</p>
<pre>$ tar xf ns-allinone-2.34.tar.gz</pre>
<p>Install needed pacakges</p>
<pre># yum install gcc make libX11-devel libXt-devel libXmu-devel</pre>
<p>Ns-2 requires older version of gcc. So we install gcc-34 and gcc-34-c++ for it</p>
<pre># yum install compat-gcc-34 compat-gcc-34-c++</pre>
<p>Install the allinon package of ns-2. During the install process, specify the CXX compiler we use</p>
<pre>$ cd ns-allinone-2.34
$ CXX=g++34 ./install</pre>
<p>Configure the environmental variables for ns-2 and nam, and add the executables to the PATH so that we can use ns and nam directly.</p>
<p>Add to <em>~/.bashrc</em> if you use bash</p>
<pre>NS_HOME=/full/path/to/ns-allinone-2.34
PATH=$NS_HOME/bin:$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$PATH
export PATH</pre>
<p>or</p>
<p>Add to <em>~/.cshrc_user</em> if you use c shell</p>
<pre>setenv NS_HOME "/full/path/to/ns-allinone-2.34"
setenv PATH "${PATH}:${NS_HOME}/bin:${NS_HOME}/tcl8.4.18/unix:${NS_HOME}/tk8.4.18/unix"
setenv LD_LIBRARY_PATH "${NS_HOME}/otcl-1.13:${NS_HOME}/ns-2.34/lib:/usr/local/lib"
setenv TCL_LIBRARY "${NS_HOME}/tcl8.4.18/library"</pre>
<p>The installation is done by this step. Open another shell and try our installation:</p>
<pre>$ nam</pre>
<p>and</p>
<pre>$ ns</pre>
<h3>Install ns-3.12.1 on Fedora</h3>
<p>Install needed packages</p>
<pre># yum install libxml2 libxml2-devel gcc gcc-c++ make automake \
autoconf binutils openssh-server openssh-clients openssl python \
python-devel mercurial bzr scons flex bison tcpdump valgrind gdb</pre>
<p>Download the allinone pacakge for ns-3</p>
<pre>$ mkdir tarballs
$ cd tarballs
$ wget http://www.nsnam.org/release/ns-allinone-3.12.1.tar.bz2
$ tar xjf ns-allinone-3.12.1.tar.bz2</pre>
<p>Build ns-3</p>
<pre>$ cd ns-allinone-3.12.1/
$ ./build.py</pre>
<p>We will now interact directly with Waf in the ns-3.12.1 directory</p>
<pre>$ cd ns-3.12.1</pre>
<p>Configuration with Waf</p>
<pre>$ ./waf -d optimized configure --enable-examples; ./waf</pre>
<p>Validate our installation by running one example</p>
<pre>$ ./waf shell
$ cd build/optimized/examples/
$ udp/udp-echo</pre>
<p>Use tcpdump to display the simulation result</p>
<pre>$ tcpdump -tt -r udp-echo-0-1.pcap</pre>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/3376/install-ns-2-and-ns-3-on-fedora-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto for New Git Users</title>
		<link>http://fclose.com/b/linux/3358/howto-for-new-git-user/</link>
		<comments>http://fclose.com/b/linux/3358/howto-for-new-git-user/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 07:54:03 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Client config]]></category>
		<category><![CDATA[Command line]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://fclose.com/b/linux/?p=3358</guid>
		<description><![CDATA[This post is a tutorial for new users to set up git and clone and use the first repository. This post introduces how to start using git for new users. This post does not introduce details of how to use git commands. Please refer to the git manual or other tutorials for how to commit, [...]]]></description>
			<content:encoded><![CDATA[<p>This post is a tutorial for new users to set up git and clone and use the first repository. This post introduces how to start using git for new users. This post does not introduce details of how to use git commands. Please refer to the <a href="http://fclose.com/p/linux/man/1-git/">git manual </a>or other tutorials for how to commit, push, etc.</p>
<p>In this post, we introduce how to set up keys for git, how to configure non-standard SSH port for git, and how to use the first git repository.</p>
<h3>Users’ SSH private/public key pairs</h3>
<p>Every user of git, administrator or a normal user, need to have a private/public SSH key pairs in ~/.ssh.</p>
<p>New users need to generate the key pairs (if they don’t have one) by executing this command:</p>
<pre>$ ssh-keygen -t rsa</pre>
<p>After generating the key pairs, the user can give the public key (~/.ssh/id_rsa.pub) to the git server administrator and ask he/she to create a account and repository.</p>
<p>After the git server administrator adds the new user by its public key to the git server, the user can starts to use git.</p>
<h3>Non-standard SSH port</h3>
<p>This section only for the git servers that use non-stardard SSH port, i.e. other than 22.</p>
<p>If sshd is listening on non-standard port(s) on the git server, for example 22111, the user should set SSH to use the special port. We use example.org:22111 as the example here.</p>
<p>Put these two lines in your <em>~/.ssh/config</em> file:</p>
<pre>Host example.org
  Port 22111</pre>
<p>If this <em>~/.ssh/config</em> file doesn’t exist, you should create it first and set it’s mod to 744:</p>
<pre>$ chmod 744 ~/.ssh/config</pre>
<h3>Create the new repository</h3>
<p>This section only for users to create new repository. If the user is to use an already exist repository, please skip this section. Besides, the steps in this section only need to be done once for one repository.</p>
<p>We use the example that the administrator create repository <em>repo1</em> for <em>user1</em> and give <em>user1</em> write privilege to this repository. We assume the address for this repository is <em>git@example.org:repo1.git</em> . Now we introduce how does <em>user1</em> create the new repository <em>repo1</em>.</p>
<p>As <em>user1</em> has the write privilege on the <em>repo1</em> repository, it can create this repository on it’s local machine first and then push it to the git server. After pushing it to the git server.</p>
<p>These operations are done by <em>user1 </em>on its local machine:</p>
<pre>$ mkdir repo1
$ cd repo1
$ git init
$ touch README
$ git add README
$ git commit -a -m 'first commit'
$ git remote add origin git@example.org:repo1.git
$ git push origin master</pre>
<p>If it successes, the new repository is created on the git server.</p>
<h3>Use the repository</h3>
<p>Please note that step 1 only need to be done for the first time. After getting the repository to a local directory on the user&#8217;s local machine, the user only need to follow step 2 to step 5.</p>
<p>1. Clone the repository for the first-time. You only need to do it once for the first time, for the later usage of this repository, you continue use this local directory.</p>
<pre>$ git clone git@example.org:repo1.git</pre>
<p>A directory named repo1 will be created in the current directory.</p>
<p>If you want to use the repository directory in the previous section, just add these line to the end of <em>.git/config</em>:</p>
<pre>[branch "master"]
remote = origin
merge = refs/heads/master</pre>
<p>2. Pull the updates made before by you or the others. Use <em>&#8220;git pull&#8221;</em> command in the repository’s directory.</p>
<pre>$ cd repo1
$ git pull</pre>
<p>Then you can work on this updated copy of the repository by editing the files.</p>
<p>If you add a file or directory (for example, add directory a/b and file a/t.txt), you can add it to the repository by:</p>
<pre>$ git add a/b a/t.txt</pre>
<p>3. Commit the changes made by you with a message</p>
<pre>$ git commit -a -m 'update the files'</pre>
<p>4. Push it to the git server</p>
<pre>$ git push</pre>
<p>By now, your changes have been pushed to the git server. When the others use &#8220;<em>git pull&#8221;</em> command, they will get the new version of the source codes that have changed by you.</p>
<p>You can use <em>&#8220;git log&#8221;</em> to see the logs of all the commits of this repository.</p>
<p>You may be also interested in more <a href="http://fclose.com/b/linux/2481/git-solutions/">git solutions</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/3358/howto-for-new-git-user/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installing the Flash Plugin for 64-bit Firefox in Linux x86-64</title>
		<link>http://fclose.com/b/linux/3185/installing-the-flash-plugin-for-64-bit-firefox-in-linux-x86-64/</link>
		<comments>http://fclose.com/b/linux/3185/installing-the-flash-plugin-for-64-bit-firefox-in-linux-x86-64/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 17:20:49 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Client config]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://fclose.com/b/linux/?p=3185</guid>
		<description><![CDATA[This post introduces how to install flash plugin to 64-bit firefox on a x86-64 Linux (Fedora as the example). Both 64-bit and 32-bit plugin are available. 64-bit flash plugin for Firefox on Linux First, download Flash Player Release for 64-bit Linux from Adobe Labs. Then, unpack the package: $ tar xf flashplayer.tar.gz Check whether all [...]]]></description>
			<content:encoded><![CDATA[<p>This post introduces how to install flash plugin to 64-bit firefox on a x86-64 Linux (Fedora as the example). Both 64-bit and 32-bit plugin are available.</p>
<h3>64-bit flash plugin for Firefox on Linux</h3>
<p>First, download <a href="http://fclose.com/t/go/linux/flashplayer-64-linux/" rel="nofollow">Flash Player Release </a> for 64-bit Linux from Adobe Labs.</p>
<p>Then, unpack the package:</p>
<pre>$ tar xf flashplayer.tar.gz</pre>
<p>Check whether all needed library is ready for it. If not, install the needed packages.</p>
<pre>$ ldd libflashplayer.so</pre>
<p>Give it executable attribute:</p>
<pre>$ chmod +x libflashplayer.so</pre>
<p>Copy the plugin to the plugin directory so that Firefox can use it:</p>
<pre>$ cp libflashplayer.so ~/.mozilla/plugins/</pre>
<h3>32-bit flash plugin for Firefox on Linux</h3>
<p>32-bit flash plugin can also work well for 64-bit firefox on 64-bit Linux. We can use the rpm packages from adobe&#8217;s repository.</p>
<p>First, install adobe release repository:</p>
<pre># rpm -Uvh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm</pre>
<p>Install nspluginwrapper so that 32-bit plugins can run on 64-bit system, and 32-bit alsa plugin for pulseaudio so that the 32-bit flash plugin can play sound on the 64-bit system.</p>
<pre># yum install nspluginwrapper.{x86_64,i686} \
 alsa-plugins-pulseaudio.i686 --disablerepo=adobe-linux-i386</pre>
<p>Install the 32-bit flash plugin:</p>
<pre># su -c 'yum install flash-plugin'</pre>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/3185/installing-the-flash-plugin-for-64-bit-firefox-in-linux-x86-64/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vim as Thunderbird&#8217;s External Editor in Linux</title>
		<link>http://fclose.com/b/linux/3301/vim-as-thunderbirds-external-editor-in-linux/</link>
		<comments>http://fclose.com/b/linux/3301/vim-as-thunderbirds-external-editor-in-linux/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 12:42:08 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Client config]]></category>
		<category><![CDATA[Command line]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://fclose.com/b/linux/?p=3301</guid>
		<description><![CDATA[Vim is an excellent editor which I use every day. Thunderbird is a nice email application. However, Thunderbird&#8217;s integrated editor is not efficient enough to a Vim user. Why not use Vim as Thunderbird&#8217;s editor? In this tutorial, we will introduce how to integrate Vim with Thunderbird together in Linux. Install the &#8220;External Editor&#8221; Thunderbird [...]]]></description>
			<content:encoded><![CDATA[<p>Vim is an excellent editor which I use every day. Thunderbird is a nice email application. However, Thunderbird&#8217;s integrated editor is not efficient enough to a Vim user. Why not use Vim as Thunderbird&#8217;s editor? In this tutorial, we will introduce how to integrate Vim with Thunderbird together in Linux.</p>
<h3>Install the &#8220;External Editor&#8221; Thunderbird extension</h3>
<p>Download <a href="http://fclose.com/t/go/linux/external-editor-download/" rel="nofollow external">the &#8220;External Editor&#8221; plugin</a>.</p>
<p>And install it to Thunderbird.</p>
<h3>Configure the external editor</h3>
<h4>Option 1: use gvim</h4>
<p>This is an easy method which use gvim.</p>
<p>In External Editor&#8217;s Preference, set the Text Editor to:</p>
<pre>gvim -f</pre>
<h4>Option 2: use vim in gnome-terminal</h4>
<p>If you prefer to use vim in a terminal as me, you may consider this option. Setting vim in the editor will simply fail. We may use &#8216;xterm -e vim&#8217; as the editor, but xterm looks ugly in a modern computer compared to shells like gnome-terminal. However, we need a little trick to use vim inside gnome-terminal.</p>
<p>First, create a script &#8220;callvim&#8221;:</p>
<pre>#!/bin/bash

gnome-terminal --geometry=80x40 --disable-factory -e "vim $*"</pre>
<p>Save it to a directory in your $PATH, such as ~/bin/, and remember to give it executable by &#8216;chmod +x callvim&#8217;.</p>
<p>Then, set the Text Editor in External Editor&#8217;s Preference to</p>
<pre>callvim</pre>
<h3>How to use it</h3>
<p>When creating or editing email, invoke vim to edit it by the keyboard shortcut Ctrl+E.</p>
<p>Edit the email in Vim and save and exit. The email in Thunderbird&#8217;s editor is changed.</p>
<h3>Customize Vim for editing email</h3>
<p>We can customize Vim to be a better email editor by set email-specific configuration in ~/.vimrc. Below is my configuration in .vimrc which set the text width to 68 charactors, set automatic spell check, default file encoding to be iso8859-1 and utf-8. Abbreviation is also available, which may be frequently used in writing email.</p>
<p>My email configuration in ~/.vimrc</p>
<pre>au FileType mail call FT_mail()

function FT_mail()
    set nocindent
    set noautoindent
    set textwidth=68
    " reformat for 72 char lines
    " normal gggqGgg
    " settings
    setlocal spell spelllang=en
    " setlocal fileencoding=iso8859-1,utf-8
    set fileencodings=iso8859-1,utf-8
    " abbreviations
    iabbr  gd Good Day!
endfunction</pre>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/3301/vim-as-thunderbirds-external-editor-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source and Portable SSH, SCP, SFTP and VNC Clients for Windows to Remote Control Linux</title>
		<link>http://fclose.com/b/linux/2931/open-source-and-portable-ssh-scp-sftp-and-vnc-clients-for-windows-to-remote-control-linux/</link>
		<comments>http://fclose.com/b/linux/2931/open-source-and-portable-ssh-scp-sftp-and-vnc-clients-for-windows-to-remote-control-linux/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 06:25:14 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[vnc]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://fclose.com/b/?p=2931</guid>
		<description><![CDATA[ssh, scp, sftp and vnc are frequently used tools (both servers and clients) on Linux. We may want to remote control a Linux box from Windows such as when we make demostration in a meeting while our work are done on the Linux box. There are lots open source SSH, SCP, SFTP and VNC clients for [...]]]></description>
			<content:encoded><![CDATA[<p style="font-size: 17.306630000000002px;">ssh, scp, sftp and vnc are frequently used tools (both servers and clients) on Linux. We may want to remote control a Linux box from Windows such as when we make demostration in a meeting while our work are done on the Linux box. There are lots open source SSH, SCP, SFTP and VNC clients for Windows to remote control Linux. This is a selection of these tools that are portable, which is important since we don&#8217;t always have Administrator access on the Windows clients.</p>
<h3 style="font-size: 17.306630000000002px;">SSH</h3>
<p style="font-size: 17.306630000000002px;">Software: <a href="http://fclose.com/t/go/linux/putty/">PuTTY</a></p>
<p style="font-size: 17.306630000000002px;">Direct download: <a href="http://fclose.com/t/go/linux/putty-download/">PuTTY</a></p>
<h3 style="font-size: 17.306630000000002px;">SCP and SFTP</h3>
<p style="font-size: 17.306630000000002px;">Software: <a href="http://fclose.com/t/go/linux/winscp/">WinSCP</a></p>
<p style="font-size: 17.306630000000002px;">Direct download: <a href="http://fclose.com/t/go/linux/winscp-download/">WinSCP</a></p>
<h3 style="font-size: 17.306630000000002px;">VNC viewer</h3>
<p style="font-size: 17.306630000000002px;">Software: <a href="http://fclose.com/t/go/linux/tightvnc/">TightVNC</a></p>
<p style="font-size: 17.306630000000002px;">Direct download: <a href="http://fclose.com/t/go/linux/tightvnc-download/">TightVNC</a></p>
<p style="font-size: 17.306630000000002px;">Another option is the free RealVNC free client (not open source) which can pass the special keys (such as Alt+Tab) to the server : <a href="http://fclose.com/t/go/linux/realvnc-download/" rel="nofollow">download RealVNC viewer</a>.</p>
<p style="font-size: 17.306630000000002px;">On Mac OSX, you may consider the <a href="http://fclose.com/t/go/chickenvnc-download/" rel="nofollow">Chicken VNC client</a>.</p>
<p><span style="font-size: small;"><span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/2931/open-source-and-portable-ssh-scp-sftp-and-vnc-clients-for-windows-to-remote-control-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jailbreaking Apple iPod Touch with Spirit in Linux</title>
		<link>http://fclose.com/b/linux/2199/jailbreaking-apple-ipod-touch-with-spirit-in-linux/</link>
		<comments>http://fclose.com/b/linux/2199/jailbreaking-apple-ipod-touch-with-spirit-in-linux/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 06:04:01 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://pkill.info/b/?p=2199</guid>
		<description><![CDATA[How to jailbreak Apple iPod touch in Linux will be introduced in this article. We use Spirit to jailbreak iPod touch. Spirit[1] is an untethered jailbreak for iPad, iPhone, and iPod touch on certain firmware versions. Please read [1] for requirement when using Spirit. Currently, the version of iTunes used should be iTune 9 earlier [...]]]></description>
			<content:encoded><![CDATA[<p>How to jailbreak Apple iPod touch in Linux will be introduced in this article. We use Spirit to jailbreak iPod touch. Spirit[1] is an untethered jailbreak for iPad, iPhone, and iPod touch on certain firmware versions.</p>
<p>Please read [1] for requirement when using Spirit. Currently, the version of iTunes used should be iTune 9 earlier than 9.2. The firmware&#8217;s version should be 3.1.2, 3.1.3 or 3.2.</p>
<p>My iPod which I use in this tutorial is: iPod touch 8G 3.1.3(7E18) Model (MC086ZP). The Linux I used is Fedora 12.</p>
<p>Okay, let&#8217;s go!</p>
<h3>1. Synchronise with iTunes</h3>
<p>As what we usually do. This step is highly recommended by Spirit.</p>
<h3>2. Dowload Spirit jaibreak for Linux and compile it</h3>
<h4>Get the source code</h4>
<pre>$ git clone http://github.com/posixninja/spirit-linux.git</pre>
<h4>Install depended development packages</h4>
<pre>$ sudo yum install libplist-devel libimobiledevice-devel</pre>
<p>You may need to install other development packages such as make, gcc etc.</p>
<h4>Build spirit</h4>
<pre>$ cd spirit-linux
$ make</pre>
<h3>3. Set iPod to not Auto-lock</h3>
<p>In Settings-&gt;General-&gt;Auto-lock, select never.</p>
<h3>4. Connect iPod touch to the Linux box with cable</h3>
<h3>5. jailbreak it</h3>
<p>$ ./spirit</p>
<h3>6. iPod will reboot</h3>
<p>The jailbreak work will start. Wait for a few minutes.</p>
<h3>7. Done</h3>
<p>Congratulations! Now, look for the Cydia icon. My favourite applications are Terminal and OpenSSH. Remember to change the password of <em>root</em> and <em>mobile</em> users for security.</p>
<h3>Reference:</h3>
<p>[1] http://www.spiritjb.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/2199/jailbreaking-apple-ipod-touch-with-spirit-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speeding Up Firefox in Linux</title>
		<link>http://fclose.com/b/linux/1596/speeding-up-firefox-on-linux/</link>
		<comments>http://fclose.com/b/linux/1596/speeding-up-firefox-on-linux/#comments</comments>
		<pubDate>Sat, 01 May 2010 09:59:30 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Client config]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://zhiqiangma.info/?p=1596</guid>
		<description><![CDATA[Firefox can be much faster on Linux! Let&#8217;s speed up Firefox on Linux system. Part 1 and 2 only config firefox, so it can also be used on other platform such as Windows. 1. Pipe-lining network connection Most of us use a broad band width network, then why not pip line the connection from Firefox? [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox can be much faster on Linux! Let&#8217;s speed up Firefox on Linux system. Part 1 and 2 only config firefox, so it can also be used on other platform such as Windows.</p>
<h3>1. Pipe-lining network connection</h3>
<p>Most of us use a broad band width network, then why not pip line the connection from Firefox?</p>
<p>Type <em>“about:config”</em> into the address line and enter.</p>
<p>Set “<em>network.http.pipelining</em>” to “<strong>true</strong>”<br />
Set “<em>network.http.proxy.pipelining</em>” to “<strong>true</strong>”<br />
Set “<em>network.http.proxy.pipelining.ssl</em>” to “<strong>true</strong>”<br />
Set “<em>network.http.pipelining.maxrequests</em>” to some number like <strong>25</strong>. This number means how many requests Firefox can make at most. It depends on the network. I am a crazy guy and I set it to 50 in my browser.</p>
<h3>2. No waiting before action</h3>
<p>Type <em>“about:config”</em> into the address line and enter.</p>
<p>Right-click on the page and select New-&gt; Integer.<br />
Name it “<em>nglayout.initialpaint.delay</em>” and set its value to “<strong>0</strong>″. This value is the amount of time the browser waits before it acts on information it receives.</p>
<h3>3. Put cache into memory</h3>
<p>If your memory is larger than 1GB, you can try this method. If you experience problem, please change it back. (delete <em>browser.cache.disk.parent_directory</em>)</p>
<p>Type <em>“about:config”</em> into the address line and enter.</p>
<p>Right-click on the page and select New-&gt; String.</p>
<p>Name it “<em>browser.cache.disk.parent_directory</em>” and set its value to &#8220;<em>/dev/shm/ffcache</em>&#8220;. The Cache of Firefox will be putinto <em>/dev/shm/ffcache/Cache</em>.</p>
<h3>4. Diable IPv6 support</h3>
<p>If you experience very slow DNS lookup in Firefox, you can try to disable IPv6 support in Firefox and Linux if you don&#8217;t use it:</p>
<h4>For Firefox:</h4>
<p>Type “about:config” into the address line and enter.<br />
Set “network.dns.disableIPv6″ to “true”</p>
<h4>For Linux:</h4>
<p>I test it on Fedora 12. On other systems, the configuration may be different.</p>
<pre># cp /etc/modprobe.d/dist.conf /tmp/dist.conf.bak0
# echo “alias net-pf-10 off” &gt;&gt; /etc/modprobe.d/dist.conf
# echo “alias ipv6 off” &gt;&gt; /etc/modprobe.d/dist.conf</pre>
<p>Then restart you Firefox and try whether Firefox is faster and enjoy it :)</p>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/1596/speeding-up-firefox-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling Linux Automatic Password-less SSH Login</title>
		<link>http://fclose.com/b/linux/1500/enabling-password-less-ssh-login/</link>
		<comments>http://fclose.com/b/linux/1500/enabling-password-less-ssh-login/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 06:40:36 +0000</pubDate>
		<dc:creator>Zhiqiang Ma</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Client config]]></category>
		<category><![CDATA[Command line]]></category>
		<category><![CDATA[Server config]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://zhiqiangma.info/?p=1500</guid>
		<description><![CDATA[Automatic passwrod-less ssh login can make our life easier. To enable this, we need to copy our SSH public keys to the remote machines for automatic password-less login. We introduce two methods in this post: using ssh-copy-id command and the manual way. Generate SSH key pair If you do not have a SSH private/public key [...]]]></description>
			<content:encoded><![CDATA[<p>Automatic passwrod-less ssh login can make our life easier. To enable this, we need to copy our SSH public keys to the remote machines for automatic password-less login. We introduce two methods in this post: using <em>ssh-copy-id</em> command and the manual way.</p>
<h3>Generate SSH key pair</h3>
<p>If you do not have a SSH private/public key pair, let&#8217;s generate one first.</p>
<pre>$ ssh-keygen -t rsa</pre>
<p>By default on Linux, the key pair is stored in ~/.ssh (id_rsa and id_rsa.pub for private and public key).</p>
<h3>Copy public SSH key to the remote machine</h3>
<h4>The easiest way</h4>
<p>Let ssh-copy-id do it automatically:</p>
<pre>$ ssh-copy-id username@remotemachine</pre>
<h4>The manual way</h4>
<p>Copy the public SSH key to remote machine</p>
<pre>$ scp .ssh/id_rsa.pub username@remotemachine:/tmp/</pre>
<p>Log on the remote machine</p>
<pre>$ ssh username@remotemachine</pre>
<p>Append your public SSH key to <em>~/.ssh/authorized_keys</em></p>
<pre>$ cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.bak   # backing up before changing is a good habit
$ cat /dev/shm/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys     # append pub key to authorized keys list</pre>
<p>Make sure the mode of ~/.ssh/authorized_keys is 755:</p>
<pre>$ chmod 755 ~/.ssh/authorized_keys</pre>
<h3>Possible Problems</h3>
<h4>Home directory permission</h4>
<p>Check the home directory&#8217;s permission which may cause the key-based login fail (suppose the home directory is /home/zma):</p>
<pre># chmod 700 /home/zma/</pre>
<p><span style="font-size: x-small;"><strong>Update history</strong><br />
Add setting of authorized_keys&#8217; mode setting.<br />
Aug. 31, 2011. Revise writing.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://fclose.com/b/linux/1500/enabling-password-less-ssh-login/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

