<?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; ubuntu</title>
	<atom:link href="http://www.adamjiang.com/archives/tag/ubuntu/feed" rel="self" type="application/rss+xml" />
	<link>http://www.adamjiang.com</link>
	<description>长脑袋的个人博客</description>
	<lastBuildDate>Tue, 15 May 2012 16:53:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Windows的Copycat及其他</title>
		<link>http://www.adamjiang.com/archives/1125</link>
		<comments>http://www.adamjiang.com/archives/1125#comments</comments>
		<pubDate>Sun, 13 May 2012 14:45:27 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[技术漫谈]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[源代码]]></category>
		<category><![CDATA[自由]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/?p=1125</guid>
		<description><![CDATA[Ubuntu 12.04发布以后，这个Linux发行版就彻底地让我失望了。臃肿的身躯加上人机交互混沌的令人发指的Unity桌面，已经跟我需要的Linux桌面系统已经相去甚远。沙扬挪拉，Ubuntu。作为一个从6.04开始使用Ubuntu的用户，我不得不跟这个桌面系统说一声再见了。不是因为它在Xeon(R) CPU E31240 + Dual-channel 8GB内存的PC上居然启动的比Windows 7还慢，也不是因为它让我连应用程序菜单在哪里都找不到，只是因为它越来越像一个Windows的Copycat。 也许Ubuntu深受很多从Windows系统迁移过来的超级用户喜爱，但是它却已经失去了很多真正的Linux Users。Linux用户与Windows用户最根本区别的在于，前者确切地知道自己真正需要什么并且知道如何获得和实现他们自身的需要——因为开源软件提供了这种自由，而后者则恰恰相反。Windows从诞生以来就是救世主，它给你一切，让你毫不怀疑的享受这种安逸，让你无法主动地寻找自己的真正需要。由此，它越来臃肿越来越庞大越来越多的消耗更多的包括硬盘，内存和计算能力在内的系统资源。其实我并不单独厌恶Windows的这种给与和扩张，因为几乎所有的商业软件都具有极强的扩张性——比如很多字处理软件都包含拼写检查这个重复的功能，而我真正厌恶的是它对用户自由的侵害。为什么这么说？因为它们将用户假设为无法学习的群体，与Windows交互的最宏观的过程可以总结为“You pay, you go”。所有的软件问题都是需要钱才能解决，而且最根本的这些问题只能由拥有源代码的私有公司解决。这是最基础的假设。如果说，对于一个家庭主妇或者某位非计算机行业/专业人士，这大概没有什么问题。但是，在这种环境之中成长起来的程序员却会慢慢失去学习的意愿和能力。如果你想用“我要将目光集中到我自己的业务上去”这样的话来辩驳的时候，你已经错了，如果你是一位程序员的话。因为那些用来调查和调整系统错误的时间——所谓的“浪费”——事实上一种必备的能力。因为你需要知道计算机的一切！ “&#8230;&#8230;，我从来不把安逸和快乐看作是生活目的的本身——这种伦理基础我叫它猪栏理想。” ——爱因斯坦 对一个人来说，停止思考之日便是他的死亡之时。对程序员来说更是如此。闭源软件正在带着停止思考的你我渐渐死去。 Ubuntu有了软件商店，这是一件好事。它本来有机会开拓一个新的开源软件的开发模式。但不幸的是它却偏离的开放源代码软件的初衷。开源软件真正的意义在于“开放源代码”！而不是“免费”。假设，你买到Photoshop套件的同时可以获得它的源码，难道你不开心么，难道你不想要这样的软件么？我想有人会提到“盗版”。看上去会很复杂，但“盗版”和开源事实上不是同一个命题。闭源软件同样会被盗版。真正保护版权的是适当的法律和严格的执行。不要跟我提中国市场上猖獗的盗版，因为中国软件市场，软件人才事实上是被上述猪栏思想和猖獗的盗版所戕害的。 没有哪个商业操作系统或者Linux发行版能够提供给你那个你确切需要的软件平台。只有自己动手，对，就是自己动手，你才有可能重新控制并且掌握你的计算机，才能享受到开源软件提供给你的自由。Ubuntu 6.04推出的时候，它最成功的地方不是它的liveCD，而是那个有大约3000多行的HOWTO——一个简洁明快的Wikipage。它提供给用户一个运行良好的基础系统，并且提供了多达2万的可选软件包。它还写了一份翔实的文档帮助你定制自己的系统。这就是最初的Ubuntu。如果它要模范Windows，或者像Mac OS那样仅仅将开源软件作为架子想“给用户一切”，那它就完全错了。 一声看似潇洒的沙扬挪拉不会解决任何问题。作为一个Linux User我只有自己救自己。]]></description>
			<content:encoded><![CDATA[<p>Ubuntu 12.04发布以后，这个Linux发行版就彻底地让我失望了。臃肿的身躯加上人机交互混沌的令人发指的Unity桌面，已经跟我需要的Linux桌面系统已经相去甚远。沙扬挪拉，Ubuntu。作为一个从6.04开始使用Ubuntu的用户，我不得不跟这个桌面系统说一声再见了。不是因为它在Xeon(R) CPU E31240 + Dual-channel 8GB内存的PC上居然启动的比Windows 7还慢，也不是因为它让我连应用程序菜单在哪里都找不到，只是因为它越来越像一个Windows的Copycat。</p>
<p>也许Ubuntu深受很多从Windows系统迁移过来的超级用户喜爱，但是它却已经失去了很多真正的Linux Users。Linux用户与Windows用户最根本区别的在于，前者确切地知道自己真正需要什么并且知道如何获得和实现他们自身的需要——因为开源软件提供了这种自由，而后者则恰恰相反。Windows从诞生以来就是救世主，它给你一切，让你毫不怀疑的享受这种安逸，让你无法主动地寻找自己的真正需要。由此，它越来臃肿越来越庞大越来越多的消耗更多的包括硬盘，内存和计算能力在内的系统资源。其实我并不单独厌恶Windows的这种给与和扩张，因为几乎所有的商业软件都具有极强的扩张性——比如很多字处理软件都包含拼写检查这个重复的功能，而我真正厌恶的是它对用户自由的侵害。为什么这么说？因为它们将用户假设为无法学习的群体，与Windows交互的最宏观的过程可以总结为“You pay, you go”。所有的软件问题都是需要钱才能解决，而且最根本的这些问题只能由拥有源代码的私有公司解决。这是最基础的假设。如果说，对于一个家庭主妇或者某位非计算机行业/专业人士，这大概没有什么问题。但是，在这种环境之中成长起来的程序员却会慢慢失去学习的意愿和能力。如果你想用“我要将目光集中到我自己的业务上去”这样的话来辩驳的时候，你已经错了，如果你是一位程序员的话。因为那些用来调查和调整系统错误的时间——所谓的“浪费”——事实上一种必备的能力。因为你需要知道计算机的一切！</p>
<p style="background-color: #B8B8B8">
“&#8230;&#8230;，我从来不把安逸和快乐看作是生活目的的本身——这种伦理基础我叫它猪栏理想。” ——爱因斯坦
</p>
<p>对一个人来说，停止思考之日便是他的死亡之时。对程序员来说更是如此。闭源软件正在带着停止思考的你我渐渐死去。</p>
<p>Ubuntu有了软件商店，这是一件好事。它本来有机会开拓一个新的开源软件的开发模式。但不幸的是它却偏离的开放源代码软件的初衷。开源软件真正的意义在于“开放源代码”！而不是“免费”。假设，你买到Photoshop套件的同时可以获得它的源码，难道你不开心么，难道你不想要这样的软件么？我想有人会提到“盗版”。看上去会很复杂，但“盗版”和开源事实上不是同一个命题。闭源软件同样会被盗版。真正保护版权的是适当的法律和严格的执行。不要跟我提中国市场上猖獗的盗版，因为中国软件市场，软件人才事实上是被上述猪栏思想和猖獗的盗版所戕害的。</p>
<p>没有哪个商业操作系统或者Linux发行版能够提供给你那个你确切需要的软件平台。只有自己动手，对，就是自己动手，你才有可能重新控制并且掌握你的计算机，才能享受到开源软件提供给你的自由。Ubuntu 6.04推出的时候，它最成功的地方不是它的liveCD，而是那个有大约3000多行的HOWTO——一个简洁明快的Wikipage。它提供给用户一个运行良好的基础系统，并且提供了多达2万的可选软件包。它还写了一份翔实的文档帮助你定制自己的系统。这就是最初的Ubuntu。如果它要模范Windows，或者像Mac OS那样仅仅将开源软件作为架子想“给用户一切”，那它就完全错了。</p>
<p>一声看似潇洒的沙扬挪拉不会解决任何问题。作为一个Linux User我只有自己救自己。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/1125/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>配置Ubuntu Jaunty和双显示器一起工作</title>
		<link>http://www.adamjiang.com/archives/643</link>
		<comments>http://www.adamjiang.com/archives/643#comments</comments>
		<pubDate>Sat, 18 Jul 2009 10:18:56 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[Linux tips]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Dual Monitor]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[GFX]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/?p=643</guid>
		<description><![CDATA[OK. 这一篇的主旨只是为了记录我解决问题的过程。 关闭FrameBuffer设备 上周星期五，我以一千元人民币的价格淘到了垂涎已久的22存高清显示器。今天早晨送到家里，我自然是兴奋不已的打开看了。Ubuntu Jaunty启动之后可以很顺利的识别外接显示器，但是外接显示器的分辨率却不正确。使用xrandr查看，发现整个设备的大小受到限制。Thinkpad X61的spec上写的很清楚，整个图形卡的最大可表现区域是因该是外接显示器于笔记本固有显示器面积的总和，也就是2944&#215;1080。使用xrandr -q查看，发现这个最大值并没有被正确设置。less /etx/X11/xorg.conf看到，配置文件中启用了FrameBuffer设备。立即恍然大悟。原来，早些日子，我在控制台上工作的时候，启用了FrameBuffer来获得更大的显示区域。为了支持这个控制台显示区域，X服务器只能割让一部分显示存储给FrameBuffer设备。要修改回来就是在内核参数行去掉vga=791选项——这个选项代表1024&#215;768的FrameBuffer能力。并且，重新启动机器之后，利用sudo dpkg-reconfigure -phigh xserver-xorg来重新配制xserver。因为，从Ubuntu 8.10版本开始，这个发行版中启用了新的xserver，所以，大部分配置可以由xserver自动完成，不需要再手动更改xorg.conf配置文件了。重启xserver之后，我再用xrandr -q查看了设备能力，输入如下。这是保证双显示器expand输出的前提条件。 $ xrandr -q Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 4096 x 4096 VGA connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm 1920x1080 60.0*+ 1280x1024 75.0 60.0 1152x864 75.0 1024x768 75.0 60.0 800x600 [...]]]></description>
			<content:encoded><![CDATA[<p>OK. 这一篇的主旨只是为了记录我解决问题的过程。</p>
<h3>关闭FrameBuffer设备</h3>
<p>上周星期五，我以一千元人民币的价格淘到了垂涎已久的22存高清显示器。今天早晨送到家里，我自然是兴奋不已的打开看了。Ubuntu Jaunty启动之后可以很顺利的识别外接显示器，但是外接显示器的分辨率却不正确。使用xrandr查看，发现整个设备的大小受到限制。<a href="http://www-06.ibm.com/jp/pc/notebooks/thinkpad/x-series/x61_lineup_4x.shtml">Thinkpad X61的spec</a>上写的很清楚，整个图形卡的最大可表现区域是因该是外接显示器于笔记本固有显示器面积的总和，也就是2944&#215;1080。使用<code>xrandr -q</code>查看，发现这个最大值并没有被正确设置。<code>less /etx/X11/xorg.conf</code>看到，配置文件中启用了FrameBuffer设备。立即恍然大悟。原来，早些日子，我在控制台上工作的时候，启用了FrameBuffer来获得更大的显示区域。为了支持这个控制台显示区域，X服务器只能割让一部分显示存储给FrameBuffer设备。要修改回来就是在内核参数行去掉vga=791选项——这个选项代表1024&#215;768的FrameBuffer能力。并且，重新启动机器之后，利用<code>sudo dpkg-reconfigure -phigh xserver-xorg</code>来重新配制xserver。因为，从Ubuntu 8.10版本开始，这个发行版中启用了新的xserver，所以，大部分配置可以由xserver自动完成，不需要再手动更改xorg.conf配置文件了。重启xserver之后，我再用<code>xrandr -q</code>查看了设备能力，输入如下。这是保证双显示器expand输出的前提条件。</p>
<pre>
$ xrandr -q
Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 4096 x 4096
VGA connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1280x1024      75.0     60.0
   1152x864       75.0
   1024x768       75.0     60.0
   800x600        75.0     60.3
   640x480        75.0     59.9
   720x400        70.1
LVDS connected 1024x768+1920+0 (normal left inverted right x axis y axis) 246mm x 185mm
   1024x768       50.0 +   85.0*    75.0     70.1     60.0     40.0
   832x624        74.6
   800x600        85.1     72.2     75.0     60.3     56.2
   640x480        85.0     72.8     75.0     59.9
   720x400        85.0
   640x400        85.1
   640x350        85.1
</pre>
<h3>配置双显示器expand表示</h3>
<p>利用<code>gnome-display-properties</code>，我可以在这里动态的设置双显示的规格。有图为证。<br />
<img src="http://lh4.ggpht.com/_O-FwCW3mN_w/SmGe5HBeVuI/AAAAAAAAEQo/8pbjHGx86HM/gnome-display-properties.png" /><br />
如果这个方法受限，那么还有一个后背方案，就是采用<a href="http://intellinuxgraphics.org/dualhead.html">Intel显卡驱动官方站的指南</a>，采用xrandr来手动配置。</p>
<h3>更新Mesa</h3>
<p>设置双显示expand之后，我发现小显示器的一部分不能正确更新。初次看到这个现象的时候，我开始怀疑是不是设备能力有限，不能支持这么大的屏幕显示区域。但是仔细计算了一下，这种情况应该是不可能发生的。我的图形卡支持的最大输出是2944&#215;1080，那么宽度上1920+1024不会超过这个2944，而长度来看768小于1080。那问题出在哪里呢？我尝试关闭了“桌面效果”，也就是启用metacity来取代compiz做窗口管理器。我发现这样的话两个屏幕都是可以被正确更新的。立刻想到问题应该处在3D表示的驱动上面。也就是作为3D表示基础库的Mesa有问题。找到关键词就很容易搜索了，google之。立刻发现这个问题是出现在<a href="https://bugs.freedesktop.org/show_bug.cgi?id=18100">mesa-7.4版本之中的bug</a>。而这个bug已经被修复了。这个时候，我想是不是可以拿到mesa的源代码，然后给它打上补丁后重新package。于是立刻行动，我用<code>apt-get source libgl1-mesa-dev libgl1-mesa-dri</code>那到mesa的源代码，照猫画虎的打补丁。转念一下，这个问题应该已经有很多人遇到了，因为Jaunty发布已经有近4个月的时间，不会只有我遇到这个问题。于是乎，我在launchpad上搜索一下，发现果然有<a href="https://launchpad.net/~xorg-edgers/+archive/ppa">新版本的mesa</a>可以使用。因为这个PPA提供的是unstable版本软件包，所以该PPA的作者声明拒绝外部资源直接给出该PPA的使用方法用来保证每个用户都可以读到警告信息。这里就不再说到底怎么使用了。如果你想在Ubuntu中使用fresh的xorg相关软件包，那么直接点下面的连接跳转过去看看吧。<br />
<a href="https://launchpad.net/~xorg-edgers/+archive/ppa">https://launchpad.net/~xorg-edgers/+archive/ppa</a></p>
<p>经过以上步骤的折腾之后，我的Ubuntu就可以使用双显示器正常工作了。写代码的时候再也不需要挤在那个1024&#215;768的显示器上用Alt+Tab换来换去了。还有就是玩企鹅滑冰有些就更爽了。（话外音：真浪费）同学，我听见了，虽然这个安装过程还是遇到问题多多，但是谁让俺自己愿意折腾呢？由此可证，所有的GNU/Linux用户都是那“吃饱了没事撑着”的某些人。</p>
<p>&#8211;<br />
参考URL：<br />
<a href="http://lists.freedesktop.org/archives/xorg/2008-April/034707.html">http://lists.freedesktop.org/archives/xorg/2008-April/034707.html</a><br />
<a href="http://www.thinkwiki.org/wiki/Xorg_RandR_1.2#Summing_up">http://www.thinkwiki.org/wiki/Xorg_RandR_1.2#Summing_up</a><br />
<a href="https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/146298">https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/146298</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/643/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>打造嵌入式软件开发团队(3) 使用minicom做串口连接</title>
		<link>http://www.adamjiang.com/archives/545</link>
		<comments>http://www.adamjiang.com/archives/545#comments</comments>
		<pubDate>Thu, 28 May 2009 02:52:27 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[嵌入式Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[minicom]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[嵌入式]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[环境配置]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/?p=545</guid>
		<description><![CDATA[minicom的初始配置 起动minicom 在终端中敲minicom，然后回车&#8230;&#8230;（画外音：老兄，这个地球人都知道吧）。 $ minicom 如果你非常unlucky，发行版的默认安装中居然没有包含这个简单易用的串口连接工具，那么，找apt-get帮忙吧。 $ apt-cache search minicom $ sudo apt-get install minicom 这里需要注意的问题是，如果你的locale设置的是中文，那么minicom打开后，那些边边角角条条框框会不能对齐，这基本山是因为程序本身不能计算双字节字符在屏幕上的正确宽度造成的，如果你英文好一些，并且不愿忍受破坏视觉的痛苦，推荐使用下面的命令启动minicom。 $ LC_ALL=C minicom 为了以后方便一些，就直接把这个命令写入$HOME/bin/里面，并且将这个路径添加进入PATH变量最前面的位置用以替换默认的minicom启动程序。 $ echo "#!/bin/sh LC_ALL=C minicom" > $HOME/bin/minicom $ chmod +x $HOME/bin/minicom 如果minicom是第一次启动，打开之后就会遇到提示，可能有两种情况 minicom说普通用户不能打开设备文件/dev/modem之类，如果你确信你需要使用这个设备进行通信，那么请用root用户或者sudo命令将这个设备文件更改访问属性； minicom说找不到默认的配置文件 恩，我们要说的就是如何给他配置起来，接着看吧。 打开配置菜单 第一次启动minicom可以使用root身份打开，并且加入-s选项，这是为了方便配置。 $ LC_ALL=C sudo minicom -s 这时回打开一个对话菜单，它长的有点像下面这个样子。 +-----[configuration]------+ &#124; Filenames and paths &#124; &#124; File transfer protocols &#124; &#124; [...]]]></description>
			<content:encoded><![CDATA[<h3>minicom的初始配置</h3>
<h4>起动minicom</h4>
<p>在终端中敲minicom，然后回车&#8230;&#8230;（画外音：老兄，这个地球人都知道吧）。<br />
<code><br />
$ minicom<br />
</code><br />
如果你非常unlucky，发行版的默认安装中居然没有包含这个简单易用的串口连接工具，那么，找apt-get帮忙吧。<br />
<code><br />
$ apt-cache search minicom<br />
$ sudo apt-get install minicom<br />
</code><br />
这里需要注意的问题是，如果你的locale设置的是中文，那么minicom打开后，那些边边角角条条框框会不能对齐，这基本山是因为程序本身不能计算双字节字符在屏幕上的正确宽度造成的，如果你英文好一些，并且不愿忍受破坏视觉的痛苦，推荐使用下面的命令启动minicom。<br />
<code><br />
$ LC_ALL=C minicom<br />
</code><br />
为了以后方便一些，就直接把这个命令写入$HOME/bin/里面，并且将这个路径添加进入PATH变量最前面的位置用以替换默认的minicom启动程序。<br />
<code><br />
$ echo "#!/bin/sh LC_ALL=C minicom" > $HOME/bin/minicom<br />
$ chmod +x $HOME/bin/minicom<br />
</code><br />
如果minicom是第一次启动，打开之后就会遇到提示，可能有两种情况</p>
<ol>
<li>minicom说普通用户不能打开设备文件/dev/modem之类，如果你确信你需要使用这个设备进行通信，那么请用root用户或者sudo命令将这个设备文件更改访问属性；</li>
<li>minicom说找不到默认的配置文件</li>
</ol>
<p>恩，我们要说的就是如何给他配置起来，接着看吧。</p>
<h4>打开配置菜单</h4>
<p>第一次启动minicom可以使用root身份打开，并且加入-s选项，这是为了方便配置。<br />
<code><br />
$ LC_ALL=C sudo minicom -s<br />
</code><br />
这时回打开一个对话菜单，它长的有点像下面这个样子。</p>
<pre>
            +-----[configuration]------+
            | Filenames and paths      |
            | File transfer protocols  |
            | Serial port setup        |
            | Modem and dialing        |
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            +--------------------------+
</pre>
<p>用上下键选择Serial port setup，选择进入。</p>
<pre>
    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/ttyS0                                |
    | B - Lockfile Location     : /var/lock                                 |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 115200 8N1                                |
    | F - Hardware Flow Control : No                                        |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
</pre>
<p>将串口的各个配置值设置成你需要的样子。按每个选项前面的字母键进入配置选单。其中，Serial Device需要指定成你实际使用的串口设备的设备文件；Lockfile Location使用默认就可以了，这个文件使用来锁定设备的，以保证不会设备被另外一个程序同时使用；Callin/out Program略去，嵌入式软件开发的时候大多不需要这个，这选项大概是留给调制解调器用的，我也不晓得；Bps/Par/Bits用来配置你的串口的通讯速度，这里我的设备选择了115200 8N1的选项，跟据你的设备选择相应的值；Hardware/Software Flow Control是RS232协议的一部分，用以控制两个设备之间消息传递的流控制——这个玩意儿一两句讲不清楚，有兴趣的话看<a href="http://www.lammertbies.nl/comm/info/RS-232_flow_control.html" title="RS232 flow control and handshaking">RS232 flow control and handshaking</a>——这个例子里选择NO。<br />
不同的RS232连接线或者开发版的特殊设计都会导致你需要的配置与例子所说的不同，所以，还是查看一下硬件的连接方式手册再进行配置比较好。</p>
<p>配置完成后，在配置菜单中选择Save setup as dfl，这样就可以将配置结果保存成默认设置。</p>
<h4>测试</h4>
<p>如果你的开发板中已经烧入了相应的固件支持串口通信的话（一般都会有），这个时候可以给开发版加电测试一下通信状况了。如果配置没有出错，那么就应该有相应的内容表示。<br />
值得一提的是折行控制。如果不进行选择的话，minicom提供的终端是不会折行的，也就是说你输入终端的内容在表示的时候会被短截，为了让自己看得清楚一些，可以用CTRL+A W来进行切换。</p>
<h4>退出</h4>
<p>在minicom的画面中按CTRL+A，接着按X键。或者CTRL+A Q。两者的区别是X会重置modem，而Q不会重置，并且Q选项需要用户确认。</p>
<p>此后就无须多言了，串口连接只是提供一种连接方式，连接以后根据开发板给公给你的界面，该干嘛干嘛就好了。</p>
<p>&#8211;<br />
参考URL：<br />
<a href="http://www.interface.co.jp/cpu/sh240_howto/howto06.asp">http://www.interface.co.jp/cpu/sh240_howto/howto06.asp</a><br />
<a href="http://tldp.org/HOWTO/Serial-HOWTO.html">http://tldp.org/HOWTO/Serial-HOWTO.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/545/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Ubuntu系统中使用KVM体验moblin</title>
		<link>http://www.adamjiang.com/archives/541</link>
		<comments>http://www.adamjiang.com/archives/541#comments</comments>
		<pubDate>Mon, 25 May 2009 15:54:35 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[Linux tips]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[moblin]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/archives/541</guid>
		<description><![CDATA[使用KVM体验moblin 系统要求 1. VT技术的CPU 你可以用下面的命令检查你的CPU是否支持VT技术。 $ egrep '(vmx&#124;smx)' /proc/cpuinfo 如果输出中出现flags:&#8230;云云，那么恭喜你，你很会买东西。 2. Ubuntu 9.04操作系统 请确认你的操作系统运行官方支持的内核，目前的版本是： $ uname -r 2.6.28-11-generic 需要的软件包 KVM和QEMU。 $ sudo apt-get install kvm qemu 启用VT技术 使用modprobe载入kvm相关的内核模块。 $ modprobe kvm $ modprobe kvm_intel 或者 $ modprobe kvm_amd 如果你得到如下的错误，说明你需要在BIOS设置中启用VT技术。 FATAL: Error inserting kvm_intel...Operation not supported. 如果已经用上面的方法确认了CPU是支持VT技术的，那么，说明在BIOS中VT并没有被启用。看看吧，浪费东西了吧。这说明使用Windows的很多用户都在浪费机器的性能。如果正是这样，请重新启动计算机，进入BIOS设置，在CPU相关选项中启用VT技术。 下载Moblin的KVM镜像文件 文件夹 http://repo.moblin.org/moblin/releases/test/alpha1/images/ KVM镜像的地址是 http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2 用wget直接下载。 $ wget http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2 [...]]]></description>
			<content:encoded><![CDATA[<p>使用KVM体验moblin</p>
<h3>系统要求</h3>
<p>1. <strong>VT技术的CPU</strong><br />
你可以用下面的命令检查你的CPU是否支持VT技术。<br />
<code>$ egrep '(vmx|smx)' /proc/cpuinfo<br />
</code>如果输出中出现flags:&#8230;云云，那么恭喜你，你很会买东西。</p>
<p>2. <strong>Ubuntu 9.04操作系统</strong><br />
请确认你的操作系统运行官方支持的内核，目前的版本是：<br />
<code>$ uname -r<br />
2.6.28-11-generic<br />
</code></p>
<h3>需要的软件包</h3>
<p>KVM和QEMU。<br />
<code><br />
$ sudo apt-get install kvm qemu<br />
</code></p>
<h3>启用VT技术</h3>
<p>使用modprobe载入<a href="http://www.linux-kvm.org/page/Main_Page">kvm</a>相关的内核模块。<br />
<code><br />
$ modprobe kvm<br />
$ modprobe kvm_intel<br />
或者<br />
$ modprobe kvm_amd<br />
</code><br />
如果你得到如下的错误，说明你需要在BIOS设置中启用VT技术。<br />
<code><br />
FATAL: Error inserting kvm_intel...Operation not supported.<br />
</code><br />
如果已经用上面的方法确认了CPU是支持VT技术的，那么，说明在BIOS中VT并没有被启用。看看吧，浪费东西了吧。这说明使用Windows的很多用户都在浪费机器的性能。如果正是这样，请重新启动计算机，进入BIOS设置，在CPU相关选项中启用VT技术。</p>
<h3>下载Moblin的KVM镜像文件</h3>
<p>文件夹<br />
<a href="http://repo.moblin.org/moblin/releases/test/alpha1/images/">http://repo.moblin.org/moblin/releases/test/alpha1/images/</a><br />
KVM镜像的地址是<br />
<a href="http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2">http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2</a><br />
用wget直接下载。<br />
<code><br />
$ wget http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2<br />
</code><br />
解压，<br />
<code><br />
$ mkdir moblin-kvm<br />
$ tar jxf moblin-netbook-core-alpha1-kvm.tar.bz2 -C moblin-kvm/<br />
</code><br />
然后可以尝鲜啦。<br />
<code><br />
kvm moblin-netbook*.raw<br />
</code></p>
<p>当然，你可以尝试一下alpha2，镜像文件的下载地址如下：<br />
<a href="http://repo.moblin.org/moblin/releases/test/alpha2/images/">http://repo.moblin.org/moblin/releases/test/alpha2/images/</a><br />
已知问题可以参照Mobline V2的ReleaseNote。<br />
<a href="http://moblin.org/community/blogs/tshureih/2009/announcing-moblin-v2-core-alpha-release">http://moblin.org/community/blogs/tshureih/2009/announcing-moblin-v2-core-alpha-release</a></p>
<p>最后，一起欣赏一下桌面截图吧。<br />
<img src="http://lh5.ggpht.com/_O-FwCW3mN_w/Shq-3yUfuOI/AAAAAAAAENI/gxGu0V_q9uA/s400/Screenshot-QEMU.jpg" alt="moblin-run-in-KVM-ubuntu" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/541/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>打造嵌入式软件开发团队(2) tftp服务器</title>
		<link>http://www.adamjiang.com/archives/514</link>
		<comments>http://www.adamjiang.com/archives/514#comments</comments>
		<pubDate>Sun, 24 May 2009 13:01:40 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[嵌入式Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[嵌入式]]></category>
		<category><![CDATA[环境配置]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/?p=514</guid>
		<description><![CDATA[上回书说到嵌入式开发环境的根文件系统如何通过NFS挂载，接下来说一下内核如何通过tftp服务器调试和加载。 Bootloader 通过tftp加载内核的前提是，开发使用的bootloader支持tftp功能。这样的bootloader有很多，在MIPS结构(MIPS4K,BRCM,龙芯等处理器)上，可以尝试使用U-Boot或者CFE。其中U-Boot适用于多种平台，包括ARM,PowerPC,MIPS等多中体系结构，而CFE是Broadcom公司开发的一个开放源代码BL，被广泛应用于MIPS结构。 安装和配置TFTP服务器 在Debian base的Ubuntu系统上安装tftp的方法非常简单。首先，你可以尝试用apt-cache命令查看一下发行版上都提供了哪些tftp相关的软件可以使用。 $ apt-cache search tftp ... tftp-hpa - HPA's tftp client tftpd-hpa - HPA's tftp server atftp - advanced TFTP client atftpd - advanced TFTP server ... tftp - Trivial file transfer protocol client tftpd - Trivial file transfer protocol server atftp和tftp-hpa都是比较特殊的版本，所以，为了简便起见，这个介绍中只安装通用的tftp和tftpd。你可以使用下面的命令安装TFTP。 $ sudo apt-get install tftpd tftp 确认inetd.conf中是否正确安装了tftpd。 grep [...]]]></description>
			<content:encoded><![CDATA[<p>上回书说到嵌入式开发环境的根文件系统如何通过NFS挂载，接下来说一下内核如何通过<a href="http://www.adamjiang.com/wiki/index.php?title=%E5%B7%A5%E5%85%B7#TFTP.E6.9C.8D.E5.8A.A1.E5.99.A8">tftp服务器</a>调试和加载。</p>
<h2>Bootloader</h2>
<p>通过tftp加载内核的前提是，开发使用的<a title="什么是Bootloader" href="http://www.adamjiang.com/wiki/index.php?title=%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B">bootloader</a>支持tftp功能。这样的bootloader有很多，在MIPS结构(MIPS4K,BRCM,龙芯等处理器)上，可以尝试使用<a title="U-Boot的主页" href="http://www.denx.de/wiki/U-Boot/WebHome">U-Boot</a>或者<a title="CFE的下载页面" href="http://ja.broadcom.com/support/communications_processors/downloads.php">CFE</a>。其中U-Boot适用于多种平台，包括ARM,PowerPC,MIPS等多中体系结构，而CFE是Broadcom公司开发的一个开放源代码BL，被广泛应用于MIPS结构。</p>
<h2>安装和配置TFTP服务器</h2>
<p>在Debian base的Ubuntu系统上安装tftp的方法非常简单。首先，你可以尝试用apt-cache命令查看一下发行版上都提供了哪些tftp相关的软件可以使用。</p>
<p><code><br />
$ apt-cache search tftp<br />
...<br />
tftp-hpa - HPA's tftp client<br />
tftpd-hpa - HPA's tftp server<br />
atftp - advanced TFTP client<br />
atftpd - advanced TFTP server<br />
...<br />
tftp - Trivial file transfer protocol client<br />
tftpd - Trivial file transfer protocol server<br />
</code></p>
<p>atftp和tftp-hpa都是比较特殊的版本，所以，为了简便起见，这个介绍中只安装通用的tftp和tftpd。你可以使用下面的命令安装TFTP。</p>
<p><code><br />
$ sudo apt-get install tftpd tftp<br />
</code></p>
<p>确认inetd.conf中是否正确安装了tftpd。</p>
<p><code><br />
grep tftp /etc/inetd.conf<br />
</code></p>
<p>准备TFTP服务器使用的目录，可以在这个目录中放入需要共享的文件，比如编译好的内核image文件。</p>
<p><code><br />
$ sudo mkdir /tftpboot<br />
$ sudo chmod 777 /tftpboot<br />
</code></p>
<p>一般，为了配置简便，通常将tftp服务的目录放在/tftpboot，当然这个位置是可以配置的，在/etc/inetd.conf文件中，可以看到tftp目录被放在了/srv/tftp中，你可以根据需要更改。</p>
<p><code><br />
$ sudo sed -e "s,/src/tftp,/tftpboot," /etc/inetd.conf &gt; \<br />
/etc/inetd.conf_out &amp;&amp; \<br />
sudo mv /etc/inetd.conf /etc/inetd.conf_bak &amp;&amp; \<br />
sudo mv /etc/inetd.conf_out /etc/inetd.conf<br />
</code></p>
<p>测试一下。</p>
<p><code><br />
$ echo "HELLO" &gt; /tftpboot/FILE.txt<br />
$ tftp<br />
tftp&gt; connect localhost<br />
tftp&gt; get FILE.txt<br />
</code></p>
<div style="margin-left: 5%; border-left:medium solid #999; padding-left: 3%">
<p>另外一个选择是使用<strong>xinet.d</strong>来驱动tftpd，取代inet.d。</p>
<p><strong>安装xinet.d。</strong><br />
<code><br />
$ sudo apt-get install xinetd<br />
</code><br />
<strong>配置tftpd服务。</strong></p>
<p>打开/etc/xinet.d/tftpd文件，根据下面的样子照猫画虎就行了，需要注意的是disable=yes这一行变成disable=no。另外，默认的配置文件中可能需要增加访问控制选项，即将only_from这个选项固定为局域网。</p>
<p><code><br />
service tftp<br />
{<br />
protocol        = udp<br />
port            = 69<br />
socket_type     = dgram<br />
wait            = yes<br />
user            = nobody<br />
group           = nobody<br />
server          = /usr/sbin/in.tftpd<br />
server_args     = /tftpboot<br />
only_from       = 192.168.1.0/24<br />
disable         = no<br />
}<br />
</code></p>
<p>使用xinet.d的好处是安全性增强。也是一个比较不错的选择。</p></div>
<p>&#8211;<br />
参考URL：<br />
<a href="http://0x100.com/Gentoo/Server/tftpd.html">http://hogeo.jp/blog/memo/2008/07/tftpubuntu.html</a><br />
<a href="http://0x100.com/Gentoo/Server/tftpd.html">http://0&#215;100.com/Gentoo/Server/tftpd.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/514/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu9.04中Intel图形芯片组上启用图形效果</title>
		<link>http://www.adamjiang.com/archives/456</link>
		<comments>http://www.adamjiang.com/archives/456#comments</comments>
		<pubDate>Wed, 20 May 2009 14:44:16 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[Linux tips]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[GFX]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/?p=456</guid>
		<description><![CDATA[Ubuntu9.04已经发布有1个月左右了，发布当天我就找了USB盘来更新了在Thinkpad X61上的Ubuntu 8.04。但是，因为这个版本中Ubuntu决定升级到新的X Server，而Intel的X驱动并没有适时的进行更新，在新的X server中Intel驱动存在Bug。这就使很多笔电用户无法享受到眩目的桌面图形效果。Ubuntu9.04的Release Note中说明了已知存在的问题并且将使用Intel图形芯片的桌面屏蔽了Compiz功能。昨天查看LaunchPad上的Bug更新状态，发现这个Bug已经被修复了，于是兴冲冲的升级相关软件包之后启用Compiz，可仍然只得到了启用失败的提示。原因是Compiz在启动时仍然使用了禁用设置。这里仍然需要一点小小的调整才能启用桌面效果。 首先，保证你的Ubuntu 9.04在最新状态。 $ sudo apt-get update $ sudo apt-get upgrade 接着，命令Compiz启动时的错误检查跳过去。 mkdir -p ~/.config/compiz/ &#038;&#038; echo SKIP_CHECKS=yes \ >> ~/.config/compiz/compiz-manager 最后在”系统”->”外观设置”->”桌面效果”中启用Compiz就可以了。 这时如果你用glxgear测试图形性能的话会得到一个比较奇怪的结果，那就是图形的FPS只有700左右。这个值远远小于能够运行3D加速功能的预期值。Ubuntu8.04中，我在同样的机器上得到的FPS测试结果在1500左右，仅仅看数值的话感觉性能降低到了原来的一半。但实际使用的感觉确是，你的桌面效果运行良好。 前几天有为朋友在ML中回复我，他说需要将Ubuntu9.04发布的内核2.6.28升级到2.6.30-r3才能得到比较高的FPS值，这种情况下才可以启用Compiz。但事实并非如此，理由是glxgear测试得到的值并非真正的3D性能标识，这个测试应用成功只是表示了一个2D的图形并且不断的互换，通过统计这种互换在一秒钟之内发生的次数而得到一个相对的性能指标。也就是说glxgear并没有真正的测试到显示芯片的3D加速功能。那把它作为3D性能的标准就无从谈起了。那么应当用什么来测试Linux的3D性能呢？！Here comes Extreme TUX RACER!!!]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ubuntu.com/products/whatisubuntu/904features/" title="Ubuntu 9.04">Ubuntu9.04</a>已经发布有1个月左右了，发布当天我就找了USB盘来更新了在<a href="http://www.adamjiang.com/archives/138">Thinkpad X61上的Ubuntu 8.04</a>。但是，因为这个版本中Ubuntu决定升级到新的X Server，而Intel的X驱动并没有适时的进行更新，在新的X server中<a href="https://bugs.launchpad.net/ubuntu/jaunty/+source/xserver-xorg-video-intel/+bug/359392" title="Intel GFX bug">Intel驱动存在Bug</a>。这就使很多笔电用户无法享受到眩目的桌面图形效果。<a href="http://www.ubuntu.com/getubuntu/releasenotes/904" title="Ubuntu 9.04 Release Note">Ubuntu9.04的Release Note</a>中说明了已知存在的问题并且将使用Intel图形芯片的桌面屏蔽了Compiz功能。昨天查看LaunchPad上的Bug更新状态，发现这个Bug已经被修复了，于是兴冲冲的升级相关软件包之后启用Compiz，可仍然只得到了启用失败的提示。原因是Compiz在启动时仍然使用了禁用设置。这里仍然需要一点小小的调整才能启用桌面效果。</p>
<p>首先，保证你的Ubuntu 9.04在最新状态。<br />
<code><br />
$ sudo apt-get update<br />
$ sudo apt-get upgrade<br />
</code></p>
<p>接着，命令<a href="http://webupd8.blogspot.com/2009/04/ubuntu-jaunty-904-intel-graphic-drivers.html">Compiz启动时的错误检查跳过去</a>。<br />
<code><br />
mkdir -p ~/.config/compiz/ &#038;&#038; echo SKIP_CHECKS=yes \<br />
>> ~/.config/compiz/compiz-manager<br />
</code></p>
<p>最后在”系统”->”外观设置”->”桌面效果”中启用Compiz就可以了。</p>
<p>这时如果你用glxgear测试图形性能的话会得到一个比较奇怪的结果，那就是图形的FPS只有700左右。这个值远远小于能够运行3D加速功能的预期值。Ubuntu8.04中，我在同样的机器上得到的FPS测试结果在1500左右，仅仅看数值的话感觉性能降低到了原来的一半。但实际使用的感觉确是，你的桌面效果运行良好。</p>
<p>前几天有为<a href="http://imtx.cn/archives/1210.html">朋友</a>在ML中<a href="http://groups.google.com/group/szlug/browse_thread/thread/3e4bdae1f4ce667a/fbd89bbba2f040c6?lnk=gst&#038;q=%E6%96%B0%E8%B4%AD%E8%87%AA%E7%94%A8%E6%9C%80%E6%96%B0acer+intel%E5%B9%B3%E5%8F%B0%E7%AC%94%E8%AE%B0%E6%9C%AClinux%E5%85%BC%E5%AE%B9%E6%80%A7%E6%B5%8B%E8%AF%95%E6%89%8B%E8%AE%B0#fbd89bbba2f040c6">回复</a>我，他说需要将Ubuntu9.04发布的内核2.6.28升级到2.6.30-r3才能得到比较高的FPS值，这种情况下才可以启用Compiz。但事实并非如此，理由是glxgear测试得到的值并非真正的3D性能标识，这个测试应用成功只是表示了一个2D的图形并且不断的互换，通过统计这种互换在一秒钟之内发生的次数而得到一个相对的性能指标。也就是说<a href="http://qa-rockstar.livejournal.com/7869.html" title="Why glxgears is slower with Kernel Modesetting (and why it doesn't matter)">glxgear并没有真正的测试到显示芯片的3D加速功能</a>。那把它作为3D性能的标准就无从谈起了。那么应当用什么来测试Linux的3D性能呢？！Here comes <a href="http://www.extremetuxracer.com/" title="Test 3D performance with Extreme TUX RACER">Extreme TUX RACER</a>!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/456/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu创始人征集桌面截图</title>
		<link>http://www.adamjiang.com/archives/138</link>
		<comments>http://www.adamjiang.com/archives/138#comments</comments>
		<pubDate>Fri, 19 Dec 2008 14:56:12 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[Linux tips]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/?p=138</guid>
		<description><![CDATA[Ubuntu创始人Mark Shuttleworth在邮件列表中发信件征集各种各样的桌面截图。邮件原文在这个mailinglist里可以看到。话说，Gnome计划在2011年发布3.0版本（tmd的太慢了吧），这里有小孩早早就扔出来了Gnome3.0的概念mockup。我个人的观点是越来越向着Apple风格前进了。话说，即使是Gnome2.0本身就有很严重的Apple风格倾向。 先贴上自己的看看。 第一张，桌面背景 + GnomeTerminal； 第二张，浏览器的全屏状态； 第三张，nautilus文件浏览器；]]></description>
			<content:encoded><![CDATA[<p>Ubuntu创始人Mark Shuttleworth在邮件列表中发信件征集各种各样的桌面截图。邮件原文在<a href="https://lists.ubuntu.com/archives/ubuntu-devel/2008-December/027022.html" target="_blank">这个mailinglist里</a>可以看到。话说，Gnome计划在2011年发布3.0版本（tmd的太慢了吧），这里有小孩早早就扔出来了<a href="http://gabriel.hurley.googlepages.com/userinterface" target="_blank">Gnome3.0的概念mockup</a>。我个人的观点是越来越向着Apple风格前进了。话说，即使是<a href="http://www.gnome.org/" target="_blank">Gnome2.0</a>本身就有很严重的Apple风格倾向。</p>
<p>先贴上自己的看看。</p>
<p>第一张，桌面背景 + GnomeTerminal；</p>
<div id="attachment_139" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-139" href="http://www.adamjiang.com/archives/138/desktop-with-terminal"><img class="size-thumbnail wp-image-139" title="desktop-with-terminal" src="http://www.adamjiang.com/wp-content/uploads/2008/12/desktop-with-terminal-300x225.png" alt="Ubuntu 8.04 桌面背景＋终端" width="300" height="225" /></a><p class="wp-caption-text">Ubuntu 8.04 桌面背景＋终端</p></div>
<p>第二张，浏览器的全屏状态；</p>
<div id="attachment_140" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-140" href="http://www.adamjiang.com/archives/138/browser"><img class="size-thumbnail wp-image-140" title="browser" src="http://www.adamjiang.com/wp-content/uploads/2008/12/browser-300x225.png" alt="Ubuntu 8.04 Firefox浏览器" width="300" height="225" /></a><p class="wp-caption-text">Ubuntu 8.04 Firefox浏览器</p></div>
<p>第三张，nautilus文件浏览器；</p>
<div id="attachment_141" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-141" href="http://www.adamjiang.com/archives/138/nautilus"><img class="size-thumbnail wp-image-141" title="nautilus" src="http://www.adamjiang.com/wp-content/uploads/2008/12/nautilus-300x225.png" alt="Ubuntu 8.04 Nautilus文件浏览器" width="300" height="225" /></a><p class="wp-caption-text">Ubuntu 8.04 Nautilus文件浏览器</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/138/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

