分类目录归档:Ubuntu

Ubuntu 下让 ADB 识别所有设备的两个方法

方法一,完全参考 谷歌的文档 ,内容如下
在/etc/udev/rules.d 目录下新建一个 51-android.rules 文件,将下面所有内容拷贝到该文件中:

方法二,有点 Hack 的味道,参考“ 孔雀的小屋 ”滴,就是将下面这行内容拷贝至/etc/udev/rules.d/51-android.rules 文件中,
通杀所有 Android 设备,上面的那些都可作为浮云

Ubuntu 10.04 安装 Reciteword 支持 Alsa 发声

在 Ubuntu 上安装 Reciteword 的时候我们可能都曾遇到过 esound 发声的问题,之前有过一篇文章介绍了如何解决 esound initialization failed 的问题,文章地址在 这里

因为 Ubuntu 默认的软件混音选择的是 alsa 而不是 esound,所以会有一些问题,在上面提到的那篇文章中也列出来了一些。然后看到网上有很多人提到一个 reciteword-alsa 版本,那就下下来试试看吧。

下载地址在 这里 ,将 reciteword-alsa.tar.gz 下载下来,使用 tar -xzvf reciteword-alsa.tar.gz 解压到当前目录。

之后就是准备 reciteword 的源码了,源码可以从 这里 找到下载,普通的 esound 版本编译方法在 这里 有非常详尽的 wiki 页面 ,当然我们并不需要 esound 的版本,所以接下来的事情才是我们想要做的。

1. 解压下下来的源码到当前路径,tar -xjvf reciteword-0.8.4.tar.bz2

2. 进入解压后的目录,cd reciteword-0.8.4

3. 将 alsa 版本的补丁打上,patch -p1 -i ../reciteword-alsa/reciteword-alsa.patch

4. 开始编译,./configure –prefix=/usr/

5. make

6. sudo make install

7. 接下来的所有步骤就是下载书本和字典,所有下载均可以从 这个页面 下载到,下载的都是 tar.bz2 包。以下步骤参考了 这个 wiki 页面

课本的安装:

这样我们就完成了所有的安装程序,到 Applications->Education->Reciteword 中启动程序吧。上个效果图。

Ubuntu 10.04 Reciteword 发声问题解决方法

之前在学校时候学习使用 Ubuntu 时使用过一个非常优秀的软件那就是 Reciteword, 俗称黑客背单词,认识这款软件是因为自己在 Ubuntu 下使用的字典软件是 stardict,这两款软件的作者是同一个,作者名字叫 胡正

最近一段时间里工作上和家里都使用的 Ubuntu,又想起了这款优秀的软件,那么好吧,我们这就开始安装吧, 这里 有一篇文章非常的详细,你只要按照这个流程安装,肯定成功。

但是在安装之后我们很有可能碰到不能正常发声的问题,那么我们如何解决这个问题呢?我在网上搜了一些相关的资料,自己一一尝试验证之后,发现这个法子很不错。

那就是在启动 reciteword 命令前,加上 esound -noterminate -nobeeps &,也就是在终端中启动 reciteword 的命令应该是这样的 esound -noterminate -nobeeps & reciteword,但是这样肯定是不方便的。那么我们可以这么做,也就是通过编辑/etc/esound/esd.conf 文件来达成目的

例如我的/etc/esound/esd.conf 文件内容如下:

[esd]

# autospawning is not recommended, since it can’t really be done
# right.  If you want your login session to be using a sound daemon,
# you should start it from the session controller, not some random
# app inside.
auto_spawn=1
spawn_options=-noterminate -nobeeps -as 2
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=2

修改该文件之后再次启动 reciteword,就能正常发声了,但是还有一个问题,那就是你单击软件界面中的朗读按钮,软件并不会正常的朗读单词,在测试的过程中,如果你输入单词的速度很快的话,软件发出的那种老式打字机金属敲击的声音并不能跟上你的节奏,我想应该是 esound 自动多音频流播放的问题吧,解决方案参考了 这篇文章这篇文章。

听说有 alsa 版本的,哪天试一试看看如何,嘿嘿,希望本文能对你有所帮助。

==========================更新=============================

在 Ubuntu 10.04 下编译可能会出现一个错误

在 bookfile.cpp 文件中找到 原来的 tmp1 = strstr (str1, str2);

Ubuntu 下让 Air 程序 TweetDeck 成功使用代理发推

