openSUSE 特殊国情有关的 FAQ

引子 —— 能解决的是技术,不能解决的是人心。 为什么我们开发者要用 Gtalk 和 IRC? 跟 Google 没一毛钱关系。我们需要一个全球性的网络,因为我们面对的不只是用户,还有其它国家地区的开发者。就 openSUSE 来说,我没有理由去要求台湾地区的开发者用 QQ,也没有理由去要求他们的用户在官方论坛转简体。我们需要开放而成熟的技术,以便于进行二次开发。二次开发就是「修复」一些原本没有「坏」的东西来满足自己的需要,非开放而不能为。Gtalk 后面的 XMPP 协议坏了吗?没有,但是我需要与 IRC #opensuse-cn 互通的机器人、需要群组机器人、需要网页的聊天记录,于是我「修复」了它。现在我们有了 ~~talk@suse.ws,有了 https://talk-marguerite.rhcloud.com。~~Update: Gtalk 群组地址变更为 talk@suse.org.cn。(IRC/Gtalk/QQ 群三网合一),聊天记录地址变更为 https://forum.suse.org.cn/log.html 而 IRC 就像你们的 QQ 一样,我一样不爱用。我至今不会它的指令,也不会每天挂着。但是有需要我还是会去,就像开会要去会议室一样。你可以不参加会议,你可以选择不去会议室听自己非常想听的东西,但你不能要求别人围着你的桌子开会。 为什么我们要用论坛? 我们需要一个 default to open 的地方,能够存档我们回复过的东西,避免重复工作。 我们需要一个延时的地方。避免你滴滴滴滴吵到我们的工作和生活。 我们需要一个多人的氛围。 为什么我们要用维基、文档甚至 manpage? 我们需要一个说明书性质的东西。 说明书一个人是写不完的,在所有人都有权利去写的情况下,说维基、文档不全实际上是在骂你自己,不全?你干嘛了? 为什么我们不用 QQ 群? Update:1. 勇敢地像现实低头 2. Gentoo 社区的 microcai 博士开发了搞定 QQ 的 avbot, Fcitx 社区的 csslayer 翁学天博士友善帮助在自己的服务器运行它,Ubuntu 社区的 shellexy 大神帮助推荐了印度阿三的人肉验证码识别服务 3. 我的一些个人思想转变。于是支持了。但是,QQ/贴吧永远只会是你 Linux 生涯的一个暂住之地,如果你非要永久居留,那你是体会不到 Linux 社区的魅力的。我们为你点亮了一盏灯,而不是帮你推倒窝棚鸟枪换炮,真正的风景在 openSUSE 中文论坛 它不是 default to open 的。 它是实时的。 ...

March 26, 2013

培育开源 NGO 的一些思考

这是周六北京 GNOME 小组活动 openSUSE 社区的讲稿。撰稿人是我。主讲人是来自 SuSE 的 Lance Wong。 大家来自不同的社区,面对的问题也不同。我这次先来拨一拨 openSUSE 中文社区这只洋葱。 首先提到 openSUSE,大家想到的应该是: 华丽 稳定 用户少 很少人讲 千年老二。红帽的小弟。 一个华丽而稳定的系统,为什么 Linux 中文圈却没有声音?我能想到的有两方面: 宣传不到位 沉默的大多数 这就是我们的现状。为什么会有这些现状,玛格丽特有几篇选料生猛的文章。社区的管理者应该都有共鸣。我们试图解决这一问题。 宣传不到位 宣传不到位的常见原因有以下几种: 投入不够 政策错 没有细分用户 投入不够 这里的投入不够不只是批评 SUSE,也在批评社区自己。SUSE 对 Linux 社区一直是有期待的,这种期待到了什么程度呢?如果你是一个来自其它社区的成员,想要去参与 openSUSE Conference,我们的 Travel team 出机票。SUSE 也曾为 openSUSE 在大陆的推广做过很多工作,「最漂亮的 Linux 发行版」,听说过吧,但是很遗憾,在一个没有培育出「我应该怎样」的国家,这些努力都可悲的失败了。这是所有开源活动都会面临的问题,玛格丽特总结的很好,大家都是站在泡沫上的,人家爱的就是你这股冒傻气似的不要钱。 金钱社会,奉献总是看得很轻。这就是为什么至今中国开源运动的中坚依然是 70 末 80 初这些人。因为理想已经被现实取代了,我们没法在用「开源是为人类解放」来招揽用户了。或者说,在一个全民追求「装逼又不贵」的社会,我们已经断代了。在这样的社会,用户的多少已经不能说明问题了。我们必须认识到:现在是末法时代,不是传教的时代,不是我扯起大旗就能拉帮结伙的时代,而是,我们要把我们的理想,贩卖,给我们想要卖的人。 为什么要批评社区呢?因为中文社区没有发出过自己的声音。会哭的孩子有奶吃。Ubuntu 宣传的多,人家就认识它。你中文社区没有哭过,国际社区和 SUSE 又怎么会知道你饿? 很幸运,现在这个问题已经开始着手解决了。SUSE 中国目前指定了两位 Site Manager,Sunny 和 Jia ju 来作为联系社区的纽带,再加上 SUSE Desktop Team 的协助,弹药的问题总算解决了,现在能拉起一个加强排还是一个加强连,就看社区能够吸引到多少大头兵了。 政策错 这是很多社区都不愿承认的问题。Linux 社区总是基友少,嘴炮多,越活跃的,嘴炮越多。像 openSUSE/Fedora 这种完全没冲突的基友社区,少。但我想问一句,我们的理想不是一起的么? ...

