星期六 九月 12, 2009

FW from : 素月如何上青天

我们刚刚为SunPinyin项目建立了一个google-group。虽然oso-inputmethod项目也有一个mail-list,不过是和其他opensolaris i18n/l10n项目share的。而且似乎国内的开发者或用户,还是更习惯和倾向使用google-group作为交流的途径。因此我们就创建了这个group。

SunPinyin的开发者会使用这个mail group来讨论开发相关的问题,同时用户也可以用这个mail group来报告发现的问题。大家也可以直接发邮件到sunpinyin-developers-AT-googlegroups-DOT-com

欢迎SunPinyin的新老用户加入sunpinyin-developers-AT-googlegroups-DOT-com; 积极反馈各位在使用中遇到的问题,这将会使我们更快了解SunPinyin的bug和您的需求,并且以最快的随度修改bug和满足您的需求!

您的反馈和需求就是对我们最大的支持! 也是我们前进的最大动力!

期待您的加入!谢谢!

星期三 八月 19, 2009

My talent colleague YongSun is leaving Sun. I feel very sad to lose a so good colleague. Anyway, we have to face the fact, everything will continue. I took over SunPinYin project. Actually I have joined this project for several months. And I'm very glade to contributor userdict and Double Pinyin modules. For people who always care about this project, thanks for your support so long. And I hope you all could care this project and do more contribution as used to. Certainly new comer will be welcome very much as well!  And YonSun will still be a core community contributor too. Let us say thank Yong for his contribution to SunPinYin, and looking forward his more contribution to SunPinYin in the future.

I strongly recommend his new blog, you will find much fun here . http://yongsun.me

星期四 七月 16, 2009

