Linux

Netbook OS分享会

酝酿了很久的分享会,作为杭州GTUG成立后的首次活动,《Netbook OS大比拼》圆满结束咯。这得要感谢与会的每一位朋友,虽然外面下着大雪,但是还是有很多朋友来了,而且还有三位上海朋友;另外还要特别感谢杭州图书馆,他们为我们提供了一个非常棒的会场,书香气为我们的技术交流更是增添了别样的气氛。

以下是流水帐。这次分享会是由Tualatrix(以下简称TX)和我共同主持的。会议主题是《Netbook OS大比拼》。

解决1005ha/1008ha在ubuntu 9.10下糟糕的表现

自从我的Eee pc 1005ha-h升级到ubuntu 9.10后,无线网络开始不断抽风。

先是信号非常弱,频繁掉线。我在launchpad.net查到1005ha的无线网卡是atheros的ar9285,对应的驱动是ath9k。而ath9k在2.6.31下有兼容性问题,ubuntu的backport驱动解决了这些问题。于是我给2.6.31.14内核安装了backport驱动。

1
sudo apt-get install linux-backports-modules-2.6.31-14-generic

重启后,信号变强了,线也不掉了,但是网络僵尸了。主要表现在chrome打开一个站点往往需要15-30秒时间,其中至少有10秒时间在解析dns。开始我以为是ipv6导致解析缓慢的,所以我就把ipv6禁用了。

打开配置文件:

1
gksu gedit /etc/sysctl.conf

在文件最后加入:

1
net.ipv6.conf.wlan0.disable_ipv6 = 1

重启后发现速度确实快了,但是解析还是需要很长时间。

在Moblin2.1-preview上编译安装ibus

前段时间安装了Moblin2.1-preview版,一直没玩。今天突然有兴致跑进去玩玩。先是改了一下源,升级了一把,大概250MB。然后发现浏览器变成firefox3.5了,支持书签和插件,clutter下的ff就是漂亮,上网一定很爽!可是为什么不给我装好输入法呢?找了半天也没有找到安装的入口,所以我进shell安装了scim。

1
yum install scim scim-pinyin scim-bridge scim-bridge-gtk scim-bridge-clutter

装好后发现很多地方用不了scim。我只好抛弃了scim,转投ibus。

ibus没有现成的包,必须手动编译。于是我开始手动编译,接下来的过程消耗了我一个晚上,弄得我头昏脑胀,可算是凄惨啊。

编译ibus

参考地址:http://code.google.com/p/ibus/wiki/Install

先把依赖包装好:

1
yum install git gnome-common autoconf automake libtool glib2-devel intltool gtk-doc GConf-dbus-devel make gcc clutter-devel dbus-python-devel iso-codes-devel

然后把源代码下下来:

1
2
git clone git://github.com/phuang/ibus.git ibus
cd ibus

开始编译

1
2
3
./autogen.sh --prefix='/usr' --sysconfdir='/etc' --libdir='/usr/lib' --enable-gtk-doc
make
sudo make install

我在运行autogen.sh的时候出现了以下错误:

Makefile.am: required file `./ChangeLog’ not found

直接输入下面指令后,重新运行autogen.sh

1
touch ChangeLog

编译ibus-pinyin

先安装依赖包:

1
yum install sqlite-devel gcc-c++ libuuid-devel

下载源代码:

1
2
git clone git://github.com/phuang/ibus-pinyin.git ibus-pinyin
cd ibus-pinyin

开始编译:

1
2
3
./autogen.sh --prefix=/usr
make
sudo make install

在Eee PC 1005ha上为Ubuntu打开多点触控

原文:Setting up multi-touch scrolling for Ubuntu 9.10 Karmic Koala Linux on Asus Eee 1005HA netbook

虽然本文是基于Asus EeePC 1005ha的,但是本文阐述的方法也适用于其他采用Synaptics的笔记本。

多点触控允许用户使用双指手势在触摸板上进行UI操作。苹果率先在Macbook引入了此技术,大大提高了在上网本上浏览网页的用户体验。最重要的手势是双指滚动文本。

苹果还有很多相关的手势专利,所以他们不会被默认启用。

真正的多点触控需要多点感知(电容)的触摸板支持。但是大多数笔记本都没有配备这种触摸板。不过很幸运,我们可以在压力敏感的触摸板上通过计算和技巧模拟出一些类似双指滚动的简单手势。

注意:Ubuntu HAL对Synaptics的支持有问题。只有最后那段shell脚本是有用的。在FDI文件中的HAL设定被忽略了。

设定Synaptics驱动

在终端中输入:

1
gksudo gedit /etc/hal/fdi/policy/11-x11-synaptics.fdi

把下面内容粘贴进去:

EeePC 1005ha(1008ha)安装Ubuntu的完美方案

原文:《Perfect Ubuntu Jaunty on the Asus eeePC 1005HA (and 1008HA)》

本文并没有按照原文100%翻译,吼吼去掉了一些无关紧要的内容,同时还做了一些完善性的修改。

准备工作

在这里我们使用的是Ubuntu netbook remix版。这是为上网本设计的,内核也是特殊定制的。即使你不喜欢上网本版的界面,你也可以在装好后,通过设置很容易地恢复到默认的界面。

下载Ubuntu netbook remix

请准备好u盘,然后参照这里制作安装盘。

在开始前请确定您已经阅读完本文。如果您只有一台电脑,请在开始前把需要下载的驱动文件都下载好。准备就绪后,我们开始安装。

先关掉Boot Booster,以便我们使用U盘进行引导:

开机按F2进入BIOS设置。在Boot settings里找到Boot Booster,把他设为disable,按F10保存退出重启。

当机器开始重启时,按Ese进入启动选择菜单,选择U盘启动。

进入Ubuntu启动菜单后,直接进入安装。

Ubuntu中安装Aptana

今天在做XML的实验作业,需要使用javascript,下了Aptana,但是每次启动到最后一步就出错了。去官方查了一下(Installing Aptana Studio on Linux),原来Aptanna需要XULRunner。我的安装步骤:

1.解压Aptanna

1
unzip Aptana_Studio_Setup_Linux_1.2.6.zip

2.移动到/usr/local

1
mv aptana /usr/local

3.安装XULRunner

1
sudo apt-get install xulrunner

4.加入环境路径

1
export MOZILLA_FIVE_HOME=/usr/lib/xulrunner

5.启动

1
/usr/local/aptana/AptanaStudio

为了方便,我们做个启动脚本,内容如下:

1
2
3
4
5
6
7
8
9
10
#!/bin/sh
MOZILLA_FIVE_HOME=/usr/lib/xulrunner
if [ $LD_LIBRARY_PATH ]; then
LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME
fi

export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
/usr/local/aptana/AptanaStudio $@

给这个脚本赋予执行权限,以后启动aptana就方便啦。

汉化编译Sparkweb

sparkweb是一款非常不错的web im,基于xmpp协议用flex开发的。我们校内的jicq也开始使用sparkweb,但是唯一遗憾的是sparkweb是英文的。网上找了很久,都没有找到汉化版的,于是我萌生了汉化sparkweb的想法。我参照 Ignite Realtime官方找到的文章《Getting and Building SparkWeb》,成功编译了sparkweb。接下来我就说一下如何编译,要注意的是sparkweb必须在mac或linux平台下编译。

需要的软件

  1. flex builder
  2. flash player debug 版
  3. svn

开始获取编译

  1. 控制台执行下列指令,以获取sparkweb源代码
1
svn co http://svn.igniterealtime.org/svn/repos/sparkweb/trunk SparkWeb
  1. 打开flex builder,把workspace位置设为你的sparkweb源代码的目录

  2. 在flex navigator里面右击,点import,选择Existing Projects into Workspace,然后在root directory里选择SparkWeb源代码目录里的SparkWeb,点击finish

  3. 重复3,把SparkWebCommonComponents、SparkWebCore都导入

  4. 把SparkWeb源代码目录里的xiff目录名改为大写的XIFF,否则flexbuilder会提示“unable to open ‘/XIFF/bin/XIFF.swc’ ”的错误的,然后按照3的方法导入。

  5. run就可以编译了。

关于汉化

语言文件在SparkWebCore里的locale,默认提供了en.properties文件,我们可以按照里面的说明建立一个中文语言文件,并把相关字段汉化成中文。

但是这样编译后还是英文的。我们打开SparkWebCore/com/jivesoftware/spark/managersLocalizator.as,把"en"改为我们自己语言包的名称。

接着我们在flex navigator右击SparkWebCore,点properties,选flex lirary build path,点击select all,然后ok,最后编译,就是你汉化的那个版本啦。

在Ubuntu8.10中安装flex builder

首先声明其实我完全不懂flex,只不过一直很想翻译SparkWeb,所以必须安装flex builder。

那么我们装备一下吧:

  1. flex builder
  2. eclipse3.3一定要3.3x哦,不然会很麻烦。
  3. jre

然后开始安装

1.安装jre

1
sudo apt-get install sun-java6-jre

2.解压缩eclipse

1
tar -zxvf [eclipse.tar.gz]

3.安装flex builder

1
sh flexbuilder_linux_install_a4_081408.bin

最后就可以进入flex builder的安装目录启动程序了

1
sh Adobe_Flex_builder.sh

启动后改一下Perspective,选flex development就可以了

在Ubuntu下看在线电视-sopcast

今天在ubuntu下通过GMlive+sopcast实现了在线看电视。

GMLive并不直接提供P2P直播服务。 它尝试成为一款通用型的流媒体播放外壳。 它以全能的Mplayer播放器为引擎。目标是支持Linuxx下多种类型的P2P广播视频流,提供一种方便快捷的观看网络视频的方案。

sopcast是一个基于P2P的流媒体系统,在这里网友可以欣赏来自世界各地的,内容丰富的电视节目。

GMLive官方地址http://code.google.com/p/gmlive/
sopcast官方地址http://www.sopcast.cn/其实是http://www.sopcast.org/,可是我进不去。

下载下列文件
gmlive-0.21.2.tar.bz2
sp-auth.tgz
sopcast依赖 stdc++5,请准备好。

解压上面两个文件,把sp-auth的sp-sc-auth复制到/usr/local/bin

然后进入gmlive的目录,安装gmlive

1
2
3
./configure
make
sudo make install

接下来就可以看电视了。

网上还有很多优化的电视列表(不一定是gmlive的):

http://forum.ubuntu.com.cn/viewtopic.php?f=74&t=164337&sid=49887bfa1cc8d95e2d88f6a6105872ab

http://forum.ubuntu.com.cn/viewtopic.php?f=74&t=109855&sid=49887bfa1cc8d95e2d88f6a6105872ab

最后说明一下
gsopcast是sopcast的前端,和gmlive差不多,但也有差异大家可以尝试一下

配置openfire时发现的几个问题

昨天重装mysql时顺手把openfire3.3升级到了3.4.1,结果一路上碰到不少问题。因为我也是新手,之前3.3版本是老技术员安装的。重装mysql之前,我先把openfire的数据库备份了。

1
2
mysqldump openfire -u [username] -p >openfire.bak
#输入密码

[username]为你数据库的用户名 然后用apt-get重装了mysql。其实你是可以保留数据的,但是我想重新把mysql整理一下,所以全删了。配置好基本的帐户,再导入数据库。

建立数据库openfire

1
mysql -u [username] -p openfire