在使用 Ubuntu 的过程中自己有一些需求,例如使用 Twitter 客户端发推,发现目前没有哪个程序中有设置代理这么一项,真是杯具啊,生活在天朝我们拥有很多的杯具,那么如何解决这个问题呢。在网上搜了一下,有一个哥们的方法很好很给力,例如我们将程序安装到/opt/TweetDeck 目录下,那么我们可以在终端中以这样的命令启动程序,export http_proxy=http://127.0.0.1:1984/ && exec /opt/TweetDeck/bin/TweetDeck,如此就可以穿越我们伟大的 GFW 了,如果你觉得每次都这样非常不方便的话,那么我们将其做成 shell 文件即可。

1. 创建脚本,名为 TweetDeck,sudo vim /usr/bin/TweetDeck

2 . 脚本内容为:

#!/bin/bash
export http_proxy=http://127.0.0.1:1984/ #这是因为我使用的是 Puff,其他 http 代理应该是一样的

exec /opt/TweetDeck/bin/TweetDeck

3. 将 shell 文件的权限改为可执行,sudo chmod +x /usr/bin/TweetDeck

之后你就可以顺利的从命令行启动你的客户端了,当然如果你想将主菜单以及桌面上的快捷方式也顺便修改一下的话,那么可以通过 System->Preferences->Main Menu->Applications->Accessories->TweetDeck,找打你需要修改的项,然后选中 Properties, 找到 Command 选项,将 Command 指向刚才咱们创建的 shell 文件/usr/bin/TweetDeck 即可,同理桌面程序启动器也可以通过其 Properties 中的 Command 子项来修改其启动的命令。

这样你就可以畅通无阻的开始在墙外的世界使劲推了。

上个图吧,:-)

TweetDeck截图

TweetDeck 截图

硬件才是限制自由软件的 No.1

昨天舍友看到我在 Ubuntu 9.10 下 Coding,觉得界面比较炫,然后突然想起自己的机器上曾在 07 年装了一个 Redhat 9.2 Desktop 中文版。重启一下,怀念了一下往日疯狂装系统的时光。然后发现上不了网,为什么呢?

由于之前在学校使用的有线连接,目前屋子里头使用的是无线,他电脑上插着一个从京东买来的 TP-Link WN322G+ 2.0 的无线网卡,之前一直在 Windows 下装着驱动,自然跑得飞快,时常在网上“ 草蛋 ”。可惜的是在 Redhat 中,他也不知道如何设置无线,更别说安装驱动了。突发奇想的他,突然问我要 Ubuntu 的安装盘,那我倒是有,8.04 和 9.04 的都有 CD。

Ubuntu 的安装非常方便,在安装的过程中,他让我给他讲一讲我认为的 Ubuntu 的易用性和值得推荐的地方。我说其实我用的也很少,也就偶尔写写代码的时候会跑到 Ubuntu 中去,为了学习一些命令和常用的编译知识和 Linux 平台中的特性才会去使用,娱乐的时候还是选择 Windows。那么为什么当时会选择 Ubuntu 而不是别的 Linux 发行版呢?其实最早知道有 Ubuntu 操作系统是在 07 年冬天,那个时候开始泡 JavaEye,在社区中看到很多前辈们都在赞 Ubuntu。后来开始想学习一下 Linux 的时候就完全从零开始了,自己刻了一张光盘 (很高兴当时自己的台式机的光驱是个刻录机),开始慢慢的学习安装。第一次使用的还不是光盘安装,刻好了之后一直放在抽屉里头,安装时使用的 wubi 安装,真是简单方便快捷无副作用啊,和装迅雷、QQ 一类的 Windows 应用程序一模一样,一阵 next 就 OK 了。回到话题中来,其实自己觉得选择 Ubuntu 后,觉得很庆幸的一点是,自己选择了一个社区强大的免费软件。正式因为有社区中的人们无私的奉献和共享。我才能从一个连 swap 分区时什么都不知道的人,成为了一个可以指导别人使用 Ubuntu 系统的人。当然这也从另一个角度说明了一个问题——那就是 Ubuntu 的易用性还不是很好,因为它至少还是需要别人指导的——不过从零开始学 Windows 同样也是需要人来教的。社区的强大,相对的易用,绚丽的 UI,免费开放,这是我给出的四点。其中我个人的排序时这样的,社区强大,绚丽的 UI,免费开放,相对的易用。因为我认为社区的强大,完全可以解决易用性的问题,只要你敢问就肯定有人帮你解答。绚丽的 UI 是我一直追随最新版本 Ubuntu 的原因,因为每一个版本中都会有一些很明显的改进,不过最近发现其实内核的高低并不是问题,时尚其实可以掌握在自己的手中,保持一个比较稳定版本的内核和显卡驱动,之后你就可以在 gnome-look.org 中畅快的遨游了,想把自己的桌面整成啥样就整成啥样。就在闲扯之中,舍友的机器已经跑起来了,他的第一感觉是很不错,至少默认的挂载 Windows 分区的功能是让他狠狠地赞了一个(当年在 Redhat 中折腾的时候想必是很痛苦滴啊)。