(转载请注明来源地址http://blogs.sun.com/weixue)

安装了Opensolaris后,多数的用户可能马上就像要进行的应用,就是听歌,看电影了。呵呵,可惜阿由于某些原因,很多多媒体格式的解码器都不是默认安装的,可能你发现了,totem这个多媒体播放器其实什么也不能播放。。怎么办呢?很简单安转相应的解码器就行了。玩过Unix/linux的都知道其实这些解码器插件都在GStreamer里。这里为大家提供几个简单的方法可以用现成的:

1. 最有效,最简单,最全面的结局方案就是去这个网站,这里提供了很多Solaris上的多媒体软件,有的是商业的,有的可以自由使用。 把它(http://ips.homeunix.com:10906/) 加到pulisher里,直接就可以安转各种解码器的IPS 包了。比如你要安装播放flash和MPEG的解码器插件:

  1. "pkg set-authority -O http://ips.homeunix.com:10906 ips.homeunix.com" to add repository.
  2. "pkg refresh --full" to update catalog.
  3. "pkg install MBLgst-plugin-ffmpeg MBLgst-plugin-flv" to install plugins.

这里还很很多mp3, DVD的插件,转好这些包一般的视频音频基本上可以自由看听了。

2. 这个网站提供了一些:GStreamer Input Selector Plugin for OpenSolaris

http://addons.songbirdnest.com/addon/1354/versions

3. 有个热心人,自己编译了一些常用的解码器: http://blog.sartek.net/2009/05/gstreamer-stuff-on-opensolaris.html

当然,你完全也可以自己下载GStreamer,然后自己编译。

星期一 五月 25, 2009

Solaris Nevada will be "Changing Truetype Fonts path to make NV and OpenSolaris same". Post simple description one-page here for discussion.  It's automatic approved now. If you have any comments, please let me know asap.

星期一 五月 04, 2009

转载时请以超链接形式标明文章原始出处和作者信息.  :
http://blogs.sun.com/weixue/entry/build_open_x_on_solaris

OpenSolaris Project: Fully Open X Project is fully X project which include X library and application for  Opensolaris. The Fully Open X Project (FOX) will create a public Mercurial gate on opensolaris.org containing a merge of these three source bases:

  • the current OpenSolaris X code drops published by the Sun X team
  • the Xorg SPARC driver sources created by Martin Bochnig for Martux
  • the full X11R7.2 source builds created by Moinak Ghosh for Belenix
Build fox-gate: please see:  http://opensolaris.org/os/project/fox/build_inst/

星期四 四月 30, 2009

转载时请以超链接形式标明文章原始出处和作者信息
http://blogs.sun.com/weixue/entry/tip_differece_master_pty_regards

During investigation Opensolaris bug 6824625. The root cause is the different result of calling tcsetattr() for pty on Solaris and Linux.
Solaris and Linux treat slave pty differently.
For opening pty (Pseudo Terminal), there have two steps, open master device and slave device sequently. On Solaris, master pty device is not regarded as a terminal device. it regard slave device as a terminal device only.
But On Linux(I tested on Ubuntu), both master and slave devices are regarded as terminal devices.

So, tcsetattr() can work for both master and slave device on Linux. But, tcsetattr() can only work for slave pty device on Solaris. You can also use isatty() to tests if file descriptor is associated with terminal device .

It's a useful tip for porting terminal application between Solaris and Linux.

A piece of code for your reference, how to open pty: You can see that ioctl() only apply to slave device on Solaris(in macro #ifdef __sun).

FYI.

The Open Group Base Specifications : General Terminal Interface.
Concept of pty, tty..(in Chinese)

星期五 四月 24, 2009

转载时请以超链接形式标明文章原始出处和作者信息
http://blogs.sun.com/weixue/entry/which_terminal_emulator_do_you

During doing many terminal(emulator) evaluation, I found there are so many terminal emulator. And most of these support i18n feature. That means you can use it to display of input international languages character. Currently, the goal of evaluation is to weight which terminal should be high priority to be integrated in Opensolaris. Of course, there are some terminal emulator are not be listed. such like iterm, fbterm. If you need, I'll add them. Please see FOSS terminal evaluation. Hope you could leave comment to let me know which terminal is you favorate and which terminal you would like to be integrated in Opensolaris.

Your comments would be appraciated. Btw, if any xi18n support terminal I haven't listed , please let me know!.Thanks!

星期一 四月 13, 2009

本该在上周发的,一首Deep love song。。。 这首歌还有两个版本Bye Bye (Feat. Akon & Lil Wayn),Bye Bye Feat.Jay-Z。不过还是原来这个版本更感人。

This is for my peoples who just lost somebody
这首歌献给那些刚刚失去某人的人
Ya best friend ya baby
你最好的朋友、你的宝贝
Ya man or ya lady
你的男人或者你的女人
Put ya hand way up high
高高举起你的双手
We will never say bye
我们永远不会说再见
Mamas daddys sisters brothers
妈妈爸爸兄弟姐妹
Friends and cousins
朋友和堂(表)兄弟姐妹
This is for my peoples who lost their grandmothers
这首歌献给那些失去祖母的人
Lift ya head to the sky
抬起头仰望天空
Cause we will never say bye
因为我们永远不会说再见
As a child there were them times
孩提时,有他们相伴的时光
I didn't get it but you kept me in line
我还不懂事,但你将我紧紧记在脑海里
I didn't know why you didn't show up sometimes
我不知道为什么有些时候你不在
On Sunday mornings and I missed you
星期日的早上我十分想念你
But I'm glad we talked through
但我很开心我们谈了许多
All them grown folk things
他们都长成了普通人
Separation brings
带来了分离
You never let me know it
你从不让我知道这些
You never let it show because
你从不让他在我眼前出现
You loved me and obviously
因为你很爱我
There's so much more left to say
还有好多话想说
If you were with me today
你今天仍和我同在
Face to face
面对面的
Never knew I could hurt like this
从没想过我会如此痛苦
And everyday life goes on I
每天生活都继续着
Wish I could talk to you for a while
我希望我能和你聊一会儿
Miss you but I try not to cry
我好想念你但是我努力不让自己哭泣
As time goes by
时间流逝
And it's true that you've Reached a better place
事实上,你已经到了一个更加美好的地方
Still I'd give the world
然而我来到这个世界上
To see your face (bye)
看见你的脸庞
And be right here next to you (bye)
就在你的身边
But it's like you're gone too soon (bye)
但似乎你离开的太快了
Now the hardest thing to do
现在最难受的事情
Is say bye bye
是和你说再见
Bye bye bye bye bye bye
Bye bye bye bye bye bye
Bye bye bye bye bye bye
Bye bye
And you never got a chance
你没有机会
To see how good I done
来看我做的有多么棒
And you never got to see me
你从没有看到我
Back at number one
重新成为第一
I wish that you were here
我希望你能在这儿
To celebrate together
和我一起庆祝
I wish that we could spend
我希望我们能一起度过
The holidays together
整个假期
I remember when you used to
我记得你曾经
Tuck me in at night
在夜晚给我塞好被子
With the teddy bear you gave me
你给我的小熊
That I held so tight
我紧紧抱在怀里
I thought you were so strong
我曾以为你很强大
You'd make it through whatever
你克服了很多困难
It's so hard to accept the fact You're gone forever
很难接受你永远离开的现实
Never knew I could hurt like this
从没想过我会如此痛苦
And everyday life goes on I
每天生活都继续着
Wish I could talk to you for a while
我希望我能和你聊一会儿
Miss you but I try not to cry
我好想念你但是我努力不让自己哭泣
As time goes by
时间流逝
And it's true that you've
Reached a better place
事实上,你已经到了一个更加美好的地方
Still I'd give the world
然而我来到这个世界上
To see your face (bye)
看见你的脸庞
And be right here next to you (bye)
就在你的身边
But it's like you're gone too soon (bye)
但似乎你离开的太快了
Now the hardest thing to do
现在最难受的事情
Is say bye bye
是和你说再见
Bye bye bye bye bye bye
Bye bye bye bye bye bye
Bye bye bye bye bye bye
Bye bye
This is for my peoples who just lost somebody
这首歌献给那些刚刚失去某人的人
Ya best friend ya baby
你最好的朋友、你的宝贝
Ya man or ya lady
你的男人或者你的女人
Put ya hand way up high
高高举起你的双手
We will never say bye
我们永远不会说再见
Mamas daddys sisters brothers
妈妈爸爸兄弟姐妹
Friends and cousins
朋友和堂(表)兄弟姐妹
This is for my peoples who lost their grandmothers
这首歌献给那些失去祖母的人
Lift ya head to the sky
抬起头仰望天空
Cause we will never say bye
因为我们永远不会说再见
Never knew I could hurt like this
从没想过我会如此痛苦
And everyday life goes on I
每天生活都继续着
Wish I could talk to you for a while
我希望我能和你聊一会儿
Miss you but I try not to cry
我好想念你但是我努力不让自己哭泣
As time goes by
时间流逝
And it's true that you've
Reached a better place
事实上,你已经到了一个更加美好的地方
Still I'd give the world
然而我来到这个世界上
To see your face (bye)
看见你的脸庞
And be right here next to you (bye)
就在你的身边
But it's like you're gone too soon (bye)
但似乎你离开的太快了
Now the hardest thing to do
现在最难受的事情
Is say bye bye
是和你说再见

星期二 四月 07, 2009

During investigate Opensolaris bug 6824625(And 6728611 ) . There is a issue about macro Xorg, the Xorg  seems to be a remnant of old Imake world.  For example, in app/luit/sys.c, it always use #ifdef SVR4 as switch.  but on Solaris there is no pre-define for "SVR4", only pre-define "__SVR4". (check : CC -xdumpmacros -c dummy.c). For resolve this issue, X team support a header file <X11/Xosdefs.h>. So please include this header file in the program which need use CC or gcc pre-define macros.  In Xosdefs.h:

#ifdef sun
/* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4
  * This check allows non-Imake configured programs to build correctly.
  */
#if defined(__SVR4) && !defined(SVR4)
#define SVR4 1
#endif
#endif
This issue also be discussed in xorg mail-list early (Some portabity issues). Alan gave the solution on Solaris.

星期五 三月 27, 2009

Add two widgets to my sider bar. 

1. Forecast weather

It can generate a cool flash of weather forecast. You can customize the location which you care. I put Beijing China here.

2. Music player

It lets you play any web-based playlist Select this widget and then click on the edit dropdown to search for a new playlist or enter the URL of one of your playlists. You can also enter the URL of one of your own MP3s. Additionally you can configure the shape, size, visualizations, and more.

I turn autoplay off. You can click play or the song you like to play it. 

星期五 三月 20, 2009

转载时请以超链接形式标明文章原始出处和作者信息
http://blogs.sun.com/weixue/entry/how_to_complile_fetion_for

在Opensolaris上使用pidgin这个即时通信客户端,可以支持很多的协议。但是国内流行的QQ和飞信在最新官方的Opensoalris发布版里都没有加入这两个协议的支持。本文讲述如何在pidgin中使用飞信的扩展。这里是编译好的飞信扩展libfetion.so,(感谢SunYong同学编译的release版:))下载后放到 /usr/lib/purple-2 目录下,重新启动pidgin即可。

下面说说如何自己动手编译飞信fetion,首先在Opensoalris中搭建编译环境,可参考这篇文章。(如果你觉得这篇难看懂,就把Sunstudio装上先,然后装下列包pkg install ss-dev SUNWxwinc SUNWxorg-headers SUNWgnome-common-devel SUNWperl-xml-parser SUNWiconv-unicode SUNWiconv-extra SUNWgit SUNWgm4 SUNWgnu-gettext SUNWperl-xml-parser SUNWGlib SUNWgnu-automake-110 SUNWaconf

编译的步骤:

下载 fetion protocol,将fetion目录整个拷贝到:
../libpurple/protocols

修改:
../libpurple/protocols/Makefile.in and Makefile.am
在DIST_SUBDIRS中增加fetion

修改:
configure.ac,
照着qq的位置加入fetion

编译:
aclocal
autoconf
automake -a -f -c

./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --disable-binreloc --enable-gnutls=no --with-nss-includes=/usr/include/mps --with-nss-libs=/usr/lib/mps --with-nspr-includes=/usr/include/mps --with-nspr-libs=/usr/lib/mps --enable-gnome-keyring --enable-gevolution --enable-cap --disable-meanwhile --disable-nm --disable-consoleui --with-perl-lib=vendor --disable-nss CC=/opt/SUNWspro/bin/cc CXX=/opt/SUNWspro/bin/CC

make


星期四 三月 19, 2009

It reported in Opensoalris forums that "Problem with b108 and ssh -X". Because Opensoalaris already move to Xorg's X window component, so the X fonts naming style of S10 is not compatibility with it. So, when you login to remote S10 machine from locale Opensolaris, you may see message like:
> font missing: KSC5601.1992-3 for Window
> font missing: TIS620.2533-0 for Window
> font missing: ISO8859-6 for Window
> font missing: ISO8859-8 for Window
> font missing: SUN.UNICODE.INDIA-0 for Window


Please use Opensolaris/lastest Nevada as remote machine to avoid the error.
Also, when I run
ssh -X S10_machine -l account /usr/bin/gnome-terminal
error message is showed as following.
The program 'gnome_segv' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 255 error_code 2 request_code 148 minor_code 3)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)


I'm not sure the reason, it looks also because of incompatibility.

最新提交给Bigadmin的关于字体知识的文章上线了。
谈谈字体那些事(第一部分):介绍根据外形字体分类
谈谈字体那些事(第二部分):介绍根据字体数据存贮格式分类
谈谈字体那些事(第三部分):介绍字体的大小的知识


计划继续将这个系列写下去。包扩介绍字体的使用,和字体是如何显示和工作的。

星期一 三月 16, 2009

On Mar.15, another InstallFest at BeiYou University HongFu brach. Some pictures FYI.

Slide :

星期一 三月 09, 2009

Last Sunday (Mar. 8) afternoon, Techgirls Group from BLUG and BOSS (Beiyou University OSS society) in Beiyou University (BUPT) co-organizing a Girls Installfest. But this time is NOT girl only activity. ;). I received invistation to be a speaker and help to the participator to install OpenSolaris. It's good opportunity to promote OpenSolaris the community.