March 23, 2013

openSUSE 中文社区面临的若干问题

一直有人批评 openSUSE 的玛格丽特时代带了意识形态,还给我总结出两个凡是:凡是 openSUSE 的都是好的,凡是 openSUSE 上出现的问题都是用户不对。那我就来巴一些坏处,只有一个声音是不对的。但我巴坏处肯定是想让它好,毕竟我是玛格丽特女王大人。 (一) 中文社区 Ubuntu 肯定是最大的中文社区,Arch 肯定是最活跃的中文社区,Fedora 肯定是最爱交际的中文社区,openSUSE 肯定是最宅的中文社区。 首先我们应该没有多少活跃的大学用户。我们的用户据我观察应该是企业用户居多。这种人的优点在于他们都非常强,缺点在于他们都非常懒。如果我能解决自己的问题,而且我只用 openSUSE 挣口粮,那我为什么要帮助你使用 openSUSE?你能想象一群 Intel 员工,SuSE 员工,中兴的软件开发科长做你的成员,然后中文社区的基础设施是一个人生前 22 年没见过立式服务器的女生搭建的么?就像我在 Gtalk 群里怒喷的一样:你们呀,什么都会,就是不帮我,对吧。 其次我们一直是一个单核心的社区。我不是说开发,是说社区建设。开发牛人多了去了,我这种 CPP 指针数组都不会的肯定排不上号。苏哲时代(SuSE 9),我在上初中,但提 SuSE 9 老人都知道,几乎就是:Linux 是 SuSE 9 与硬件通信的工具。Thruth 时代,我在上大学,「用 SuSE 就是用 Thruth」,这也不是我说的。现在是缝缝补补吃老本的玛格丽特时代。我不会开发啊,只能根据长老们灌顶得到的经验盲修 bug,修好了,说明我逻辑和交际比较强。我一般是,看到 bug,用人类逻辑而不是机器逻辑去猜,不能开机?好,systemd,然后去找 Lennart; btrfs?去找 John; GNOME?Vincent/DimStar; Build Service?Adrian/Coolo; 输入法坏了?翁学天出列; Bash 支援?花花; Python?以前是 Hicro Kee 现在是 Felix Yan。懂了吧,openSUSE 的社区管理对我来说就是打牌,我就是拿着满手不情不愿看你是女生帮帮你的大王,用户出什么我都出大王,用户出大王?好,是用户你的不对,我不赢钱白跟你玩牌,你怎么能出大王赢我呢? 但我给自己的定位是 Coordinator,中文翻译为办公室主任。我希望 openSUSE 有几个强有力的男性领导,各管一摊,有推广的,有集会的,有开发的,有答疑的,有翻译的,有维基的…然后我就每天上线发 task 定 deadline 随手卖个萌就好。但是没有。于是手比较贱(处女座就是你骂我一句我下套也要还回去,不然今天就不完美了我睡不安稳),慢慢就都抓自己手上了。一个单核心的社区是没有活力和前途的。商业上是该给那个核心上巨额保险。但开源事业不行,我要钱干嘛?我就要东西。你能跑到保险公司去说哦如果玛格丽特不用 openSUSE 了你赔我一个能妥妥的骑住微软的 openSUSE 吗? ...

