转载时请以超链接形式标明文章原始出处和作者信息
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)
转载时请以超链接形式标明文章原始出处和作者信息
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!
本该在上周发的,一首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
是和你说再见
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.