之后就是准备安装软件了,提到 Ubuntu 安装软件,我们首选的自然是 apt-get 命令了,只可惜该命令只在你保证自己的机器能连接到一个有效地软件源上才能生效,要么有挂载的 DVD 映像文件,要么就得上 Internet。又回到了最开始的问题了,Ubuntu 中配置无线是很方便简单,但是驱动呢?我的机器是笔记本,自带的无线网卡在系统安装的时候已经装上了相应的驱动,而他就只能自己再次放狗搜索了。找了段网线,先连上有线网,把常用的几个软件搞定之后。开始尝试着去搜寻如何安装无线网卡驱动的文章,找到一箩筐还有得多啊。看来大家均碰到过这样恶心的问题啊。有很多的兄弟都在文中号称自己解决了,但是我们按着他的步骤来就是无耻的失败鸟。这是为什么呢?

我们可以来分析一下,主要应该有两个原因:

  • 内核的版本不一致。大部分宣称自己解决了问题的兄弟肯定是解决了自己特定的问题,比如针对 WN322G+ 2.0 这个无线网卡的文章就有好几篇 (看来这款无线网卡的销量还不错哦!),但是撰文时间大都是 2008 年的,甚至更早。而我的舍友装的系统是 Ubuntu 9.04 版本,内核极有可能高于别人。
  • 编译环境不一致。有一些文章直接都是给出源码,从源码开始编译,最后进行设置,将问题搞定。但是源码编译这个事情很多时候是受限于系统开发环境的,那么也有可能导致安装不正确问题。

回到标题。为什么说硬件阻碍或限制了自由软件的发展呢?

  1. 硬件厂商仅提供 Windows 下的驱动程序。当然这个问题其实很奇特,因为 Windows 市场最大,而且 Windows 本来就是要在所有兼容机上运行,导致出现驱动程序开发这么一个环节,兼容机的硬件标准非常迥异,导致各家生产厂商要自行开发或者外包开发驱动程序。那么为什么不提供 Linux 和 Mac OS X 的呢?谁傻谁才提供呢。Linux 市场太小,不赚钱,而 Mac OS X 是和硬件绑定销售的,不需要自行安装驱动,而且也不可能和别的硬件去兼容。
  2. 提供的驱动并不靠谱。ATI 的显卡也有 Linux 下的驱动程序,开源的闭源的都有,但是就是没有官方的,官网上挂的也是社区驱动的项目开发的驱动。Nvidia 虽然提供官方的驱动,但是问题也是一堆堆。这明显成为了诸多 Linux 潜在用户最怕碰到的棘手问题,我想我的舍友的激情也就在昨夜凌晨 4 点半的时候被耗尽了 (昨天跟舍友一起整这个问题,足足整了 3 个小时)。
  3. OEM 的程度还是很不够,其实如果能提供非常好的 OEM 套件也是很不错的。机器出厂时,已经保证其驱动和系统均是 OK 的,那么到了用户那里,他就不需要再去为这些原本不属于他关心的问题去费神费时了。现在的 Windows 也开始默认安装绝大多数通用驱动了,从 XP 开始 (Vista 不算) 到 Win7,系统自带的驱动越来越多,标准也越来越完善——作为兼容机首选操作系统生产商的微软完全有能力也很有责任把这个事情做好,让 Windows 的用户远离驱动程序,让用户知道他们之需要一键安装 Windows 便是了。解决了标准的问题之后,生产厂商开心了,微软其实也赚了好彩头——用户的体验提升。

就这样,我的舍友又回到了他盗版的 Windows 下面,继续“DOTA”和“ 草蛋 ”。你那该死的硬件,让我又失去了一个可能成为学习伙伴的 Ubuntu 发烧友。