March 21, 2013

OpenShift 搭建 rawdog 实现部落格聚合

因为 Planet openSUSE 的管理员一直 unavailable,导致我无法正常的推送对 Planet 的修复和处理中文新成员的加入,考虑到中文博客又太多,总去找一个 unavailable 的人,两边都互相嫌嘛,于是就架设了这个:community.suse.org.cn Update: 挂了 这篇文章中的教学其实我只完成了一半,python wsgi 前台是 Arch 维护者 Felix Yan 帮写的,所以在前面感谢一下 co-worker。 准备 你要去开一个新 Application,类型是 Python 2.7 Community Cartridge,然后要新添加一个 Cron 1.4 Cartridge。其它的 openshift 必要知识我假设你已经了解了,不了解的话请去看我之前的文章。 rawdog 架设 rawdog 是 KDE 社区开发的部落格聚合程序。简单说,这就是一个 python 程序,它只能获取 feed,并输出 HTML,至于怎么让 HTML 能被用户在互联网上看到,这就是 HTTP Server 需要做的事情了。而 openshift python 默认的 HTTP Server 就是 Apache + python wsgi。如果你用 VPS 还可以使用如 Apache,Nginx,Lighttpd 等配置 FastCGI 什么的。HTTP Server 这块我不懂,所以只能拿人家写好的 Server 出来讲。但是一定要记住,只配置好 rawdog 你才成功了一半。 另外这里我用的也不是原装的,是三转之后的 rawdog,就是被 Planet openSUSE 改了一次,我自己又改了一次的。代码在 susews-planet。 ...

March 19, 2013

openshift 搭建和 IRC 频道互通的 Gtalk 群聊

