Tag Archives: Linux

OBS使用简要说明

OBS,Opensuse Build Service,是一个类似ppa的在线打包服务,和ppa相比有如下优点:1、不限于一个发行版,根据说明,支持Fedora,Opensuse,Debian,Ubuntu,CentOS,RHEL,Mandriva等等发行版,2、管理工具有SCM的特性,会记录版本,3、使用https协议进行交互传输,和ppa的ftp相比使用代理更加方便(我是悲剧的教育网),4、比ppa使用简单。其他的优点就是使用上的感受了,几乎不用排队,而且系统速度明显比ppa高出一截,当然这不好说…… 那么怎么使用呢?首先到https://build.opensuse.org/ 注册并登录一个帐号,这时候会分配给你一个默认的project,名称为home:username。这时候你就已经可以开始工作了,这里和ppa相比少了进行公钥验证的步骤,快得多。然后你可以通过web ui添加你自己的包。更方便的是你可以通过对别人的包建立一个fork来建立自己的包,更加方便快捷。 然后你需要的就是上传你的代码及spec文件(rpm包,老实讲obs的deb和ubuntu的文件似乎有点不同……没有认真研究),这时候系统就会好心的帮你做好所有事,而且如闪电一般。 这时候我想讲讲我走的一个弯路。我发现web ui上面似乎有一个很方便的功能,为一个包添加一些service,在每次启动编译之前都会主动执行一次,似乎支持从svn和git上面直接抓代码,我当时一看,这感情好啊,然后就抓代码。但是杯具的是,其他各种service的参数几乎都没有说明(比如解压),看得我一头雾水,跑去浏览别人的obs,发现要不就是失败,要不就是没有用这项功能。总之我的结论是service这个功能缺少文档……还不太完善,不推荐使用。 那么就需要使用opensuse提供的一个cui工具,osc。 首先进行checkout(类似svn) osc checkout home:<username> 你会得到一个目录home:<username>,目录下有你的包的对应目录。 然后执行: osc meta pkg -e home:<username> <packagename> 建立你的包,我没有用这个命令,而是在web ui创建的(等价),所以我不是很清楚这个命令具体情况…… 再执行 osc up 进行更新,怎么样,和svn 很像吧。 剩下你所需要做的就是 osc add <filename> osc commit 添加你的文件并提交。 然后obs就会happy的自动帮你编译好啰。 慢着,其实这时候你还忘了一件事,就是指定你要编译哪些发行版的包,你需要在你的project首页,有一个repositories的链接,这里面就是指定编译哪些发行版的包的地方了,所以你遇到的另外一个问题就是,如何用一个spec编译多个发行版的包。其实也很简单,不同发行版会指定一些不同的变量从而在spec文件当中判断的,比如我就用了: %if 0%{?suse_version} BuildRequires:  dbus-1-devel … Continue reading

Posted in Linux | Tagged , , | 2 Comments

KDE 4.5 beta的新变化

很多人都写过,就不多说了 窗口边框模糊效果 konsole标签页快捷键终于和世界同步了,不过我反而不习惯了…… 整体桌面 桌面也可以切换 高度集成的Aurorae引擎(无法区别独立的Aurorae引擎,而是作为一个个的窗口边框样式),新选择界面布局 期待正式发布时更加稳定

Posted in KDE | Tagged , , | 2 Comments

KDE 4.5 风格的fcitx托盘图标

未发布,欢迎围观,顺便一提,这不是xpm,是png! 看着还行吧

Posted in fcitx development | Tagged , | Leave a comment

KDE的共享Widget

大家如果更新到KDE 4.4之后,可能会发现一个以前没有出现过的选项: 这个是干什么用的呢?很多人可能完全没有发现这个如何使用。首先来看一个演示视频: http://saber-personal-project.googlecode.com/files/kde44-remote-widget.mp4 目前我发现的和桌面集成起来的方式如下: 首先安装Avahi,Avahi是什么呢?简单的说Avahi是一个zeroconf的开源实现,可以用于发现或者发布网络内的服务,例如sftp服务等等。同时安装nss-mdns,用于dns发现,根据http://wiki.archlinux.org/index.php/Avahi,需要在/etc/nsswitch.conf将 hosts: file 修改为 hosts: file mdns4_minimal dns mdns4 安装好之后需要先启动Avahi,在Archlinux下面就是执行 /etc/rc.d/avahi-daemon start 或者将它加入到rc.conf的DAEMON当中,需要在dbus之后。如果你是刚刚启动Avahi,你可能需要重新启动plasma(注销即可)。 然后对一个plasmoid选择共享,看看自己的桌面是不是已经有提示了呢?根据测试,需要双方同时启动Avahi才能让对方也接受到这一信息。然后就是密码同步,用过蓝牙的就会发现这和蓝牙的配对很像。需要注意的是,不是所有plasmoid都支持共享。例如文件夹视图,或者桌面像框,通过上述操作就会发现实际上和自己添加一个新的没有区别。 这是一个很有趣的实现,KDE4从开发以来似乎很注重网络方面的应用,例如和kde-look.org的集成,很方便的就可以安装plasma主题,或者下载新的颜色,壁纸。通过这个机制能够实现一些很有趣的应用,比如即时的聊天窗口?目前这个功能还没有很好的集成到plasma桌面当中去(没有浏览某个地址的功能)。不过我们可以期待KDE4.5是否有更好的演化:) 另外如果不想用Avahi,可以命令行执行 plasmoidviewer “plasma://host:4000/plasmoid名称 于 host” 不要惊讶,确实是中文,当然别的locale就是对应的罗。例如 plasmoidviewer “plasma://sslaptop:4000/现在收听 于 sslaptop” 同样从这里可以看出,端口是4000,设置了防火墙的同学注意咯。

Posted in KDE | Tagged , , , , | 1 Comment

c程序调试

我是不知道大家用什么东西,很多人可能很喜欢kdevelop的gdb集成,也喜欢kdbg,或者用anjuta,eclipse的cdt,或者用vim+gdb,emacs+gdb 其实我个人使用cgdb的,一听名字就知道,还是gdb,console程序,上下分栏,方便查阅代码,搜索是类vim的操作。 我推荐身边的人还是用kdevelop和kdbg啦,和别人合作的时候用的是kdbg 用cgdb的优点在于,可以在tty里调试,尤其是调试fcitx的时候,断点命中的时候窗口可是会死掉哦……所以呢…… 另外很奇怪的是我这里的xterm如果不启动fcitx的情况下貌似没有xim支持,调试fcitx不会死耶…… 吐槽: eclipse太卡卡卡卡卡卡……真的,太卡了……eclipse的最强特性:卡……为了eclipse给笔记本加的内存…结果我笔记本还是ddr1,一条1G的内存300多……

Posted in Linux | Tagged , , | 3 Comments