Almost all the participants had no any experience of using Solaris. Even it is the first for a lot of them to hear of Solaris. At the beginning,I did a twenty-minutes presentation to introduce the OpenSolaris. Then, Forrest Wu, who have been work on ZFS project as a DP for more than three years, also give a very short presentation to introduce ZFS. I believe the presentations are very helpful to attract the participated students to install OpenSolaris. Especially for ZFS. :)  This afternoon, Forrest and I helped more than ten students installed OpenSolaris (dual boot or in virtualbox) successfully.

This is a successful activity. I summarized some concern of students and issue we encountered. I think these issues/concern deserve our attention and improvement in order to attract more users.

1. Parted disk - Most of student have a WindowsXP/Vista OS, so the first thing to install dual root system is disk partition. It's seems only mast partition could be recognized by installer.

2. How much size ZFS snapshot need? very small, even you can ignore it.

3. Where I can download and upgrade software? Besides default IPS server, IPS server mirror available for China : http://pkg.unix-center.net. Futher more:
blastwave (preferred)               http://blastwave.network.com:10000/
sunfreeware                         http://pkg.sunfreeware.com:9000/

4. Instance message client application: Can I use qq and fetion? Yes, pidgin support qq and fetion protocol modules. But currently, you need compile them by yourself.   I have to say that these two instance message tools are very very popular in China. The office number by Tencent, there are 4 hundred million registered users for qq. And fetion is the fastest-growing instant messaging tools in China currently which delivered by China Mobile. So if these two modules could be integrated by default for China user, it will make OpenSolaris more closed with China user.

5. Driver, as you know this is old problem, we are resolving them step by step. The good thing is that we can see most major device drive we supported. And good news is more and more device drivers will be supported in the future.

Here some pictures I'd like share with you.


This blog copyright 2009 by williamxue