<?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>生活周遭 &#187; Linux</title>
	<atom:link href="http://blog.leirahua.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.leirahua.com</link>
	<description>In My Circle</description>
	<lastBuildDate>Wed, 27 Jan 2010 15:56:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Gnome-Terminal 的默认窗口大小</title>
		<link>http://blog.leirahua.com/2009/gnome-terminal-%e7%9a%84%e9%bb%98%e8%ae%a4%e7%aa%97%e5%8f%a3%e5%a4%a7%e5%b0%8f/</link>
		<comments>http://blog.leirahua.com/2009/gnome-terminal-%e7%9a%84%e9%bb%98%e8%ae%a4%e7%aa%97%e5%8f%a3%e5%a4%a7%e5%b0%8f/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 18:48:54 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/2009/gnome-terminal-%e7%9a%84%e9%bb%98%e8%ae%a4%e7%aa%97%e5%8f%a3%e5%a4%a7%e5%b0%8f/</guid>
		<description><![CDATA[尝试了各种方案，Gnome-Terminal死活不听话，.Xdefaults完全没有用，Gconf似乎也没有对应的选项，最后屈服，还是用了在Main Menu里面修改了Launcher参数，加了 &#8211;geometry=90&#215;30的启动参数。现在通过菜单和Gnome-Do都OK了，我也就满足了，惟一的问题就剩下通过Gnome-Terminal的Open-Terminal菜单打开的新窗口还是老样子。这个bug悬在那里多少年了都没人管以下～……]]></description>
			<content:encoded><![CDATA[<p>尝试了各种方案，Gnome-Terminal死活不听话，.Xdefaults完全没有用，Gconf似乎也没有对应的选项，最后屈服，还是用了在Main Menu里面修改了Launcher参数，加了 &#8211;geometry=90&#215;30的启动参数。现在通过菜单和Gnome-Do都OK了，我也就满足了，惟一的问题就剩下通过Gnome-Terminal的Open-Terminal菜单打开的新窗口还是老样子。<a href="http://bugzilla.gnome.org/show_bug.cgi?id=155147">这个bug</a>悬在那里多少年了都没人管以下～……</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=8b68bbc8-aa88-865d-93dc-2e75fc174a84" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2009/gnome-terminal-%e7%9a%84%e9%bb%98%e8%ae%a4%e7%aa%97%e5%8f%a3%e5%a4%a7%e5%b0%8f/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux下firefox播放Stage6视频</title>
		<link>http://blog.leirahua.com/2007/linux%e4%b8%8bfirefox%e6%92%ad%e6%94%bestage6%e8%a7%86%e9%a2%91/</link>
		<comments>http://blog.leirahua.com/2007/linux%e4%b8%8bfirefox%e6%92%ad%e6%94%bestage6%e8%a7%86%e9%a2%91/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 10:25:02 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/linux%e4%b8%8bfirefox%e6%92%ad%e6%94%bestage6%e8%a7%86%e9%a2%91.html</guid>
		<description><![CDATA[Divx的Stage6是个很不错的视频站，高速，清晰，简直惊艳。不过播放需要安装Divx Web Player，而它只有windows和mac版。Linux下可以用mplayer的mozilla Plugin来播放。ubuntu下只要安装 mozilla-mplayer 然后重启firefox就可以了。不过这个package有些问题，mplayerplug-in-dvx.so文件没有被连到/usr/lib/firefox/plugins中，launchpad的Bug #112055题到了这个问题。解决很简单，只要把/usr/lib/mozilla/plugins/下的mplayerplug-in-dvx.so和mplayerplug-in-dvx.xpt符号连接到/usr/lib/firefox/plugins/下面就可以了： cd /usr/lib/firefox/plugins sudo ln -s ../../mozilla/plugins/mplayerplug-in-dvx.so . sudo ln -s ../../mozilla/plugins/mplayerplug-in-dvx.xpt .]]></description>
			<content:encoded><![CDATA[<p>Divx的<a href="http://stage6.divx.com/">Stage6</a>是个很不错的视频站，高速，清晰，简直惊艳。不过播放需要安装Divx Web Player，而它只有windows和mac版。Linux下可以用mplayer的mozilla Plugin来播放。ubuntu下只要安装 mozilla-mplayer 然后重启firefox就可以了。不过这个package有些问题，mplayerplug-in-dvx.so文件没有被连到/usr/lib/firefox/plugins中，<a href="https://bugs.launchpad.net/ubuntu/+source/mplayerplug-in/+bug/112055">launchpad的Bug #112055</a>题到了这个问题。解决很简单，只要把/usr/lib/mozilla/plugins/下的mplayerplug-in-dvx.so和mplayerplug-in-dvx.xpt符号连接到/usr/lib/firefox/plugins/下面就可以了：</p>
<p><code><br />
cd /usr/lib/firefox/plugins<br />
sudo ln -s ../../mozilla/plugins/mplayerplug-in-dvx.so .<br />
sudo ln -s ../../mozilla/plugins/mplayerplug-in-dvx.xpt .<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2007/linux%e4%b8%8bfirefox%e6%92%ad%e6%94%bestage6%e8%a7%86%e9%a2%91/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips: find到带空格文件名用xargs处理的技巧</title>
		<link>http://blog.leirahua.com/2007/tips-find%e5%88%b0%e5%b8%a6%e7%a9%ba%e6%a0%bc%e6%96%87%e4%bb%b6%e5%90%8d%e7%94%a8xargs%e5%a4%84%e7%90%86%e7%9a%84%e6%8a%80%e5%b7%a7/</link>
		<comments>http://blog.leirahua.com/2007/tips-find%e5%88%b0%e5%b8%a6%e7%a9%ba%e6%a0%bc%e6%96%87%e4%bb%b6%e5%90%8d%e7%94%a8xargs%e5%a4%84%e7%90%86%e7%9a%84%e6%8a%80%e5%b7%a7/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 10:00:14 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[find]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/tips-find%e5%88%b0%e5%b8%a6%e7%a9%ba%e6%a0%bc%e6%96%87%e4%bb%b6%e5%90%8d%e7%94%a8xargs%e5%a4%84%e7%90%86%e7%9a%84%e6%8a%80%e5%b7%a7.html</guid>
		<description><![CDATA[find和xargs是最好的组合，可以说是linux shell下的瑞士军刀，用xargs配合find，比直接用find的-exec参数，速度更快，用法也更直观。基本的用法比如： find ./ -name &#39;*.bak&#39; &#124; xargs rm -rf 一般情况，上面这个命令运行的很好，但是如果找到的文件名代空格，上面的命令运行就可能会出问题了。find有一个参数-print0，于默认的-print相比，输出的序列不是以空格分隔，而是以null字符分隔。而xargs也有一个参数-0，可以接受以null而非空格间隔的输入流。所以说xargs简直就是为find而生的。上面的问题就很好解决了： find ./ -name &#39;*.bak&#39; -print0 &#124; xargs -0 rm -rf]]></description>
			<content:encoded><![CDATA[<hr/>find和xargs是最好的组合，可以说是linux shell下的瑞士军刀，用xargs配合find，比直接用find的-exec参数，速度更快，用法也更直观。<br/>基本的用法比如：<br/>
<pre>find ./ -name &#39;*.bak&#39; | xargs rm -rf</pre>
<p><br/>一般情况，上面这个命令运行的很好，但是如果找到的文件名代空格，上面的命令运行就可能会出问题了。<br/><br/>find有一个参数-print0，于默认的-print相比，输出的序列不是以空格分隔，而是以null字符分隔。而xargs也有一个参数-0，可以接受以null而非空格间隔的输入流。所以说xargs简直就是为find而生的。上面的问题就很好解决了：<br/>
<pre>find ./ -name &#39;*.bak&#39; -print0 | xargs -0 rm -rf</pre>
<p><br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2007/tips-find%e5%88%b0%e5%b8%a6%e7%a9%ba%e6%a0%bc%e6%96%87%e4%bb%b6%e5%90%8d%e7%94%a8xargs%e5%a4%84%e7%90%86%e7%9a%84%e6%8a%80%e5%b7%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>udev的static device node</title>
		<link>http://blog.leirahua.com/2006/udev%e7%9a%84static-device-node/</link>
		<comments>http://blog.leirahua.com/2006/udev%e7%9a%84static-device-node/#comments</comments>
		<pubDate>Thu, 31 Aug 2006 02:33:44 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[udev]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/udev%e7%9a%84static-device-node.html</guid>
		<description><![CDATA[这两天帮QA的同事安装nistnet，使用中发现，每次reboot以后，都会丢失/dev下所需的设备节点，包括/dev/nistnet,/dev/hitbox等。后来我想到ubuntu使用udev来动态建立设备节点，应该是reboot的时候，udev没能正确的重新建立这些节点。于是，需要udev建立这些静态的设备节点。google了一下，在LFS中找到了方法。udev的init script会把/lib/udev/devices/下预建立的静态device nodes拷贝到/dev下面。所以，只要把需要的static device node预先mknod到/lib/udev/devices下面就行了。]]></description>
			<content:encoded><![CDATA[<hr/>这两天帮QA的同事安装<a href=""http://snad.ncsl.nist.gov/itg/nistnet/"" target="_blank">nistnet</a>，使用中发现，每次reboot以后，都会丢失/dev下所需的设备节点，包括/dev/nistnet,/dev/hitbox等。后来我想到ubuntu使用udev来动态建立设备节点，应该是reboot的时候，udev没能正确的重新建立这些节点。于是，需要udev建立这些静态的设备节点。<br/><br/>google了一下，在<a href=""http://www.linuxfromscratch.org/lfs/view/development/chapter07/udev.html"" target="_blank">LFS</a>中找到了方法。udev的init script会把/lib/udev/devices/下预建立的静态device nodes拷贝到/dev下面。所以，只要把需要的static device node预先mknod到/lib/udev/devices下面就行了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2006/udev%e7%9a%84static-device-node/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips:autossh</title>
		<link>http://blog.leirahua.com/2006/tipsautossh/</link>
		<comments>http://blog.leirahua.com/2006/tipsautossh/#comments</comments>
		<pubDate>Tue, 06 Jun 2006 09:51:18 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/tipsautossh.html</guid>
		<description><![CDATA[SSH的特性就是安全，如果一个连接长期闲置，那么就可能被利用，所以SSH服务端一般都会有一个超过Idle时间踢出的设置。不过像我们经常会用SSH登陆到远程服务器上长时间的工作的，这个特性就非常不方便了。于是autossh，就是这么一个牺牲安全性，换取便利性的工具。 autossh通过建立另一个SSH连接来监视工作SSH连接，当工作连接断开的时候，能够自动发起重连。不过你得设置ssh-agent，否则，重连的时候还是会提示你输入密码的，这样就失去意义了。 不过，就算是重连，你正在做的工作也会因为失去连接登出而都被杀死的。这时候就该GNU screen登场了。在你ssh到远程服务器的时候，启动一个screen Session，screen可以让你在ssh失去连接的时候自动detach，然后重连上来的时候，只要用screen -D -R取回screen Session就可以了。而且，autossh自带了一个非常好用的script rscreen，已经完完整整的帮忙做好了这件事情，只要直接拿过来用就可以了。 至于安装嘛，对于Debian，照例只要apt就可以了，下面贴一下我的对rscreen的小小修改，去掉了不需要的键设置，使用remoteSSH做为screen Session的名字以区别其他的screen Session，接收全部的ssh参数: --- /usr/share/doc/autossh-1.3/examples/rscreen 2005-03-23 10:05:20.001000000 +0800 +++ /usr/local/bin/rscreen 2006-05-16 11:41:23.705698100 +0800 @@ -23,4 +23,4 @@ #AUTOSSH_PATH=/usr/local/bin/ssh export AUTOSSH_POLL AUTOSSH_LOGFILE AUTOSSH_DEBUG AUTOSSH_PATH AUTOSSH_GATETIME AUTOSSH_PORT -autossh -M 20004 -t $1 "screen -e^Zz -D -R" +autossh -M 20004 -t $* "screen -D -R remoteSSH"]]></description>
			<content:encoded><![CDATA[<hr/>
<p>SSH的特性就是安全，如果一个连接长期闲置，那么就可能被利用，所以SSH服务端一般都会有一个超过Idle时间踢出的设置。不过像我们经常会用SSH登陆到远程服务器上长时间的工作的，这个特性就非常不方便了。于是<a href="http://www.harding.motd.ca/autossh/">autossh</a>，就是这么一个牺牲安全性，换取便利性的工具。</p>
<p><a href="http://www.harding.motd.ca/autossh/">autossh</a>通过建立另一个SSH连接来监视工作SSH连接，当工作连接断开的时候，能够自动发起重连。不过你得<a href="http://my.opera.com/Leira/blog/show.dml/181210">设置ssh-agent</a>，否则，重连的时候还是会提示你输入密码的，这样就失去意义了。</p>
<p>不过，就算是重连，你正在做的工作也会因为失去连接登出而都被杀死的。这时候就该<a href="http://www.gnu.org/software/screen/">GNU screen</a>登场了。在你ssh到远程服务器的时候，启动一个screen Session，screen可以让你在ssh失去连接的时候自动detach，然后重连上来的时候，只要用screen -D -R取回screen Session就可以了。而且，autossh自带了一个非常好用的script rscreen，已经完完整整的帮忙做好了这件事情，只要直接拿过来用就可以了。</p>
<p>至于安装嘛，对于Debian，照例只要apt就可以了，下面贴一下我的对rscreen的小小修改，去掉了不需要的键设置，使用remoteSSH做为screen Session的名字以区别其他的screen Session，接收全部的ssh参数:</p>
<pre>
<font color="#2e8b57"><b>--- /usr/share/doc/autossh-1.3/examples/rscreen 2005-03-23 10:05:20.001000000 +0800</b></font>
<font color="#2e8b57"><b>+++ /usr/local/bin/rscreen  2006-05-16 11:41:23.705698100 +0800</b></font>
<font color="#804040"><b>@@ -23,4 +23,4 @@</b></font>
 #AUTOSSH_PATH=/usr/local/bin/ssh
 export AUTOSSH_POLL AUTOSSH_LOGFILE AUTOSSH_DEBUG AUTOSSH_PATH AUTOSSH_GATETIME AUTOSSH_PORT

<font color="#6a5acd">-autossh -M 20004 -t $1 "screen -e^Zz -D -R"</font>
<font color="#008080">+autossh -M 20004 -t $* "screen -D -R remoteSSH"</font>
</pre>
</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2006/tipsautossh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fglrx ATI Linux driver进入Debian了</title>
		<link>http://blog.leirahua.com/2006/fglrx-ati-linux-driver%e8%bf%9b%e5%85%a5debian%e4%ba%86/</link>
		<comments>http://blog.leirahua.com/2006/fglrx-ati-linux-driver%e8%bf%9b%e5%85%a5debian%e4%ba%86/#comments</comments>
		<pubDate>Thu, 06 Apr 2006 06:53:28 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/fglrx-ati-linux-driver%e8%bf%9b%e5%85%a5debian%e4%ba%86.html</guid>
		<description><![CDATA[这算是一个旧闻了。原本安装ATI的fglrx必须自己编译安装，虽然可以借助Flavio Stanchina的fglrx-installer，更新之类的问题也还是挺麻烦的。现在进入offical Debian了，就方便多了。其实，kernel module还是需要编译的，不过，在Debian强大的module-assistant或者kernel-package下，还是很方便的。可惜，Debian的fglrx-driver只有i386的，没有x86_64的。这也算是给我最近计划的重装系统又找了一个借口吧。]]></description>
			<content:encoded><![CDATA[<hr/>这算是一个旧闻了。<br/>原本安装ATI的fglrx必须自己编译安装，虽然可以借助Flavio Stanchina的<a href="http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html" target="_blank">fglrx-installer</a>，更新之类的问题也还是挺麻烦的。现在进入offical Debian了，就方便多了。其实，kernel module还是需要编译的，不过，在Debian强大的module-assistant或者kernel-package下，还是很方便的。<br/>可惜，Debian的<a href="http://packages.debian.org/unstable/x11/fglrx-driver" target="_blank">fglrx-driver</a>只有i386的，没有x86_64的。这也算是给我最近计划的重装系统又找了一个借口吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2006/fglrx-ati-linux-driver%e8%bf%9b%e5%85%a5debian%e4%ba%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips: 图片格式的批量转换</title>
		<link>http://blog.leirahua.com/2006/tips-%e5%9b%be%e7%89%87%e6%a0%bc%e5%bc%8f%e7%9a%84%e6%89%b9%e9%87%8f%e8%bd%ac%e6%8d%a2/</link>
		<comments>http://blog.leirahua.com/2006/tips-%e5%9b%be%e7%89%87%e6%a0%bc%e5%bc%8f%e7%9a%84%e6%89%b9%e9%87%8f%e8%bd%ac%e6%8d%a2/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 15:57:04 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[imagemagick]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/tips-%e5%9b%be%e7%89%87%e6%a0%bc%e5%bc%8f%e7%9a%84%e6%89%b9%e9%87%8f%e8%bd%ac%e6%8d%a2.html</guid>
		<description><![CDATA[手上有一堆很大的tif图片，想要批量转成尺寸小一点的jpg图片。对于图片处理，特别是批量的时候，命令行工具imagemagick可以说是最好不过的工具了。一般对于处理转换图片，imagemagick提供了convert和mogrify两个工具，convert一般用于处理完后输出到另一个文件，而mogrify一般用于修改源文件，但是如果指明不同的格式，mogrify也会保存到另一个不同扩展名的文件中去。这里我要用到的就是magrify。命令很简单： ls *tif &#124; xargs -n1 mogrify -format jpg -resize ">1024x1024" xargs的强大，这里就不说了。这里主要涉及mogrify的两个参数，-fromat和-resize。-format指明格式，这里是jpg。-resize就是要修改尺寸，这里用的是&#8221;>1024&#215;1024&#8243;，意思是输出图片不能大于1024&#215;1024，这也是一个很方便的用法，这样，输出的图片最长的一边都不会超过1024，大小都比较统一。如果只是指明 -resize 1024 的话，只能保证横向宽度为1024，如果是纵向较长的竖图片，可能就会变成1024&#215;1540之类的尺寸，大小就不统一了。imagemagick非常强大，并且具备命令行工具特有的方便和适于脚本的特性，非常适合于批量处理。除了上述的例子，我原先还用imagemagick写过一个批量添加png图片透明层的简单脚本，不过不知道扔哪儿了，回头找找再帖上来。]]></description>
			<content:encoded><![CDATA[<hr/>手上有一堆很大的tif图片，想要批量转成尺寸小一点的jpg图片。对于图片处理，特别是批量的时候，命令行工具<a href="http://www.imagemagick.org/" target="_blank">imagemagick</a>可以说是最好不过的工具了。<br/>一般对于处理转换图片，imagemagick提供了convert和mogrify两个工具，convert一般用于处理完后输出到另一个文件，而mogrify一般用于修改源文件，但是如果指明不同的格式，mogrify也会保存到另一个不同扩展名的文件中去。这里我要用到的就是magrify。<br/>命令很简单：<br/>
<pre>ls *tif | xargs -n1 mogrify -format jpg -resize ">1024x1024"</pre>
<p><br/>xargs的强大，这里就不说了。这里主要涉及mogrify的两个参数，-fromat和-resize。-format指明格式，这里是jpg。-resize就是要修改尺寸，这里用的是&#8221;>1024&#215;1024&#8243;，意思是输出图片不能大于1024&#215;1024，这也是一个很方便的用法，这样，输出的图片最长的一边都不会超过1024，大小都比较统一。如果只是指明 -resize 1024 的话，只能保证横向宽度为1024，如果是纵向较长的竖图片，可能就会变成1024&#215;1540之类的尺寸，大小就不统一了。<br/><br/>imagemagick非常强大，并且具备命令行工具特有的方便和适于脚本的特性，非常适合于批量处理。除了上述的例子，我原先还用imagemagick写过一个批量添加png图片透明层的简单脚本，不过不知道扔哪儿了，回头找找再帖上来。<br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2006/tips-%e5%9b%be%e7%89%87%e6%a0%bc%e5%bc%8f%e7%9a%84%e6%89%b9%e9%87%8f%e8%bd%ac%e6%8d%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips: ssh记住密码，自动登录</title>
		<link>http://blog.leirahua.com/2006/tips-ssh%e8%ae%b0%e4%bd%8f%e5%af%86%e7%a0%81%ef%bc%8c%e8%87%aa%e5%8a%a8%e7%99%bb%e5%bd%95/</link>
		<comments>http://blog.leirahua.com/2006/tips-ssh%e8%ae%b0%e4%bd%8f%e5%af%86%e7%a0%81%ef%bc%8c%e8%87%aa%e5%8a%a8%e7%99%bb%e5%bd%95/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 15:57:40 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/tips-ssh%e8%ae%b0%e4%bd%8f%e5%af%86%e7%a0%81%ef%bc%8c%e8%87%aa%e5%8a%a8%e7%99%bb%e5%bd%95.html</guid>
		<description><![CDATA[ssh登录，每次都要敲密码，敲多了自然是烦。而且ssh的安全性，使它不能在任何配置文件中或者命令行参数中直接指出密码，所以只能不厌其烦的每次等待登录框出现，然后敲入密码。特别是使用ssh认证的cvs,svn之类的，更是影响工作情绪。ssh-agent就是用于解决这个问题的: 1. Creating authentication key 用ssh-keygen生成公/私钥对: beowulf% ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/u/kim/.ssh/id_rsa): [RETURN] Enter passphrase (empty for no passphrase): litt1e 1amp jumb3d Enter same passphrase again: litt1e 1amp jumb3d Your identification has been saved in /u/kim/.ssh/id_rsa. Your public key has been saved in [...]]]></description>
			<content:encoded><![CDATA[<p>ssh登录，每次都要敲密码，敲多了自然是烦。而且ssh的安全性，使它不能在任何配置文件中或者命令行参数中直接指出密码，所以只能不厌其烦的每次等待登录框出现，然后敲入密码。特别是使用ssh认证的cvs,svn之类的，更是影响工作情绪。ssh-agent就是用于解决这个问题的:</p>
<h5>1. Creating authentication key</h5>
<p>用ssh-keygen生成公/私钥对:</p>
<pre>  beowulf% ssh-keygen -t rsa
  Generating public/private rsa key pair.
  Enter file in which to save the key (/u/kim/.ssh/id_rsa): [RETURN]
  Enter passphrase (empty for no passphrase): litt1e 1amp jumb3d
  Enter same passphrase again: litt1e 1amp jumb3d
  Your identification has been saved in /u/kim/.ssh/id_rsa.
  Your public key has been saved in /u/kim/.ssh/id_rsa.pub.
  The key fingerprint is:
  b7:18:ad:3b:0b:50:5c:e1:da:2d:6f:5b:65:82:94:c5 kim@beowulf.gw.com</pre>
<p>记住你的passphrase(这里是little lamp jump3d)。其中~/.ssh/id_rsa.pub为公钥文件</p>
<h5>2. Authorizing access</h5>
<p>将公钥上传成目标机的~/.ssh/authorized_keys (ftp,scp都可以)</p>
<pre>  beowulf% cd ~/.ssh
  beowulf% cp id_rsa.pub authorized_keys
  beowulf% scp -p ~/.ssh/authorized_keys kim@hrothgar:.ssh/
  kim@hrothgar’s password: YourPasswordHere
  authorized_keys               100% 1839     1.2MB/s   00:00 </pre>
<p>其中需要输入目标机上你的用户密码(在此为hrothgar上的kim用户)。<br />
这时，你使用ssh登录时，将会通过你identification的passphrase来登录了。</p>
<pre>  beowulf% ssh hrothgar
  Enter passphrase for key '/u/kim/.ssh/id_rsa': litt1e 1amp jumb3d
  kim@hrothgar% </pre>
<h5>3. Keeping authentication keys in memory</h5>
<p>通过ssh-agent来记住认证，添加的方式见下一节。一般的做法是通过ssh-agent来启动一个shell，在该shell中使用：</p>
<pre>  beowulf% ssh-agent $SHELL
  beowulf% </pre>
<p>我用的是Debian，在/etc/X11/Xsession.d/下面就又一个90xfree86-common_ssh-agent用于使用ssh-agent来启动X，这样，一进入X，ssh-agent就是可用的。如果你的系统里没有这样的设置，简单的做法就是用&#8221;ssh-agent startx&#8221;来启动X，如果你用的是xdm,gdm之类的，修改你的~/.xsession文件</p>
<h5>4. Managing keys in memory</h5>
<p>通过ssh-add添加keys。</p>
<pre>  beowulf% ssh-add
  Enter passphrase for /u/kim/.ssh/id_rsa: litt1e 1amp jumb3d
  Identity added: /u/kim/.ssh/id_rsa (/u/kim/.ssh/id_rsa) </pre>
<p>然后，你就可以通过</p>
<pre>  beowulf% ssh hrothgar
  kim@hrothgar% </pre>
<p>ssh登录而不需要密码了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2006/tips-ssh%e8%ae%b0%e4%bd%8f%e5%af%86%e7%a0%81%ef%bc%8c%e8%87%aa%e5%8a%a8%e7%99%bb%e5%bd%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips: procmailrc规则中的中文处理</title>
		<link>http://blog.leirahua.com/2006/tips-procmailrc%e8%a7%84%e5%88%99%e4%b8%ad%e7%9a%84%e4%b8%ad%e6%96%87%e5%a4%84%e7%90%86/</link>
		<comments>http://blog.leirahua.com/2006/tips-procmailrc%e8%a7%84%e5%88%99%e4%b8%ad%e7%9a%84%e4%b8%ad%e6%96%87%e5%a4%84%e7%90%86/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 05:26:20 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[procmail]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/tips-procmailrc%e8%a7%84%e5%88%99%e4%b8%ad%e7%9a%84%e4%b8%ad%e6%96%87%e5%a4%84%e7%90%86.html</guid>
		<description><![CDATA[procmail有很方便的基于正则表达式的规则，非常强大。 处理英文字段自然OK，可是处理中文字段呢？直接打中文恐怕是肯定不可以了。比如分类Subject段包含“中国”的规则，如果写成： * ^Subject.*中国 那就找不到了。因为procmail直接处理邮件文本，而邮件文本都是编码过的，Subject段是肯定不会直接出现“中国”字样。 一般邮件内容的编码常用的有两种，QuotedPrintable和Base64，下面分开说。 QuotePrintable 用文本编辑器直接打开mbox文件，在Subject段看到 =?utf-8?Q?Goowy=e9=82=ae=e4=bb=b6=e6=9c=8d=e5=8a=a1=e7=9a =84flash=e7=95=8c=e9=9d=a2_=5bFlickr=5d?= 这样都是=间隔的，就是QuotePrintable编码了，其中头部=?utf-8?Q?中的Q也指出了这儿用的是QuotePrintable编码，utf-8不用解释，就是文本是utf-8编码的。以上的Subject段解码后是： Goowy邮件服务的flash界面_[Flickr] 对于QuotePrintable的Procmail规则就比较简单，直接根据关键字的编码，加入=号间隔就可以了。比如我们查找关键字“服务”，对应的utf-8序列是 0xe69c8d 0xe58aa1 ，一般中文自的utf8编码都会是3个字节，那么对应的就是 =e6=9c=8d=e5=8a=a1 ，规则可以这么写： * ^Subject.*=e6=9c=8d=e5=8a=a1 对于GB系列编码也是一样，只是每个汉字就是两个字节，而不是三个了。 Base64 Base64的嘛，hoho，再研究研究～ 等下回吧～]]></description>
			<content:encoded><![CDATA[<hr/>procmail有很方便的基于正则表达式的规则，非常强大。<br />
处理英文字段自然OK，可是处理中文字段呢？直接打中文恐怕是肯定不可以了。比如分类Subject段包含“中国”的规则，如果写成：</p>
<pre>* ^Subject.*中国</pre>
<p>那就找不到了。因为procmail直接处理邮件文本，而邮件文本都是编码过的，Subject段是肯定不会直接出现“中国”字样。<br />
一般邮件内容的编码常用的有两种，QuotedPrintable和Base64，下面分开说。</p>
<h5>QuotePrintable</h5>
<p>用文本编辑器直接打开mbox文件，在Subject段看到</p>
<pre>=?utf-8?Q?Goowy=e9=82=ae=e4=bb=b6=e6=9c=8d=e5=8a=a1=e7=9a
=84flash=e7=95=8c=e9=9d=a2_=5bFlickr=5d?=</pre>
<p>这样都是=间隔的，就是QuotePrintable编码了，其中头部=?utf-8?Q?中的Q也指出了这儿用的是QuotePrintable编码，utf-8不用解释，就是文本是utf-8编码的。以上的Subject段解码后是：</p>
<pre>Goowy邮件服务的flash界面_[Flickr]</pre>
<p>对于QuotePrintable的Procmail规则就比较简单，直接根据关键字的编码，加入=号间隔就可以了。比如我们查找关键字“服务”，对应的utf-8序列是
<pre>0xe69c8d 0xe58aa1</pre>
<p>，一般中文自的utf8编码都会是3个字节，那么对应的就是
<pre>=e6=9c=8d=e5=8a=a1</pre>
<p>，规则可以这么写：</p>
<pre>* ^Subject.*=e6=9c=8d=e5=8a=a1</pre>
<p>对于GB系列编码也是一样，只是每个汉字就是两个字节，而不是三个了。</p>
<h5>Base64</h5>
<p>Base64的嘛，hoho，再研究研究～ 等下回吧～</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2006/tips-procmailrc%e8%a7%84%e5%88%99%e4%b8%ad%e7%9a%84%e4%b8%ad%e6%96%87%e5%a4%84%e7%90%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sed的in-place edit选项，和RTFM</title>
		<link>http://blog.leirahua.com/2006/sed%e7%9a%84in-place-edit%e9%80%89%e9%a1%b9%ef%bc%8c%e5%92%8crtfm/</link>
		<comments>http://blog.leirahua.com/2006/sed%e7%9a%84in-place-edit%e9%80%89%e9%a1%b9%ef%bc%8c%e5%92%8crtfm/#comments</comments>
		<pubDate>Mon, 13 Mar 2006 13:59:52 +0000</pubDate>
		<dc:creator>leira</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[sed]]></category>

		<guid isPermaLink="false">http://blog.leirahua.com/articles/sed%e7%9a%84in-place-edit%e9%80%89%e9%a1%b9%ef%bc%8c%e5%92%8crtfm.html</guid>
		<description><![CDATA[在Debian Administration上看到Search and replace across many files with a perl one-liner这篇文章。多文件的Search and Replace的Linux风格处理方式，也是我一直思考的，这篇文章提供的是一个perl的解决方案。而对于这种问题，最直接想到的解决方案应该是sed吧？而且对于Perl，我到现在还是个门外汉。 不过一直以为sed不能直接对源文件修改，必须重定向到新文件，所以觉得在批量处理中很麻烦，因为每次都必须指定新文件名，然后在覆盖回源文件。为此还傻傻的专门写过一个runsed的shell脚本用于处理重定向到中间文件再覆盖回源文件的工作，让sed可以直接修改源文件，适用于批量处理。还沾沾自喜，以为找到了最终的解决方案。 在上面这篇文章中，比较关键的是用到了perl的 -i 参数edit the files in-place，直接修改源文件。这时候我想，sed也是应该有这么一个in-place edit的选项的，只是我以前没有找到罢了。于是man sed，然后在man page的32行就看到了 -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if extension supplied) 这个参数。这时候才觉得自己好傻，没有好好的RTFM，而且还好好的自作聪明了一把。 sed的这个 -i[SUFFIX], –in-place[=SUFFIX] 参数功能还真的很强，除了能够直接修改源文件，还能自动备份源文件，指出备份文件的suffix，真是非常方便。（居家旅游，杀人灭口，必备良药？XD）又可以快乐的sed生活了。 现在，关于 Search and Replace 和 Regular Expression，还有一个问题困扰我，在这儿记下来。 就是将文件中符合某个pattern的字符串打印出来。注意，只是符合这个pattern的字符串本身，而不是所在行。直接一看，这怎么都是grep的工作嘛，可以在对grep狠狠的RTFM以后，还是未果。真是奇怪，总觉得打印搜索到的pattern本身，比打印行要容易的多嘛，怎么会这么难找？Python脚本自然可以很容易就实现，但是总觉得已有的shell工具肯定是有这样的功能了，只是我没找到罢了。希望有达人指点。（不要告诉我grep后sed哦～）]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://www.debian-administration.org/">Debian Administration</a>上看到<a href="http://www.debian-administration.org/articles/298">Search and replace across many files with a perl one-liner</a>这篇文章。多文件的Search and Replace的Linux风格处理方式，也是我一直思考的，这篇文章提供的是一个perl的解决方案。而对于这种问题，最直接想到的解决方案应该是sed吧？而且对于Perl，我到现在还是个门外汉。</p>
<p>不过一直以为sed不能直接对源文件修改，必须重定向到新文件，所以觉得在批量处理中很麻烦，因为每次都必须指定新文件名，然后在覆盖回源文件。为此还傻傻的专门写过一个runsed的shell脚本用于处理重定向到中间文件再覆盖回源文件的工作，让sed可以直接修改源文件，适用于批量处理。还沾沾自喜，以为找到了最终的解决方案。</p>
<p>在上面<a href="http://www.debian-administration.org/articles/298">这篇文章</a>中，比较关键的是用到了perl的 -i 参数edit the files in-place，直接修改源文件。这时候我想，sed也是应该有这么一个in-place edit的选项的，只是我以前没有找到罢了。于是man sed，然后在man page的32行就看到了</p>
<pre>-i[SUFFIX], --in-place[=SUFFIX]
                edit files in place (makes backup if extension supplied)</pre>
<p>这个参数。这时候才觉得自己好傻，没有好好的<acronym title="Read The Fucking Manual">RTFM</acronym>，而且还好好的自作聪明了一把。</p>
<p>sed的这个 -i[SUFFIX], –in-place[=SUFFIX] 参数功能还真的很强，除了能够直接修改源文件，还能自动备份源文件，指出备份文件的suffix，真是非常方便。（居家旅游，杀人灭口，必备良药？XD）又可以快乐的sed生活了。</p>
<p>现在，关于 Search and Replace 和 Regular Expression，还有一个问题困扰我，在这儿记下来。</p>
<p>就是将文件中符合某个pattern的字符串打印出来。注意，只是符合这个pattern的字符串本身，而不是所在行。直接一看，这怎么都是grep的工作嘛，可以在对grep狠狠的<acronym title="Read The Fucking Manual">RTFM</acronym>以后，还是未果。真是奇怪，总觉得打印搜索到的pattern本身，比打印行要容易的多嘛，怎么会这么难找？Python脚本自然可以很容易就实现，但是总觉得已有的shell工具肯定是有这样的功能了，只是我没找到罢了。希望有达人指点。（不要告诉我grep后sed哦～）</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leirahua.com/2006/sed%e7%9a%84in-place-edit%e9%80%89%e9%a1%b9%ef%bc%8c%e5%92%8crtfm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