Long long ago,大概八九个月前,看到翁学天的 ikde 群居然能和 IRC 互通,感觉很惊艳,于是也想弄一个替代现在的 opensuse_zh@im.partych.at。 Party Chat 是一个很好的免折腾 Gtalk 群聊主机服务,架设在 Amazon 上面,但是有以下缺点: 不能和 IRC 互通。作为一个开源社区,要是没有利用上 IRC,总感觉少了点什么。 在线时间不能保证。也就是说你没有 schduled_maintenance 的权利,只能它在线你就聊,它离线你就歇息。 大于 300 人的群拒绝服务。也就是说你的群是顶着地雷的,到了 300 人整个群就会消失,因为 Party Chat 不能承担那些多出来的流量钱。你交钱也不给你提供额外服务。 所以几十个人的小社群还是可以应付的,但是人满了之后迁移成本特别大。所以就想着趁人少迁移到 ikde 那种高级群里去。 打听了一下,这种群聊是使用依云(@lilydjwg 写的两个软件在 VPS 上搭建的,分别是 xmpptalk 和 ircbindxmpp。 但问题出来了,我没有 VPS。当时 openshift 这种 PaaS 已经出现了,只是还比较新鲜,我不会用。于是去年 9 月的一次尝试就可耻地失败了。 当时(甚至至今)网上关于这两个软件的文章只有两篇: 依云自己的介绍性文章,但是太粗略了。 StarBrilliant 的稍微详细一些的文章,但是还是有点犯了程序员的通病:普通用户不知所云。如果你是一个已有 VPS 的博主,看了也得折腾一会儿,要是麻瓜的话,恐怕也就只能看个热闹了。 于是逼迫我们群里的 douglarek 写了一篇在 openshift 上折腾它们的文章给我: Openshift 折腾 xmpptalk 但实际上这篇文章很水。反正看过就知道啦,到处都是「凑合」。实际上你看它也根本架设不起来(好多致命细节都没说)。 当时我就是在这种情况下开始折腾的。 首先我开了 Do it yourself 应用,然后进去编译,结果很悲剧,红帽给的内存太小,mongodb 编译不成功; 后来我使用 Build Service 模拟了一个 openshift 环境(一个 x86_64 的 RHEL),然后编译编译,我犯懒了… ...

March 17, 2013

openshift 安装 owncloud 取代 Google Reader

Google Reader’s sunset is the dawn of ownCloud news. 翻译过来就是 GR 的夕阳正是 ownCloud 新闻订阅的佛晓。 相信 Google Reader 在 7 月 1 号关闭对大家都是一个打击,虽然大家的未读都是 1000+。但是一种生活方式突然变了,总归有点怅然。至少我听闻这个消息的时候第一反应就是:妈呀!我的那么多红心怎么办! 是小企鹅输入法的作者翁学天让我意识到了:哦,好在还有替代。虽然我是它的简体中文翻译者,但是我以前真的不知道嘿嘿。 首先这个替代目前装起来还是有一点困难的。所以需要一个这样的中文教学来教大家怎么才能装上有 News 的 ownCloud。 我们开始吧。(以 openSUSE 为例) 下载 首先我们需要 Git。因为现在只有 Git 版的 ownCloud Apps 才有这个功能。 sudo zypper in git 安装好了 Git,我们需要下载这些源码 git clone https://github.com/owncloud/core 这是核心组件。 git clone https://github.com/owncloud/apps 这是带 News 的 apps。 git clone https://github.com/owncloud/themes 这是新的 responsive 主题。 git clone https://github.com/owncloud/3rdparty 这是一些第三方的比较好用的 apps。当然如果不用也可以不装(我装了也没发现有太大用)。 ...

March 15, 2013

SUSE 新年飨礼

亲爱的 openSUSE 贡献者们, 为了感谢您在过去的一年中为 openSUSE 项目所做的杰出贡献,值此新版发布在即,SUSE Desktop Team 的 FJKong 孔叔从 SUSE 市场部虎口夺食,抢到了一些礼品送给大家(实物图见下文)。礼品价值不是很高、数量也很少(因为我们没有社区经费,礼物也不是 SUSE 官方支出,纯属孔叔和市场部员工的个人情宜(?哈哈)得到的,所以我们会尽量把礼物交给已经证明最能呵护它们的贡献者),主要是为了表达一份微不足道的心意,openSUSE 没有忘记你们,正是你们或多或少的在他人眼里可能很怪很傻很宅的贡献,支持着 openSUSE 一直有勇气有动力面对不可知的未来,在这个 complicated 的世界里艰难前行。 同时新官上任的 SUSE Desktop Lead 梁辰晔(Da Liang)梁叔(原 SUSE 北京服务器组的 Senior)携 Desktop Team 全体同仁 Lance, 王伶卓,向 openSUSE 中文圈的用户们致意。(郑宇 jzheng 郑叔从 SUSE 暂时跳槽到 Canonical 准备创业中,但仍然在 openSUSE 社区和论坛上积极出没) 先上图(由于我个人并不参与此次礼品赠送,所以内部细节我可能描述的不是很清楚): 手包(似乎是装卡的,不知能否装钞票): 水晶笔(似乎是 SUSE 标的中性笔杆): 马克杯(去年我收到一个,图也是去年的): Novell 杯具 数量: 手包:6/8 个 水晶笔:7/9 个 马克杯:1 只 公仔:0/1 只 领取人: hillwood,重庆道桥,公仔一只 douglarek,英特尔北京,手包一只,笔一只 一些说明: 公仔是可遇不可求的,因为这是 SuSE 中国的营销道具,至少需要提前一年预定(hillwood 是补去年的货,他也不参与今年的礼品赠送),稀缺到了什么程度呢,全日本就两只(SUSE JP 持有),全台湾据我所知个人持有的只有 swyear 一只。 ...

March 8, 2013

openSUSE 下的 Fcitx 输入法

这是给 openSUSE Marketing team 做的,大概会写到 news.opensuse.org 的 12.3 发布日志上。介绍了一些 Fcitx 的多语言支持和高级功能。 Youku: Download: http://115.com/u/26338483

March 5, 2013

openSUSE Linux 战渣浪详解教程

自从去年十一申请到哔哩哔哩账户,一直也没有加入阿婆主的行列中去,我心有愧…于是就做了一个授人以渔的从原理到实现的教程,讲述了一些阿婆主喜闻乐见的基础知识。 “战渣浪” 原理 Av Fun 和哔哩哔哩的视频都是外链到渣浪、土豆、优酷这些视频站的。 平均码率大于 1047KB/s 的视频会被二次压缩(我没写错,我也不懂为什么会有这个奇葩的设定) 非 flv 封装格式的视频会被二次压缩 视频非 AVC 编码、音频非 AAC 编码会被二次压缩 二次压缩首先会掉帧,其次会过审。你投原创自然没问题也不需要战,我只看影视区的。 来战! 查看平均码率 FFMpeg 查看码率的方法是 ffmpeg -i 视频文件 Input #0, matroska,webm, from '谎言满屋.House.of.Lies.S01E01.Chi_Eng.AC3.1024X576.x264-五零字幕组.mkv': Metadata: creation_time : 2012-06-06 12:52:18 Duration: 00:33:28.38, start: 0.000000, bitrate: 1585 kb/s Stream #0:0: Video: h264 (Main), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default) Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s (default) MPlayer 查看码率的方法是 mplayer -vo null -ao null -identify -frames 0。其中最重要的是 -identify 选项,意思是去识别视频信息。-frames 0 表示不播放,-vo null -ao null 表示使用 null 驱动(也就是不使用视音频驱动,这样你就能通过 ssh 在服务器上识别视频信息了)。 ...

February 24, 2013

openSUSE 下玩围棋

Update:更新了评论里两位巨巨指正的技术错误和建议到正文中。 主要是整理下 Linux 下面的围棋软件近况、设置方法和已知故障。 引擎 GNUGo 这个是所有围棋软件的后端,简单说就是个棋力十二级的机器人。 不是很明白这里的电脑棋力单位“级”与我们人类的棋力单位“段”的换算关系,因为电脑肯定没法参加人类的段位考试,而两者也很少对弈,围棋引擎很奇怪的,中低段位的人类和引擎对弈,基本很难赢。它的思考方法和这些段位的人类很不一样,比如人类会在开局考虑一些谋篇布局,而电脑只有那几个布局定式,根据你落子的位置优化选出一个; 人类在中盘会考虑大局,而电脑除非你不与它对抗(它就按照定式走),如果出现对抗那它的算法就是怎么堵截你在数学上最优,而人类肯定不是这样,有些禁忌位也一样有人放,即所谓的“妙手”、“妖刀”,当然更多的还是“俗手”、“蠢手”。而高段位的人类和引擎对弈中,引擎被虐的很惨,还不如三段的人类去下,因为高段位的变化很多,思考质量也不亚于电脑。 围棋引擎流行的能跑在 Linux 下的有这些:Fuego(棋力 9 段,9×9 棋盘), GNU Go(棋力 12 级), MoGo, Pachi(棋力 4 段),其中开源最强的是 Fuego(因为闭源引擎用的多数不是蒙地卡罗方法,强是应该的)。 当然这些强弱是对有几年棋龄的业余棋手而言的,我们这种入门小菜哪个都下不过,随意选个就开始好了。一般发行版都会带 GNUGo。我们就用它了。 另外关于围棋程序比较好的网站是:Sensei’s Library,有各种引擎比较详细的介绍和测评,至于界面,还能用的我都在下面整理出来了,完整列表见此。 界面 gGo Pandanet 电脑围棋界比较有名的熊猫网出的。Java 写的,最新版本发布于 2004 年。 RubyGo Ruby 写的,最新版本发布于 2005 年。 qGo Qt3 写的,最新版本发布于 2008 年。 CGoban 这其实是围棋网 KGS 的官方客户端。Java 写的,版本也比较老。 glGo Pandanet 出的,最后更新于 2008 年,但是依赖很烦,依然依赖 python 2.5。没有源代码(网页打不开),非开源软件。 这些都是老黄历了,网上宣传的基本也都是这些,因为这是 IGS 或者 KGS 这些业内比较知名的组织开发的。但是在现今的 Linux 上都比较难跑。我整理了一份比较好跑的界面: qGo2 这是 qGo 的 Qt4 移植,可以说几多波折,开发者换了一个又一个,因为它太强大了,支持这些战网:IGS, WING, LGS, CyberORO, Tygem, Tom, and eWeiqi 的对弈和观战(看好了后面两个是中国的),还是目前最强大的 sgf(通用围棋棋谱格式,用于复盘和自己打谱)编辑器。 quarry 这是一个本地围棋和五子棋客户端。用 GNUGo 或 GRhino 做后端。配置 GTP 后端的时候要加 -mode gtp –quiet 参数才能把 /usr/bin/gnugo 跑起来。 kigo 只用于 KDE,自动识别后端。我目前用这个。但是有一个 Bug 就是电脑不会认输,走不下去了就一直下虚手(跳过),需要你手动结束游戏才能统计“目”。 其中前两者我都有打包,但是还没有推送到 openSUSE 的 games 源,迫不及待的话可以用我的 home:MargueriteSu:branches:M17N 源里的 RPM。 ...

February 24, 2013