<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>七星庐</title>
	
	<link>http://qixinglu.com</link>
	<description>潜心修炼，早日成仙。GNU/Linux、Ubuntu、Firefox、LiveCD、游戏MOD。</description>
	<lastBuildDate>Tue, 27 Jul 2010 11:38:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/qixinglu" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="qixinglu" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>让Vim识别以等号开头的文件名补全</title>
		<link>http://qixinglu.com/archives/vim_filename_complete_ignore_equals_sign?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=vim_filename_complete_ignore_equals_sign</link>
		<comments>http://qixinglu.com/archives/vim_filename_complete_ignore_equals_sign#comments</comments>
		<pubDate>Tue, 27 Jul 2010 11:38:08 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[程序配置]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2713</guid>
		<description><![CDATA[地球人都知道Vim在插入模式下按Ctrl+X再按Ctrl+F可以补全文件路径，但以等号开头的就不会补全了，比如 config=/usr/ 用等号来定义键值对在配置文件中很常见吧，可是Vim就是不补全，因为它把“=/usr/”当成一个路径了，不是以“/”开头，而是“=”，所以你得在两个符号间插一个空格，补全后再删掉，这就有点烦。 老规矩依然是RTFM，最后找得一相关选项“isfname”，这个选项是用以表示文件名的组成字符，看一下默认值 :set isfname? 结果是 isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,= 包含了等号，去掉它 :set isfname-== 把上面的命令写入vimrc就行了，这就不会把等号当成文件名的一部分了，就以“/”当路径开头了。 这样不会补全包含等号的文件名，但是也极少机率会遇到，用特殊符号命名都是自找麻烦的吧。]]></description>
			<content:encoded><![CDATA[<p>地球人都知道Vim在插入模式下按Ctrl+X再按Ctrl+F可以补全文件路径，但以等号开头的就不会补全了，比如</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">config=/usr/</pre></div></div>

<p>用等号来定义键值对在配置文件中很常见吧，可是Vim就是不补全，因为它把“=/usr/”当成一个路径了，不是以“/”开头，而是“=”，所以你得在两个符号间插一个空格，补全后再删掉，这就有点烦。</p>
<p>老规矩依然是RTFM，最后找得一相关选项“isfname”，这个选项是用以表示文件名的组成字符，看一下默认值<span id="more-2713"></span></p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">:set isfname?</pre></div></div>

<p>结果是</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=</pre></div></div>

<p>包含了等号，去掉它</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">:set isfname-==</pre></div></div>

<p>把上面的命令写入vimrc就行了，这就不会把等号当成文件名的一部分了，就以“/”当路径开头了。</p>
<p>这样不会补全包含等号的文件名，但是也极少机率会遇到，用特殊符号命名都是自找麻烦的吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/vim_filename_complete_ignore_equals_sign/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nautilus解压到指定目录右键脚本</title>
		<link>http://qixinglu.com/archives/nautilus_extract_there_script?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=nautilus_extract_there_script</link>
		<comments>http://qixinglu.com/archives/nautilus_extract_there_script#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:24:42 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[经验技巧]]></category>
		<category><![CDATA[nautilus]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2706</guid>
		<description><![CDATA[我就是那种文件放不分类不舒服夫司机，早在Windows下使用winrar的时候，喜欢那个解压到默认的目录的功能，就是打开一个压缩包，点击解压，默认目录是早已指定的目录（专门用来放乱七八糟懒得分类的文件），解压后就打开该目录。 这个功能相当实用，但是7zip却没有这功能一度让我非常纠结（7zip你什么时候能改进一下界面啊？超越winrar不成问题啊），在linux下一直就是先解压到当前目录，再复制过去，到如今有点烦矣，打算写个nautilus右键脚本。 代码在这里，把“path”变量改成你想要的目录，扔到“~/.gnome2/nautilus-scripts”目录下就行了，作用解压后打开目录，超简单。 还以为很复杂，果然是事在人为。]]></description>
			<content:encoded><![CDATA[<p>我就是那种文件放不分类不舒服夫司机，早在Windows下使用winrar的时候，喜欢那个解压到默认的目录的功能，就是打开一个压缩包，点击解压，默认目录是早已指定的目录（专门用来放乱七八糟懒得分类的文件），解压后就打开该目录。</p>
<p>这个功能相当实用，但是7zip却没有这功能一度让我非常纠结（7zip你什么时候能改进一下界面啊？超越winrar不成问题啊），在linux下一直就是先解压到当前目录，再复制过去，到如今有点烦矣，打算写个nautilus右键脚本。</p>
<p>代码在<a href="https://code.google.com/p/muzuiget-toolbox/source/browse/trunk/shell_scripts/extract_there.sh">这里</a>，把“path”变量改成你想要的目录，扔到“~/.gnome2/nautilus-scripts”目录下就行了，作用解压后打开目录，超简单。</p>
<p>还以为很复杂，果然是事在人为。<span id="more-2706"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/nautilus_extract_there_script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Image Proxy的WordPress插件</title>
		<link>http://qixinglu.com/archives/google_image_proxy_wordpress_plugin?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=google_image_proxy_wordpress_plugin</link>
		<comments>http://qixinglu.com/archives/google_image_proxy_wordpress_plugin#comments</comments>
		<pubDate>Thu, 22 Jul 2010 00:10:36 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[软件介绍]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2693</guid>
		<description><![CDATA[又是Google Image Proxy，这次是WordPress插件。 把JS加入一个Text Widget来让用户浏览器来执行改写有不足之处，一是禁用了JS就无效，二是RSS输出也是原始地址的，那么在阅读器中就看不到了，除非用户手动调用脚本。不爽了，因此最好是WordPress直接输出。花了点时间学习一下WordPress开发，没想象中的难，10行有效代码就搞定。 说明 插件改写操作是以filter来执行，也就是不会修改数据库中的内容，当在预览、发布和输出RSS时才改成代理地址。所以在编辑器中依然是原来的地址，不会看长长讨厌的代理地址。禁用插件就恢复原来地址，效果安全。 下载和安装 已经发布到WordPress插件页面中，下载zip文件，解压，上传“google-image-proxy.php”到WordPress的“wp-content/plugins/”目录下。或者你在后台添加插件处直接搜索“Google Image Proxy”安装，最后在插件页面启动就行了 方公公你的母亲目前好吗？]]></description>
			<content:encoded><![CDATA[<p>又是<a href="http://qixinglu.com/archives/google_image_proxy">Google Image Proxy</a>，这次是WordPress插件。</p>
<p>把JS加入一个Text Widget来让用户浏览器来执行改写有不足之处，一是禁用了JS就无效，二是RSS输出也是原始地址的，那么在阅读器中就看不到了，除非用户手动调用脚本。不爽了，因此最好是WordPress直接输出。花了点时间学习一下WordPress开发，没想象中的难，10行有效代码就搞定。<span id="more-2693"></span></p>
<h3>说明</h3>
<p>插件改写操作是以filter来执行，也就是不会修改数据库中的内容，当在预览、发布和输出RSS时才改成代理地址。所以在编辑器中依然是原来的地址，不会看长长讨厌的代理地址。禁用插件就恢复原来地址，效果安全。</p>
<h3>下载和安装</h3>
<p>已经发布到<a href="http://wordpress.org/extend/plugins/google-image-proxy/">WordPress插件页面</a>中，下载zip文件，解压，上传“google-image-proxy.php”到WordPress的“wp-content/plugins/”目录下。或者你在后台添加插件处直接搜索“Google Image Proxy”安装，最后在插件页面启动就行了</p>
<p>方公公你的母亲目前好吗？</p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/google_image_proxy_wordpress_plugin/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>删除歌词中的垃圾信息脚本</title>
		<link>http://qixinglu.com/archives/clear_lyric_file_script_clslrc?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=clear_lyric_file_script_clslrc</link>
		<comments>http://qixinglu.com/archives/clear_lyric_file_script_clslrc#comments</comments>
		<pubDate>Fri, 16 Jul 2010 14:24:55 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[经验技巧]]></category>
		<category><![CDATA[歌词]]></category>
		<category><![CDATA[脚本]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2685</guid>
		<description><![CDATA[网上的歌词（lrc）文件质量参差不齐，有的歌词制作者喜欢把自己的联系信息（比如QQ，邮箱，网址）写歌词条目件中，不但开头结尾都有，中间音乐过渡时也有，真的让人很烦。 而lrc格式本来就专门定义个“[by: XXX]”的标签来记录歌词制作者信息，这标签默认不会显示，也就不会骚扰到使用者了，写在歌词条目中不就是spam了？听歌时谁去有功夫关心你的联系信息。 所以我写个命令来删除掉这些信息，落个清净，其实不难，就一个sed足矣。 sed -i -r '/^.*(qq&#124;http&#124;e-?mail).*$/Id' *.lrc 写成脚本方便以后调用。 clslrc *.lrc sed加“-i”参数直接修改文件，请自行备份。 我觉得歌词显示程序应该提供这个功能，忽略掉包含指定关键词的行。]]></description>
			<content:encoded><![CDATA[<p>网上的歌词（lrc）文件质量参差不齐，有的歌词制作者喜欢把自己的联系信息（比如QQ，邮箱，网址）写歌词条目件中，不但开头结尾都有，中间音乐过渡时也有，真的让人很烦。</p>
<p>而lrc格式本来就专门定义个“[by: XXX]”的标签来记录歌词制作者信息，这标签默认不会显示，也就不会骚扰到使用者了，写在歌词条目中不就是spam了？听歌时谁去有功夫关心你的联系信息。</p>
<p>所以我写个命令来删除掉这些信息，落个清净，其实不难，就一个sed足矣。<span id="more-2685"></span></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">-r</span> <span style="color: #ff0000;">'/^.*(qq|http|e-?mail).*$/Id'</span> <span style="color: #000000; font-weight: bold;">*</span>.lrc</pre></div></div>

<p>写成<a href="https://code.google.com/p/muzuiget-toolbox/source/browse/trunk/shell_scripts/clslrc.sh">脚本</a>方便以后调用。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">clslrc <span style="color: #000000; font-weight: bold;">*</span>.lrc</pre></div></div>

<p>sed加“-i”参数直接修改文件，请自行备份。</p>
<p>我觉得歌词显示程序应该提供这个功能，忽略掉包含指定关键词的行。</p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/clear_lyric_file_script_clslrc/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>多合一小型Linux光盘201007版</title>
		<link>http://qixinglu.com/archives/release_nin1linuxcd_201007?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=release_nin1linuxcd_201007</link>
		<comments>http://qixinglu.com/archives/release_nin1linuxcd_201007#comments</comments>
		<pubDate>Tue, 06 Jul 2010 23:56:23 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[软件介绍]]></category>
		<category><![CDATA[LiveCD]]></category>
		<category><![CDATA[Nin1LinuxCD]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2639</guid>
		<description><![CDATA[距离上一次发布的200903版都一年有多了吧，那时还叫RC，说要写文档，结果没写成，我是很懒的，尽情鄙视我吧。一年来我都没有怎么研究过的，我研究这方面技术主要是想整合一个维护盘（尤其是PE和GHOST），刻了张盘，一年来被各种问题电脑磨损到报废程度，所以例行更新一下。 依然采用grub4dos，Linuxtoy也曾经介绍过一个MultiCD的脚本，试了一下，用的是isolinux，合并每个镜像为一个菜单，个人还是喜欢grub4dos多个菜单，据说grub4dos支持png的背景了，但是还是没怎么研究，简单依然是王道。不过改写isolinux菜单为grub4dos菜单还是要花点功夫的，也写个小程序来自动完成，不过写得不太完善，放弃了。 下载 原本使用的是UbuntuCN的FTP空间，UbuntuCN被出国后，FTP空间取消了，我就转到Dropbox，结果又外链流量超标了，帐号被挂起，我放到电驴上，又有人说很难连上，唉。所以我这次就不放整盘了。估计下载都是研究多重引导的吧，直接包含linux文件没怎么必要了，只给基本需要的文件做镜像。 现在放到我的Google Code上，才7M多点。 更新 我又把所支持的linux换回英文了，移除了Prayaya，添加了个比较精致的Tiny Core Liunx。因为不打算包含发行版的文件，所以是不是采用国内爱好者汉化过的集成版没什么所谓了，只要汉化版不是改动了目录结构，它们的引导菜单都是通用了，本镜像只是提供一个思路，鼓励自己修改和定制。 基本的文件更新如下： grub4dos更新为0.4.4，2009-3-31版。 更新了引导菜单和背景，并重新整理了“grub”文件夹。 freedos镜像中的testdisk和photorec更新为6.11.3。 虚拟磁盘memdisk更新为4.01。 内存检测工具memtest86+更新为4.10。 Super Grub Disk更新为1.30。 添加Linux Linux的文件需要你自己添加，基本镜像已经包含必要文件，简单用法就是解压镜像，修改后就运行解压后的镜像文件夹里的”tools/make_iso/make_iso.sh”（windows是“make_iso.bat”），这就自动打包修改后的镜像为可引导镜像，详细方法可以看这篇文章。 下面的“测试镜像”是指我制作这版本所用的linux镜像，一般来说，小版本号更新都会适用的。“cd_root”是指Nin1LinuxCD基本镜像解压后的文件夹名称，当你完成添加后，需要重新打包。添加DOS、PE、GHOST依然如之前的方法。 Parted Magic 测试镜像为“pmagic-4.11.iso”，把镜像里的“boot”文件夹移动到“pmagic”里，然后把“pmagic”复制到“cd_root”目录下。 提示：Parted Magic4.1版后已经有中文字体了，很实用。 Geexbox 也可以选我汉化的中文版，测试文件为“geexbox-1.2.4-custom-zh_CN.i386.iso”，这个比较麻烦点，还需要下载“GeeXboX Win32 Installer”，使用这个安装器在windows下安装到C盘， 把“C:\GEEXBOX”复制到“cd_root”目录下。 因为直接复制光盘镜像的那个“GEEXBOX”文件夹启动失败，或许是光盘标签改变了，引导脚本找不到所需文件，而那个安装器不知做了什么修改，所创建的“GEEXBOX”却没有问题。 CDLinux 测试镜像为“CDlinux-0.9.6.1.iso”，直接把镜像的“CDLinux”复制到到“cd_root”目录下即可。 Slax 测试镜像为“slax-6.1.2.iso”，把镜像里的“boot”文件夹移动到“slax”里，然后把“slax”复制到“cd_root”目录下。 Puppy 测试镜像为“lupu-501.iso”，把镜像中的“lupu-501.sfs“复制到”cd_root”目录下，并在“cd_root”里新建一个“puppy”文件夹，把镜像其余文件都放进“puppy”里面。 Slitaz &#8230; <a href="http://qixinglu.com/archives/release_nin1linuxcd_201007">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>距离上一次发布的<a href="http://qixinglu.com/archives/nin1linux_0903">200903版</a>都一年有多了吧，那时还叫RC，说要写文档，结果没写成，我是很懒的，尽情鄙视我吧。一年来我都没有怎么研究过的，我研究这方面技术主要是想整合一个维护盘（尤其是PE和GHOST），刻了张盘，一年来被各种问题电脑磨损到报废程度，所以例行更新一下。</p>
<p><img src="https://images2-focus-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Fdl.dropbox.com%2Fu%2F2992664%2Fblog%2F2010%2Frelease_nin1linuxcd_201007.png&container=focus&gadget=a&no_expand=1&resize_h=0&rewriteMime=image%2F*" alt="引导菜单截图" /><span id="more-2639"></span></p>
<p>依然采用grub4dos，Linuxtoy也曾经介绍过一个<a href="http://linuxtoy.org/archives/multicd.html">MultiCD的脚本</a>，试了一下，用的是isolinux，合并每个镜像为一个菜单，个人还是喜欢grub4dos多个菜单，据说grub4dos支持png的背景了，但是还是没怎么研究，简单依然是王道。不过改写isolinux菜单为grub4dos菜单还是要花点功夫的，也写个<a href="http://qixinglu.com/archives/release_iso2grub">小程序</a>来自动完成，不过写得不太完善，放弃了。</p>
<h3>下载</h3>
<p>原本使用的是UbuntuCN的FTP空间，UbuntuCN被出国后，FTP空间取消了，我就转到Dropbox，结果又外链流量超标了，帐号被挂起，我放到电驴上，又有人说很难连上，唉。所以我这次就不放整盘了。估计下载都是研究多重引导的吧，直接包含linux文件没怎么必要了，只给基本需要的文件做镜像。</p>
<p>现在放到我的<a href="http://code.google.com/p/muzuiget-toolbox/downloads/detail?name=Nin1LinuxCD_201007.7z">Google Code上</a>，才7M多点。</p>
<h3>更新</h3>
<p>我又把所支持的linux换回英文了，移除了Prayaya，添加了个比较精致的Tiny Core Liunx。因为不打算包含发行版的文件，所以是不是采用国内爱好者汉化过的集成版没什么所谓了，只要汉化版不是改动了目录结构，它们的引导菜单都是通用了，本镜像只是提供一个思路，鼓励自己修改和定制。</p>
<p>基本的文件更新如下：</p>
<ul>
<li>grub4dos更新为0.4.4，2009-3-31版。</li>
<li>更新了引导菜单和背景，并重新整理了“grub”文件夹。</li>
<li><a href="http://qixinglu.com/archives/share_a_freedos_image">freedos镜像</a>中的testdisk和photorec更新为6.11.3。</li>
<li>虚拟磁盘memdisk更新为4.01。</li>
<li>内存检测工具memtest86+更新为4.10。</li>
<li>Super Grub Disk更新为1.30。</li>
</ul>
<h3>添加Linux</h3>
<p>Linux的文件需要你自己添加，基本镜像已经包含必要文件，简单用法就是解压镜像，修改后就运行解压后的镜像文件夹里的”tools/make_iso/make_iso.sh”（windows是“make_iso.bat”），这就自动打包修改后的镜像为可引导镜像，详细方法可以看<a href="http://qixinglu.com/archives/rebuild_nin1linuxcd_iso">这篇文章</a>。</p>
<p>下面的“测试镜像”是指我制作这版本所用的linux镜像，一般来说，小版本号更新都会适用的。“cd_root”是指Nin1LinuxCD基本镜像解压后的文件夹名称，当你完成添加后，需要重新打包。添加DOS、PE、GHOST依然如<a href="http://qixinglu.com/archives/nin1linuxcd_add_dos_winpe_ghost">之前的方法</a>。</p>
<ul>
<li><a href="http://partedmagic.com/">Parted Magic</a></li>
<p>测试镜像为“pmagic-4.11.iso”，把镜像里的“boot”文件夹移动到“pmagic”里，然后把“pmagic”复制到“cd_root”目录下。</p>
<p>提示：Parted Magic4.1版后已经有中文字体了，很实用。</p>
<li><a href="http://www.geexbox.org/">Geexbox</a></li>
<p>也可以选我汉化的<a href="https://code.google.com/p/geexbox-chinese/">中文版</a>，测试文件为“geexbox-1.2.4-custom-zh_CN.i386.iso”，这个比较麻烦点，还需要下载“<a href="http://www.geexbox.org/download/">GeeXboX Win32 Installer</a>”，使用这个安装器在windows下安装到C盘，<br />
把“C:\GEEXBOX”复制到“cd_root”目录下。</p>
<p>因为直接复制光盘镜像的那个“GEEXBOX”文件夹启动失败，或许是光盘标签改变了，引导脚本找不到所需文件，而那个安装器不知做了什么修改，所创建的“GEEXBOX”却没有问题。</p>
<li><a href="http://www.cdlinux.info/wiki/doku.php">CDLinux</a></li>
<p>测试镜像为“CDlinux-0.9.6.1.iso”，直接把镜像的“CDLinux”复制到到“cd_root”目录下即可。</p>
<li><a href="http://www.slax.org/">Slax</a></li>
<p>测试镜像为“slax-6.1.2.iso”，把镜像里的“boot”文件夹移动到“slax”里，然后把“slax”复制到“cd_root”目录下。</p>
<li><a href="http://www.puppylinux.com/index.html">Puppy</a></li>
<p>测试镜像为“lupu-501.iso”，把镜像中的“lupu-501.sfs“复制到”cd_root”目录下，并在“cd_root”里新建一个“puppy”文件夹，把镜像其余文件都放进“puppy”里面。</p>
<li><a href="http://www.slitaz.org/">Slitaz</a></li>
<p>测试镜像为“slitaz-3.0.iso”，在“cd_root”里新建一个“slitaz”文件夹，把镜像所有文件都放进“slitaz”里面。</p>
<li><a href="http://tinycorelinux.com/">TinyCore</a></li>
<p>测试镜像为“tinycore_2.11.6.iso”，在“cd_root”里新建一个“tinycore”文件夹，把镜像所有文件都放进“tinycore”里面。
</ul>
<p>当添加完成后执行“make_iso.sh”来创建光盘镜像，当然建议刻碟之前先用虚拟机测试一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/release_nin1linuxcd_201007/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>给Google Image Proxy加个自动运行功能</title>
		<link>http://qixinglu.com/archives/google_image_proxy_interval_run?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=google_image_proxy_interval_run</link>
		<comments>http://qixinglu.com/archives/google_image_proxy_interval_run#comments</comments>
		<pubDate>Sat, 03 Jul 2010 09:02:21 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[浏览器]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Greasemonkey]]></category>
		<category><![CDATA[Proxy]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2632</guid>
		<description><![CDATA[之前写了个Google Image Proxy脚本，几行代码很实用，不过只在Greasemonkey是在页面在入后运行一次结束了，所以对于使用AJAX来动态更新的内容就无效了，比如说Google Reader，除非手动再运行一次，可以使用Bookmarklet或者Firegestures手势。 如果次数过多，手动运行比较麻烦的，如果能自动运行就好了，这样Google Reader除了视频外，文字和图片都能浏览，也能算半个代理了。想起我用的另一个google reader full feed changer有自动更新的能力，看了一下它的源代码，原理很简单，就是让页面每隔一定时间重新执行一次代码，想到另一个方法是对切换阅读条目相关对象加入事件处理，不过Google的代码混淆过，调试起来非常麻烦，所以还是用前者的方法。 新版的代码已经更新，默认已经加进对Google Reader自动运行支持，只要你在Greasemonkey加入Google Reader匹配网址“https://www.google.com/reader/view/?*”就行了。 当然我没有把代码写死，允许你添加其它网址和设置，在代码的开头有三个大写字母的变量 var INTERVAL_RUN_TIME = 5000 var INTERVAL_RUN_KEY = &#34;i&#34; var INTERVAL_RUN_URLS = &#91; //[match string, select type(0:id,1:class,2:tag), select string] &#91;&#34;www.google.com/reader/view/&#34;, 0, &#34;current-entry&#34;&#93; //[&#34;www.google.com/reader/view/&#34;, 1, &#34;entry&#34;] //[&#34;www.google.com/reader/view/&#34;, 2, &#8230; <a href="http://qixinglu.com/archives/google_image_proxy_interval_run">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>之前写了个<a href="http://qixinglu.com/archives/google_image_proxy">Google Image Proxy</a>脚本，几行代码很实用，不过只在Greasemonkey是在页面在入后运行一次结束了，所以对于使用AJAX来动态更新的内容就无效了，比如说Google Reader，除非手动再运行一次，可以使用Bookmarklet或者Firegestures手势。</p>
<p>如果次数过多，手动运行比较麻烦的，如果能自动运行就好了，这样Google Reader除了视频外，文字和图片都能浏览，也能算半个代理了。想起我用的另一个<a href="http://userscripts.org/scripts/show/19949">google reader full feed changer</a>有自动更新的能力，看了一下它的源代码，原理很简单，就是让页面每隔一定时间重新执行一次代码，想到另一个方法是对切换阅读条目相关对象加入事件处理，不过Google的代码混淆过，调试起来非常麻烦，所以还是用前者的方法。<span id="more-2632"></span></p>
<p>新版的代码<a href="http://userscripts.org/scripts/show/68761">已经更新</a>，默认已经加进对Google Reader自动运行支持，只要你在Greasemonkey加入Google Reader匹配网址“https://www.google.com/reader/view/?*”就行了。</p>
<p>当然我没有把代码写死，允许你添加其它网址和设置，在代码的开头有三个大写字母的变量</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> INTERVAL_RUN_TIME <span style="color: #339933;">=</span> <span style="color: #CC0000;">5000</span>
<span style="color: #003366; font-weight: bold;">var</span> INTERVAL_RUN_KEY <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;i&quot;</span>
<span style="color: #003366; font-weight: bold;">var</span> INTERVAL_RUN_URLS <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>
    <span style="color: #006600; font-style: italic;">//[match string, select type(0:id,1:class,2:tag), select string]</span>
    <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;www.google.com/reader/view/&quot;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;current-entry&quot;</span><span style="color: #009900;">&#93;</span>
    <span style="color: #006600; font-style: italic;">//[&quot;www.google.com/reader/view/&quot;, 1, &quot;entry&quot;]</span>
    <span style="color: #006600; font-style: italic;">//[&quot;www.google.com/reader/view/&quot;, 2, &quot;table&quot;]</span>
<span style="color: #009900;">&#93;</span></pre></div></div>

<p>意义如下</p>
<ul>
<li>“INTERVAL_RUN_TIME”是自动执行的间隔时间，单位是毫秒，5000表示每隔5秒钟执行一次。</li>
<li>“INTERVAL_RUN_KEY”表示启用和禁用自动执行功能的热键，默认是“i”</li>
<li>“INTERVAL_RUN_URLS”是自动启用自动执行的网址列表，每组三个参数，分别是匹配的网址（部分匹配）、选择器类型（1、2、3分别是id，class、tag）、选择的字符串。</li>
</ul>
<p>比如这行</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;www.google.com/reader/view/&quot;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;current-entry&quot;</span><span style="color: #009900;">&#93;</span></pre></div></div>

<p>表示当网址中有“www.google.com/reader/view/”字符串时，没过5秒对“id=current-entry”的节点执行图片地址替换代码。</p>
<p>其实选择器类型就是对应“getElementById()”，“getElementsByClassName()”，“getElementsByTagName()”的使用。如果你不知道要填什么，可以选择“body”这个tag，比如</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;the_url_sring&quot;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">2</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;body&quot;</span><span style="color: #009900;">&#93;</span></pre></div></div>

<p>热键“i”对任何页面都适用，不管你有没有在“INTERVAL_RUN_URLS”变量里设置，随时可以通过热键来启用和禁用自动执行功能。</p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/google_image_proxy_interval_run/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu下netcat的两个问题</title>
		<link>http://qixinglu.com/archives/ubuntu_two_netcat_problems?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ubuntu_two_netcat_problems</link>
		<comments>http://qixinglu.com/archives/ubuntu_two_netcat_problems#comments</comments>
		<pubDate>Tue, 22 Jun 2010 17:31:32 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[故障分析]]></category>
		<category><![CDATA[netcat]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2627</guid>
		<description><![CDATA[升级到Ubuntu10.10后，发现netcat用法有点改变，那是因为Ubuntu用OpenBSD版的netcat代替了传统版。 muzuiget:~$ ls -l `which nc` lrwxrwxrwx 1 root root 20 2010-05-25 18:19 /bin/nc -&#62; /etc/alternatives/nc muzuiget:~$ ls -l /etc/alternatives/nc lrwxrwxrwx 1 root root 15 2010-05-25 18:19 /etc/alternatives/nc -&#62; /bin/nc.openbsd “netcat“命令也是指向同一文件的，传统版的在“netcat-traditional”这个包里。 监听端口语法 在传统的nc里，监听指定端口的命令是 nc -l -p 8964 在openbsd版下就语法不对，会显示语法帮助信息。看了下手册，说”-l”和“-p”不能同时用，原来是不用“-p”参数了，”-l”后面直接带端口号 nc -l &#8230; <a href="http://qixinglu.com/archives/ubuntu_two_netcat_problems">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>升级到Ubuntu10.10后，发现netcat用法有点改变，那是因为Ubuntu用OpenBSD版的netcat代替了传统版。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">muzuiget:~$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">which</span> nc<span style="color: #000000; font-weight: bold;">`</span> 
lrwxrwxrwx <span style="color: #000000;">1</span> root root <span style="color: #000000;">20</span> <span style="color: #000000;">2010</span>-05-<span style="color: #000000;">25</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">19</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>nc -<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>alternatives<span style="color: #000000; font-weight: bold;">/</span>nc
muzuiget:~$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>alternatives<span style="color: #000000; font-weight: bold;">/</span>nc
lrwxrwxrwx <span style="color: #000000;">1</span> root root <span style="color: #000000;">15</span> <span style="color: #000000;">2010</span>-05-<span style="color: #000000;">25</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">19</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>alternatives<span style="color: #000000; font-weight: bold;">/</span>nc -<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>nc.openbsd</pre></div></div>

<p>“netcat“命令也是指向同一文件的，传统版的在“netcat-traditional”这个包里。<span id="more-2627"></span></p>
<h3>监听端口语法</h3>
<p>在传统的nc里，监听指定端口的命令是</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">nc <span style="color: #660033;">-l</span> <span style="color: #660033;">-p</span> <span style="color: #000000;">8964</span></pre></div></div>

<p>在openbsd版下就语法不对，会显示语法帮助信息。看了下手册，说”-l”和“-p”不能同时用，原来是不用“-p”参数了，”-l”后面直接带端口号</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">nc <span style="color: #660033;">-l</span> <span style="color: #000000;">8964</span></pre></div></div>

<h3>提交信息没有回复</h3>
<p>比如在标准输入构造一个http包请求google的首页</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;GET / HTTP/1.1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>  <span style="color: #000000; font-weight: bold;">|</span> nc wwww.google.com <span style="color: #000000;">80</span></pre></div></div>

<p>在Ubuntu早前的版本，命令提交后会应该显示google的返回信息的，而在10.10下却没有。再翻看手册，语法没变，用wireshark抓包，确定google有返回信息的，只是nc没显示出来就退出了。</p>
<p>百思不得其解，觉得应该是ubuntu的这个版本nc的bug，搜了下launchpad，<a href="https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/544935">果然是</a>。原因是Ubuntui修改了一些默认值，临时解决方法是加上“-q 1”参数。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;GET / HTTP/1.1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>  <span style="color: #000000; font-weight: bold;">|</span> nc <span style="color: #660033;">-q</span> <span style="color: #000000;">1</span> wwww.google.com <span style="color: #000000;">80</span></pre></div></div>

<p>这个“-q”表示标准输出没有数据持续多少秒就推出，貌似Ubuntu改成0秒了，所以还没等到google返回信息就退出了，所以让nc等多若干秒就行了。</p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/ubuntu_two_netcat_problems/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>再说最近Linux木马事件</title>
		<link>http://qixinglu.com/archives/talk_about_linux_trojan_again?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=talk_about_linux_trojan_again</link>
		<comments>http://qixinglu.com/archives/talk_about_linux_trojan_again#comments</comments>
		<pubDate>Sat, 19 Jun 2010 12:53:42 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[流水帐]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[砖家]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2609</guid>
		<description><![CDATA[话说前天我无聊吐一下袁萌的Linux木马文章槽，我还取笑他怎么老知道这种冷门新闻，看来我错了，这不是冷门新闻，而是我最近没看新闻，扫Google Reader才发现Solidot已经报道过， 然后就是各种IT信息网站的“转载”，并改成了各种危言耸听的标题。 我以为Solidot这种linux geek聚集地应该有人出来说一下事实，然而该新闻目前只有一个留言，而推特上一帮人也没有怎么讨论，倒是slashdot上就不少。或许linux geek们真的不屑去为这件事做说明，不过我之前写文章就做了点调查，那就再多说两句，供大家娱乐用。 国内转载除了袁萌的文章外，还有Solidot的，Solidot的报道是摘要式的，最后两句引用了台湾ZDnet的一篇新闻报道，就是《Linux感染惡意軟體 病毒不再是Windows獨享》这篇，它的全文也被广泛转载。这篇文章语气比袁萌的更要幸灾乐祸，明显的微软派，我说这专家水平也这么差劲了。 然而发现这篇新闻又是译文，原文是英文的ZDNet《Linux infection proves Windows malware monopoly is over; Gentoo ships backdoor》，外国专家也是这么一档次啊，不过看到上面那个“Ed Bott&#8217;s Microsoft Report”，感觉异样，Google了一下作者的名字“Ed Bott”，从结果看就知道这专家的身份如何了。 还有一个《Think Linux is free from malware? Think again; it&#8217;s been hacked》，作者是“Preston Gralla”，下面有行“Seeing Through Windows”，也试试Google这个作者。 我想用真理部的惯用词“别有用心”、“不明真相”来造句。 比较靠谱的是osnews的《Linux IRC &#8230; <a href="http://qixinglu.com/archives/talk_about_linux_trojan_again">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>话说前天我无聊<a href="http://qixinglu.com/archives/vuvuzela_yuan_meng_linux_trojan">吐一下袁萌的Linux木马文章槽</a>，我还取笑他怎么老知道这种冷门新闻，看来我错了，这不是冷门新闻，而是我最近没看新闻，扫Google Reader才发现<a href="http://linux.solidot.org/article.pl?sid=10/06/17/024243">Solidot已经报道过</a>， 然后就是各种IT信息网站的“转载”，并改成了各种危言耸听的标题。</p>
<p>我以为Solidot这种linux geek聚集地应该有人出来说一下事实，然而该新闻目前只有一个留言，而推特上一帮人也没有怎么讨论，倒是<a href="http://slashdot.org/story/10/06/13/0046256/Backdoor-Found-In-UnrealIRCd-Source-Archive">slashdot上</a>就不少。或许linux geek们真的不屑去为这件事做说明，不过我之前写文章就做了点调查，那就再多说两句，供大家娱乐用。<span id="more-2609"></span></p>
<p>国内转载除了袁萌的文章外，还有Solidot的，Solidot的报道是摘要式的，最后两句引用了台湾ZDnet的一篇新闻报道，就是<a href="http://www.zdnet.com.tw/news/software/0,2000085678,20146184,00.htm">《Linux感染惡意軟體 病毒不再是Windows獨享》</a>这篇，它的全文也被<a href="https://www.google.com/search?q=Linux%E6%84%9F%E6%9F%93%E6%83%A1%E6%84%8F%E8%BB%9F%E9%AB%94+%E7%97%85%E6%AF%92%E4%B8%8D%E5%86%8D%E6%98%AFWindows%E7%8D%A8%E4%BA%AB">广泛转载</a>。这篇文章语气比袁萌的更要幸灾乐祸，明显的微软派，我说这专家水平也这么差劲了。</p>
<p>然而发现这篇新闻又是译文，原文是英文的ZDNet<a href="http://www.zdnet.com/blog/bott/linux-infection-proves-windows-malware-monopoly-is-over-gentoo-ships-backdoor-updated/2206?tag=nl.e539">《Linux infection proves Windows malware monopoly is over; Gentoo ships backdoor》</a>，外国专家也是这么一档次啊，不过看到上面那个“Ed Bott&#8217;s Microsoft Report”，感觉异样，Google了一下作者的名字“Ed Bott”，<a href="https://www.google.com/search?q=Ed+Bott&#038;lr=lang_zh-CN|lang_zh-TW">从结果看</a>就知道这专家的身份如何了。</p>
<p>还有一个《<a href="http://blogs.computerworld.com/16316/think_linux_is_free_from_malware_think_again_its_been_hacked">Think Linux is free from malware? Think again; it&#8217;s been hacked》</a>，作者是“Preston Gralla”，下面有行“Seeing Through Windows”，也试试<a href="https://www.google.com/search?q=Preston%20Gralla&#038;lr=lang_zh-CN|lang_zh-TW">Google这个作者</a>。</p>
<p>我想用真理部的惯用词“别有用心”、“不明真相”来造句。</p>
<p>比较靠谱的是osnews的<a href="http://www.osnews.com/story/23448/Linux_IRC_Server_Gets_Trojan_Press_Harps_On_Linux_Security">《Linux IRC Server Gets Trojan, Press Harps On Linux Security》</a>。</p>
<p>所谓Linux木马就是个第三方的软件UnrealIRCd，问题是下载镜像站点的的一个源码压缩包给掉包，官网的没问题，CVS仓库也没有问题。对Linux和Windows都有影响，说Windows没有影响是官方预编译的二进制包，Linux没提供二进制包，Linux发行版多，目录结构不同，多需要自定义编译参数。ZDNet那篇文断章取义，UnrealIRCd公告里还特意把“precompiled”一词加粗了，从源码编译的话，Windows一样中标。</p>
<p>还说什么如果在Windows有杀毒软件下会被早点发现，也是扯蛋了，也是神经病，杀毒软件都没有这后门的特征码，哪会找到。</p>
<p>事实上好几个主流发行版默认都没有收录UnrealIRCd，Debian、Ubuntu、Fedora、Suse、Mandriva都没有。受影响的有Gentoo，Gentoo可能刚好从有问题的镜像上同步了源码包，不过发现问题后早就更新了。而这个程序以帐号”unrealircd“运行，详细报告可以看<a href="http://www.gentoo.org/security/en/glsa/glsa-201006-21.xml">这里</a>。</p>
<p>一个Linux/Windows都能用的非预装服务端软件，由于下载镜像的源码包被掉包，能归于为是Linux安全问题，这帮微软专家逻辑还真强大，国内IT门户编辑的工作真好当。按osnews那文结尾来的话来说：他们根不不知道他们讨论的是什么。</p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/talk_about_linux_trojan_again/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>小技巧3个：firefox、smplayer和exaile</title>
		<link>http://qixinglu.com/archives/tips_about_firefox_mplayer_exaile?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=tips_about_firefox_mplayer_exaile</link>
		<comments>http://qixinglu.com/archives/tips_about_firefox_mplayer_exaile#comments</comments>
		<pubDate>Thu, 17 Jun 2010 18:56:39 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[经验技巧]]></category>
		<category><![CDATA[exaile]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[smplayer]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2597</guid>
		<description><![CDATA[近来积累若干小技巧，单发有凑数嫌疑，于是合并发。 Ubuntu的Firefox里Google的https搜索 就是Firefox的搜索栏那个Google搜索使用https，这些教程早满天飞了，就是修改配置文件夹下面那个“search.json”文件，找到Google的地址把http修改成https，保存重启Firefox搞定。 可是这方法在Ubuntu下是不奏效的，重启后又会跳回http的，原因是ubuntu对Firefox的相关文件重新打包。在“/usr/lib/firefox-addons/”有一坨，这就解释到为什么把Amazon等搜索引擎删掉后，升级Firefox又跑回来了。要修改的是 sudo vim /usr/lib/firefox-addons/searchplugins/en-US/google.xml 目录中“en-US”应该是对应你使用的语言变量的，估计使用中文包的话应该是“zh-CN”，把文件中的3个http改成https就行了。 smplayer把字幕也附加在截图里 更新：在首选项“字幕”设置里就有这个选项了，囧死了，请无视这段。 默认设置下smplayer的截图没有包含字幕，但我就是不相信mplayer不会提供这个选项，翻手册，对ass字幕在视频滤镜“-vf”里加上“ass,screenshot”就行了，比如 mplayer -sub subtitle_file.srt -ass -vf ass,screenshot video_file.avi 对于smplayer是在设置的”高级“->“MPlayer选项”的第一栏里加上“-vf ass,screenshot”就行了。 exaile的mp3标签乱码问题 linux下的mp3乱码是个常见又恼人的问题，网上很多教程都是叫怎么用命令转换编码，这真是麻烦事，只用linux就好，相信还有不少人在用xp，转换后linux下没问题了，但又轮到windows下乱码了。 况且在墙内有偶然下散曲的习惯，下载的mp3文件的标签真是有他娘混乱就有他娘的混乱（mp3的标签标准一开始没制定好造成今日混乱的局面），我甚至发现我有的mp3的title标签使用shift_jis编码，而artist却用gbk编码。 所以单靠转换是不行的，所以，直接让播放器识别这些编码才是王道，ubuntu的默认播放器是rhythmbox，由C写成的，改起来很麻烦，而且我对它的布局颇有不爽，因此出局，所以我用pygtk的exaile。 exaile的mp3编码问题早有人想开发组反馈过，不过人家说还要讨论（还讨论毛，完全没体会到天朝人民生活在各种编码的水深火热之中），因此只能做些Dirty Hack了。 其实那个bug页面和exaile-cn项目就有补丁解决了，才几行代码而已。然而我有些mp3实在过于诡异，还会有乱码，经研究是这个mp3做得不太标准，mutagen这个处理mp3标签的库没处理好，有部分字符没能处理，便宣告失败，出现乱码。因此我做了点改动，让它忽略掉无法处理的字符，就显示能处理的字符好了。 更新：新补丁代码对网络地址同样有效。 改过后补丁依然放到我的Google Code上，执行下列命令使用 wget http://bit.ly/beqzn0 sudo patch /usr/lib/exaile/xl/trax/track.py exaile_tag_encode.patch rm ~/.local/share/exaile/music.db 最后一行是删除exiale的缓存数据库，让它重新从mp3中读取标签，不然的话播放列表依然乱码。 希望mp3和各种非unicode编码等混帐东西早日从地球上消失。]]></description>
			<content:encoded><![CDATA[<p>近来积累若干小技巧，单发有凑数嫌疑，于是合并发。</p>
<h3>Ubuntu的Firefox里Google的https搜索</h3>
<p>就是Firefox的搜索栏那个Google搜索使用https，这些教程早满天飞了，就是修改配置文件夹下面那个“search.json”文件，找到Google的地址把http修改成https，保存重启Firefox搞定。</p>
<p>可是这方法在Ubuntu下是不奏效的，重启后又会跳回http的，原因是ubuntu对Firefox的相关文件重新打包。在“/usr/lib/firefox-addons/”有一坨，这就解释到为什么把Amazon等搜索引擎删掉后，升级Firefox又跑回来了。要修改的是</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>firefox-addons<span style="color: #000000; font-weight: bold;">/</span>searchplugins<span style="color: #000000; font-weight: bold;">/</span>en-US<span style="color: #000000; font-weight: bold;">/</span>google.xml</pre></div></div>

<p>目录中“en-US”应该是对应你使用的语言变量的，估计使用中文包的话应该是“zh-CN”，把文件中的3个http改成https就行了。<span id="more-2597"></span></p>
<h3>smplayer把字幕也附加在截图里</h3>
<p><strong>更新：</strong>在首选项“字幕”设置里就有这个选项了，囧死了，请无视这段。</p>
<p>默认设置下smplayer的截图没有包含字幕，但我就是不相信mplayer不会提供这个选项，翻手册，对ass字幕在视频滤镜“-vf”里加上“ass,screenshot”就行了，比如</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mplayer</span> <span style="color: #660033;">-sub</span> subtitle_file.srt <span style="color: #660033;">-ass</span> <span style="color: #660033;">-vf</span> ass,screenshot video_file.avi</pre></div></div>

<p>对于smplayer是在设置的”高级“->“MPlayer选项”的第一栏里加上“-vf ass,screenshot”就行了。</p>
<p><img src="https://images2-focus-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2Fdl.dropbox.com%2Fu%2F2992664%2Fblog%2F2010%2Ftips_about_firefox_mplayer_exaile.jpg&container=focus&gadget=a&no_expand=1&resize_h=0&rewriteMime=image%2F*" alt="smplayer截图带字幕" style="width: 640px"/></p>
<h3>exaile的mp3标签乱码问题</h3>
<p>linux下的mp3乱码是个常见又恼人的问题，网上很多教程都是叫怎么用命令转换编码，这真是麻烦事，只用linux就好，相信还有不少人在用xp，转换后linux下没问题了，但又轮到windows下乱码了。</p>
<p>况且在墙内有偶然下散曲的习惯，下载的mp3文件的标签真是有他娘混乱就有他娘的混乱（mp3的标签标准一开始没制定好造成今日混乱的局面），我甚至发现我有的mp3的title标签使用shift_jis编码，而artist却用gbk编码。</p>
<p>所以单靠转换是不行的，所以，直接让播放器识别这些编码才是王道，ubuntu的默认播放器是rhythmbox，由C写成的，改起来很麻烦，而且我对它的布局颇有不爽，因此出局，所以我用pygtk的exaile。</p>
<p>exaile的mp3编码问题早有人想开发组反馈过，不过人家说<a href="https://bugs.launchpad.net/exaile/+bug/135985">还要讨论</a>（还讨论毛，完全没体会到天朝人民生活在各种编码的水深火热之中），因此只能做些Dirty Hack了。</p>
<p>其实那个bug页面和<a href="http://code.google.com/p/exaile-cn/">exaile-cn</a>项目就有补丁解决了，才几行代码而已。然而我有些mp3实在过于诡异，还会有乱码，经研究是这个mp3做得不太标准，<a href="http://code.google.com/p/mutagen/">mutagen</a>这个处理mp3标签的库没处理好，有部分字符没能处理，便宣告失败，出现乱码。因此我做了点改动，让它忽略掉无法处理的字符，就显示能处理的字符好了。</p>
<p><strong>更新：</strong>新补丁代码对网络地址同样有效。</p>
<p>改过后补丁依然放到<a href="https://code.google.com/p/muzuiget-toolbox/source/browse/trunk/patch/exaile_tag_encode.patch">我的Google Code上</a>，执行下列命令使用</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>bit.ly<span style="color: #000000; font-weight: bold;">/</span>beqzn0
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">patch</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>exaile<span style="color: #000000; font-weight: bold;">/</span>xl<span style="color: #000000; font-weight: bold;">/</span>trax<span style="color: #000000; font-weight: bold;">/</span>track.py exaile_tag_encode.patch
<span style="color: #c20cb9; font-weight: bold;">rm</span> ~<span style="color: #000000; font-weight: bold;">/</span>.local<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>exaile<span style="color: #000000; font-weight: bold;">/</span>music.db</pre></div></div>

<p>最后一行是删除exiale的缓存数据库，让它重新从mp3中读取标签，不然的话播放列表依然乱码。</p>
<p>希望mp3和各种非unicode编码等混帐东西早日从地球上消失。</p>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/tips_about_firefox_mplayer_exaile/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>吐一下袁萌的Linux木马文章槽</title>
		<link>http://qixinglu.com/archives/vuvuzela_yuan_meng_linux_trojan?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=vuvuzela_yuan_meng_linux_trojan</link>
		<comments>http://qixinglu.com/archives/vuvuzela_yuan_meng_linux_trojan#comments</comments>
		<pubDate>Wed, 16 Jun 2010 22:32:07 +0000</pubDate>
		<dc:creator>muzuiget</dc:creator>
				<category><![CDATA[流水帐]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[吐嘈]]></category>
		<category><![CDATA[木马]]></category>

		<guid isPermaLink="false">http://qixinglu.com/?p=2571</guid>
		<description><![CDATA[这几天看世界杯作息颠倒，漫漫长夜无心睡眠，顺便给开源软件做点翻译，翻译之余灭几篇GR文章，在列表模式扫视时，发现这标题《袁萌:Linux木马（Trojan）跑出来了》大亮，娱乐网站的提供我感兴趣的娱乐文章的文章，必须一看。 看袁萌的文章早就想这次会不会又提到他的U盘，看到最后一段还是没有令我失望。虽然有道是“认真你就输了”，还有被告诫要尊重老人，但这篇文章实在吐嘈点实在太多了，如鲠在喉不吐不快，反正也是无聊。 为了确保没吐错对象，找了袁萌的原文再看一遍，应该是新浪这篇吧。 对袁老爷的措辞我就不好说什么了，人家有人家的风格。不过对标点用法我就有点意见，加引号应该是有另外特别意思，不过联系上下文，怎么看“后门”和“checksum”都不觉有特别意思，就是原意啊。还有“Sophos实验室”，“Linux实验室”用书名号框起来也有点怪怪的，这种标点用法有装逼嫌疑。 好了，言归正传。对于说Linux木马问题，却没有提供新闻来源一个链接，我深深怀疑，也奇怪为什么袁老爷总是能知道不少这种很冷门新闻，到底哪里来的？看得《流言终结者》多了，我也有点考据癖，于是对文章提到的内容做了考查。 先来看那个“UnrealLIRC.com”网站，我Google了一下，结果是Google提示我是不是“unrealircd.com”，结果几乎全是袁老爷这篇文章，袁老爷是打错了，还是炮制假新闻？不过相信袁老爷的人品不会那么差的，点开了ww.unrealircd.com看，发现这篇《Some versions of Unreal3.2.8.1.tar.gz contain a backdoor》公告，确实是这个网站了，没错了。 那个网站是UnrealIRCd，分开看应该是“Unreal IRC d”，“d”应指daemon，也就是个IRC的的服务端，很好记，不过这都打错也太不必了吧。 看完那篇公告后，还真不像袁老爷在文章说的一回事。 6月12日，UnrealLIRC.com网站管理员垂头丧气地出来承认，他们的Unix/Linux源代码库（下载源）遭到了恶人破坏，被偷偷地篡改了一个源代码文件，里面留下一个“后门”，随着下载，跑出去一只木马（Trojan），并且说，这个情况是去年9月份发生的。 根据公告的内容（前提我没理解错） 有问题的只有“Unreal3.2.8.1.tar.gz”一个文件 这个后门能以运行ircd的帐号权限执行任意命令 被替换日期是09年的11月10号 官方预编译的二进制版本安全 CVS代码仓库安全 比3.2.8更早的版本安全 在09年的11月10号前下载“Unreal3.2.8.1.tar.gz”的也可能安全。 因此袁萌的文章说法很有问题。 不是9月份，我在那公告没有找到“Sep”关键词，是11月份。 后门只能以运行ircd的帐号执行命令，除非是通过下载来运行另一个木马，不然破坏性还是有限。 源代码库没问题，而是仅仅一个源代码压缩包被替换，实际上这个网站也没有所谓软件仓库的下载源。 这个程序还是支持Windows的，并非单单Linux，不过既然是Linux，Unix的也可能编译运行。 所以这问题说Linux有木马一点关系都没有，明明是是个irc软件问题。严格来说Linux是指内核，不过去搞Linus领导的那帮神仙的代码仓库纯粹找死。一般来说Linux是指发行版，但这个网站根本不提供软件仓库更新，哪来威胁？而且这个软件也有Windows版本，为什么单单说Linux？ 时至今日，半年多时间已经过去了，也不知这只木马跑到了哪些地方，危害有多大？被感染的文件名，怎么用“checksum”检查它的真伪，在此我们就不去细说了，请见：”Linux Trojan rears its ugly head”一文。总结起来说，这件事情是怎么发生的？澳大利亚《Sophos实验室》专家Peter Szabo指出，这个事故完全是网站管理员的工作失误所造成的，不是Linux本身有漏洞。 叫人去看《Linux Trojan &#8230; <a href="http://qixinglu.com/archives/vuvuzela_yuan_meng_linux_trojan">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>这几天看世界杯作息颠倒，漫漫长夜无心睡眠，顺便给开源软件做点翻译，翻译之余灭几篇GR文章，在列表模式扫视时，发现这标题<a href="http://www.cnbeta.com/articles/113970.htm">《袁萌:Linux木马（Trojan）跑出来了》</a>大亮，娱乐网站的提供我感兴趣的娱乐文章的文章，必须一看。</p>
<p>看袁萌的文章早就想这次会不会又提到他的U盘，看到最后一段还是没有令我失望。虽然有道是“认真你就输了”，还有被告诫要尊重老人，但这篇文章实在吐嘈点实在太多了，如鲠在喉不吐不快，反正也是无聊。</p>
<p>为了确保没吐错对象，找了袁萌的原文再看一遍，应该是<a href="http://blog.sina.com.cn/s/blog_4e8581890100jl1p.html">新浪这篇</a>吧。<span id="more-2571"></span></p>
<p>对袁老爷的措辞我就不好说什么了，人家有人家的风格。不过对标点用法我就有点意见，加引号应该是有另外特别意思，不过联系上下文，怎么看“后门”和“checksum”都不觉有特别意思，就是原意啊。还有“Sophos实验室”，“Linux实验室”用书名号框起来也有点怪怪的，这种标点用法有装逼嫌疑。</p>
<p>好了，言归正传。对于说Linux木马问题，却没有提供新闻来源一个链接，我深深怀疑，也奇怪为什么袁老爷总是能知道不少这种很冷门新闻，到底哪里来的？看得《流言终结者》多了，我也有点考据癖，于是对文章提到的内容做了考查。</p>
<p>先来看那个“UnrealLIRC.com”网站，我<a href="https://www.google.com/search?&#038;q=UnrealLIRC.com">Google了一下</a>，结果是Google提示我是不是“unrealircd.com”，结果几乎全是袁老爷这篇文章，袁老爷是打错了，还是炮制假新闻？不过相信袁老爷的人品不会那么差的，点开了<a href="http://www.unrealircd.com/">ww.unrealircd.com</a>看，发现这篇<a href="http://forums.unrealircd.com/viewtopic.php?t=6562">《Some versions of Unreal3.2.8.1.tar.gz contain a backdoor》</a>公告，确实是这个网站了，没错了。</p>
<p>那个网站是UnrealIRCd，分开看应该是“Unreal IRC d”，“d”应指daemon，也就是个IRC的的服务端，很好记，不过这都打错也太不必了吧。</p>
<p>看完那篇公告后，还真不像袁老爷在文章说的一回事。</p>
<blockquote><p>6月12日，UnrealLIRC.com网站管理员垂头丧气地出来承认，他们的Unix/Linux源代码库（下载源）遭到了恶人破坏，被偷偷地篡改了一个源代码文件，里面留下一个“后门”，随着下载，跑出去一只木马（Trojan），并且说，这个情况是去年9月份发生的。</p></blockquote>
<p>根据公告的内容（前提我没理解错）</p>
<ul>
<li>有问题的只有“Unreal3.2.8.1.tar.gz”一个文件</li>
<li>这个后门能以运行ircd的帐号权限执行任意命令</li>
<li>被替换日期是09年的11月10号</li>
<li>官方预编译的二进制版本安全</li>
<li>CVS代码仓库安全</li>
<li>比3.2.8更早的版本安全</li>
<li>在09年的11月10号前下载“Unreal3.2.8.1.tar.gz”的也可能安全。</li>
</ul>
<p>因此袁萌的文章说法很有问题。</p>
<ul>
<li>不是9月份，我在那公告没有找到“Sep”关键词，是11月份。</li>
<li>后门只能以运行ircd的帐号执行命令，除非是通过下载来运行另一个木马，不然破坏性还是有限。</li>
<li>源代码库没问题，而是仅仅一个源代码压缩包被替换，实际上这个网站也没有所谓软件仓库的下载源。</li>
<li>这个程序还是支持Windows的，并非单单Linux，不过既然是Linux，Unix的也可能编译运行。</li>
</ul>
<p>所以这问题说Linux有木马一点关系都没有，明明是是个irc软件问题。严格来说Linux是指内核，不过去搞Linus领导的那帮神仙的代码仓库纯粹找死。一般来说Linux是指发行版，但这个网站根本不提供软件仓库更新，哪来威胁？而且这个软件也有Windows版本，为什么单单说Linux？</p>
<blockquote><p>时至今日，半年多时间已经过去了，也不知这只木马跑到了哪些地方，危害有多大？被感染的文件名，怎么用“checksum”检查它的真伪，在此我们就不去细说了，请见：”Linux Trojan rears its ugly head”一文。总结起来说，这件事情是怎么发生的？澳大利亚《Sophos实验室》专家Peter Szabo指出，这个事故完全是网站管理员的工作失误所造成的，不是Linux本身有漏洞。</p></blockquote>
<p>叫人去看《Linux Trojan rears its ugly head》却又不带链接，又有装逼嫌疑。我搜了一下，原文应该是<a href="http://www.sophos.com/blogs/chetw/g/2010/06/12/linux-malware-rears-ugly-head/">这里</a>，提到的后门是<a href="http://www.sophos.com/security/analyses/viruses-and-spyware/trojunirca.html">这个</a>，文章里说UnrealIRCd这问题有几个原因</p>
<ul>
<li>管理员没有监视文件的修改</li>
<li>下载没有提供校验码</li>
<li>镜像也没有做校验</li>
</ul>
<p>现在的UnrealIRCd提供校验码，还使用PGP签名。事实上Linux的软件仓库本来就这么做的，Ubuntu更新软件，签名不对，提示你，不过你要继续安装是你的事。</p>
<p>那个UnrealIRCd网站，我看了下header，用的是Debian的lenny，没有提到有什么漏洞，估计就是管理员被社工给人拿了帐号替换了源代码文件，内部问题，有不是从外部入侵。要是普通用户中这个后门，要做到</p>
<ul>
<li>有需要搭建IRC服务</li>
<li>不从仓库获取，不要二进制，从源码编译。</li>
<li>下载源码后没验证检验码，无视各种签名</li>
<li>顺列搞定编译依赖，编译完成</li>
<li>以高权限运行</li>
<li>等待被远程攻击者控制执行其它命令</li>
</ul>
<p>我觉得这是一个很普通的问题，相信比这危害的问题多的是，比如谈论好多次“sudo rm -rf /”，许多什么Linux被入侵、Linux有木马最后都被归为用户个人习惯问题。即使是Windows，我也是认为用户习惯问题的。不过袁老爷可以领悟出</p>
<blockquote><p>Linux是源代码公开的操作系统，里面怎么会跑出一只木马？简直是荒唐透顶之事！这是怎么搞的？</p></blockquote>
<blockquote><p>在Linux世界里面，这是破天荒第一遭。荒唐，荒唐，简直是荒唐之极，网站管理员你吃的什么饭？</p></blockquote>
<blockquote><p>这个事故同时也给全球Linux用户敲响一次警钟：Linux不是对木马、病毒自然免疫的。</p></blockquote>
<blockquote><p>Linux系统跑出木马的故事教训了我们，不要以为Linux对病毒、木马具有自然的免疫力，Linux管理上就可以松松垮垮，麻痹大意。</p></blockquote>
<p>我也佩服了，不知道推特上各种折腾帝看到后有没有感到压力很大。</p>
<blockquote><p>幸亏Linux下载源没有在中国境内，否则，网站的管理员听小科长的一句话，就会把Linux源代码文件改了，加上“自主”两字，因为，我国境内的服务器必须服从国内的法律、法规。</p></blockquote>
<p>网易、搜狐、LUPA，还有各个大学都有多种Linux软件仓库镜像，唉，原来它们都不在中国境内。我真怀疑您老能不能自己完整安装和配置一次Ubuntu。这个“小科长”应该是老大哥吧。后面那句您在暗讽某旗还是某风？</p>
<blockquote><p>平日，我们使用Linux，有人总是喜欢挑三拣四，嘴里面嘟嘟囔囔的。</p></blockquote>
<blockquote><p>我们置身事外，就别再多说什么了。</p></blockquote>
<p>联系您老这篇文章，有点悖论的味道。</p>
<blockquote><p>我此刻在想一个问题，建立一个流动性的《Linux实验室》，像个大篷车，一辆小面包拉起来就能走，到达目的地，半小时以内就可系统安装完毕，U盘一插就开练。《Linux实验室》就像播种机，宣传队，要把自由软件（放入U盘）传播到祖国的四面八方，尤其是广大农村。我最喜欢看现代农村连续剧，农村生活非常质朴、真实，没有城市人心里面的那些“鬼主意”和 “傲气”。我很可惜自己没有一位农村的亲人，人老了怕是回不到农村，那里是养育我们的土地母亲！</p></blockquote>
<p>话题真飘忽，我到这里无力吐嘈了，又见U盘，你赢了。</p>
<p>以后就继续歌照唱，舞照跳，看看娱乐的文章哈哈哈笑好了。</p>
<p><strong>更新：</strong>，因为是吐嘈文语气要连贯，就不在原文里改了，就这里补充。</p>
<ul>
<li>这新闻在外国的一些linux网站也有报道的，不算是冷门，只是我最近没怎么看GR而已（早已1000+了）。</li>
<li>我也看的不够仔细，被替换的文件是在镜像网站的那份，并非官方的服务器，总之是至少有一个镜像站被替换过。</li>
<li>顺便诅咒一下这个<a href="http://www.linuxidc.com/Linux/2010-06/26724.htm">垃圾站</a>。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://qixinglu.com/archives/vuvuzela_yuan_meng_linux_trojan/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
