Linux
文章平均质量分 84
恺风
我思故我在,如果一个人无法独立思考,即使熟习各种工具,实质只是工具的一部分,永远无法创造工具。
展开
-
Linux Bash Shell学习(十):流程控制——for
本文也即《Learning the bash Shell》3rd Edition的第五章Flow Control之读书笔记之二,但我们将不限于此。flow control是任何编程语言中很常用的部分,也包括了bash。在这里,我们将继续学习他们。 和C不一样的是,在shell中是匹配list中的元素,因此非常适合用于命令的参数,文件列表。for格式如下:for name [原创 2009-12-28 22:05:00 · 5723 阅读 · 0 评论 -
D-Bus学习(六):Method的收发小例子
我们继续学习D-Bus,参考http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html,相关的API接口reference参考http://dbus.freedesktop.org/doc/dbus/api/html/modules.html。从底层,即libdbus学习如何发送Method以及如何等待应答,在上上次学习原创 2010-04-06 17:19:00 · 16903 阅读 · 5 评论 -
D-Bus学习(八):利用XML定义D-Bus之Server的例子
在此先感谢http://blog.chinaunix.net/u3/111961/showart_2187819.html。这是篇极好的文章。 在上次学习中,我们写了client小例子,非常简单,而且通过dbus-binding-tool生成的头文件,非常规范。相比执行,server稍微复杂些,仍然使用上次的xml文件,但是去掉annotation,更为本原一些。文件wei.原创 2010-04-21 16:49:00 · 6738 阅读 · 0 评论 -
D-Bus学习(九):利用XML定义D-Bus之Singal收发例子
在前面我们学习了使用Glib的高程捆绑方式的method的收发,现在学习singal的收发,xml例子如下 在前面我们已经学习了方法Test的处理,现在增加一个信号Hello,为了是的处理方式更为简洁,原创 2010-04-28 12:00:00 · 3829 阅读 · 0 评论 -
[转]了解 GNU GPL/GNU LGPL/BSD/MIT/Apache协议
<br />文章来源:http://iflonely.com/wordpress/2010/07/%E4%BA%86%E8%A7%A3-gnu-gplgnu-lgplbsdmitapache%E5%8D%8F%E8%AE%AE/<br />越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域,都有开源软件存在(象 WordPress,Drupal 这些开源CMS)。然而很多人对开源许可并不了解,本文介绍开源领域常用的转载 2010-07-19 13:37:00 · 5859 阅读 · 0 评论 -
MeeGo和Brtfs文件系统
安装MeeGo,发现引入了brtfs文件系统,不过brtfs不能用在系统引导,所以需要为/boot提供一个ext3分区,其他的可以用btrfs。原创 2010-06-02 09:52:00 · 4321 阅读 · 2 评论 -
关于Linux的快速启动(fastboot)和低功耗(low power)的学习记录
我今天想查一下Intel工程师放在CSDN的一个视频,名字倒是查出来叫:Moblin系统的快速启动核心技术剖析,但是怎么找也找不找了。这是一个好的技术介绍。难道给删除了。不知道CSDN是否上次查图片的时候,禁止了所有的视频。没办法了,翻箱倒柜,找到了以前做的一些笔记,先记录下来。不过不保证完全忠于原著。可能有删减。聊胜于无嘛。如果能再次公开那些技术视频就好了,我本来是想找codec和容器的资料,记得也是Intel工程师给的,后来发现什么都不见了。Intel在Meego(原Moblin)的革新,进入了Linu原创 2010-06-03 16:02:00 · 12429 阅读 · 1 评论 -
QT(1)准备好环境和.pro文件
既然MeeGo由于Nokia的缘故采用cross-plate的QT作为开发环境,MeeGo的SDK学习也将从QT开始。我们准备两个开发环境,一个是MeeGo Handset的模拟器,一个是本地Linux(用阿土,因为local的效率高,既然只是学习,采用方便的方式,最后在target中验证)。这里我们只进行学习验证的环境,不采用完整的包括rpm打包和利用QT Creator开发工具的环境。原创 2011-01-05 10:26:00 · 2583 阅读 · 0 评论 -
更改ubuntu的启动顺序
一般来说,我们都在/boot里面找,但是在ubuntu 10.10的/boot目录下面没有发现什么相关的文件。原来已经定义到/etc/default/grub,内容如下:# If you change this file, run 'update-grub' afterwards to update# /boot/grub/grub.cfg.GRUB_DEFAULT=0#GRUB_HIDDEN_TIMEOUT=0GRUB_HIDDEN_TIMEOUT_QUIET=trueGRUB_TIM原创 2011-02-01 14:13:00 · 2957 阅读 · 1 评论 -
D-Bus学习(五):Signal的收发小例子
我们继续学习D-Bus,参考http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html,从底层,即libdbus学习如何发送signal,以及如何监听signal。signal在D-Bus的Daemon中广播,为了提高效率,只发送给向daemon注册要求该singal的对象。 这个图我画了很久,我希望原创 2010-04-04 19:27:00 · 16656 阅读 · 2 评论 -
D-Bus学习(七):利用XML定义D-Bus之Client的例子
继续学习D-Bus。之前学习了使用底层的API来发送,监听消息的方式。在D-Bus学习(四):基础小例子(同步和异步)之中,我们给出了利用proxy进行发送method_call,并等待method_reply或者error的client情况。在D-Bus中,可以将D-Bus接口定义用XML格式表述处理,并利用工具,自动生成头文件,给出工整的调用方式。下面是一个XML的例子原创 2010-04-11 11:36:00 · 6009 阅读 · 1 评论 -
D-Bus学习(四):基础小例子(同步和异步)
从Tutorial中学习基本概念后,进入实战阶段,通过学习,我们给出连个小例子,同步例子和异步例子。类型和GType的映射 在D-Bus编程中,基础类型和GType的映射表格如下。在后面的程序小例子中我们会看到具体如何对应。 D-Bus basic type GType原创 2010-03-26 09:02:00 · 16931 阅读 · 1 评论 -
Linux Bash Shell学习(十二):流程控制——select
本文也即《Learning the bash Shell》3rd Edition的第五章Flow Control之读书笔记之四,但我们将不限于此。flow control是任何编程语言中很常用的部分,也包括了case。在这里,我们将继续学习他们。 select和其他流控制不一样,在C这类变成语言中没有类似的语句(C中的select用于socket,是完全不同的含义,不是流控制)。格式原创 2009-12-29 21:57:00 · 12461 阅读 · 0 评论 -
Linux Bash Shell学习(十四):命令行选项
本文也即《Learning the bash Shell》3rd Edition的第六章Command-Line Options and Typed varilables之读书笔记之一,但我们将不限于此。 在Linux命令中经常带有参数例如[-option]等等。在命令行中可能有0个或者多个这些选项。我们在之前学习了位置参数,包括$1,$2,$3…,$*,$#,参见Linux Bas原创 2010-01-03 22:17:00 · 10689 阅读 · 0 评论 -
Linux Bash Shell学习(十三):流程控制——while/util
本文也即《Learning the bash Shell》3rd Edition的第五章Flow Control之读书笔记之五,但我们将不限于此。flow control是任何编程语言中很常用的部分,也包括了while和util,他们在高级编程语言中也常见。在这里,我们将继续学习他们。 while和util的语法一样,如下:while|util condition ;原创 2009-12-31 09:09:00 · 5613 阅读 · 0 评论 -
Linux Bash Shell学习(二十):命令行处理
本文也即《Learning the bash Shell》3rd Edition的第七章Input/Output and Command-Line Processing之读书笔记之四。我们的目的是把书读薄。我们将审视Linux系统如何解析bash。 第一步骤:将命令分给为token,根据空格,TAB, NEWLINE, ;, (,原创 2010-03-22 09:35:00 · 3749 阅读 · 1 评论 -
Linux Bash Shell学习(十五):变量类型和整型运算
本文也即《Learning the bash Shell》3rd Edition的第六章Command-Line Options and Typed varilables之读书笔记之二,但我们将不限于此。 在之前,我们涉及的变量基本上是字符串,也有整数,例如便是参数个数的$#。我们可以使用declare来制定变量的属性。变量类型定义declare –a原创 2010-01-06 21:54:00 · 38336 阅读 · 0 评论 -
Linux Bash Shell学习(十六):数组
本文也即《Learning the bash Shell》3rd Edition的第六章Command-Line Options and Typed varilables之读书笔记之三,但我们将不限于此。数组元素可以是string或者数字,同变量一样。数组的index从0开始计算,最大可以为599147937791。基本上可以认为没有限制。定义方式 可以直原创 2010-01-10 23:33:00 · 8768 阅读 · 0 评论 -
D-Bus学习(二):基本概念
D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus,在网上也有大量的学习资料,在http://blog.chinaunix.net/u3/111961/原创 2010-03-24 11:30:00 · 14076 阅读 · 2 评论 -
D-Bus学习(三):消息
D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus。 消息通过D-Bus在进程间传递。有四类消息:一、Method call消息:将触原创 2010-03-24 16:56:00 · 12551 阅读 · 2 评论 -
Bottomley在Linux大会的发言:Android,forking,and control
整理一下Linux如何看待Android: 1、Android产生了Linux分叉,因为商务市场时间紧迫性的需求,走完linux kernel的审核流程可能会错过市场窗口; 2、成功的分叉对社区是有害的,社区的部分开发者会转向他们,Linux社区应帮助分叉重新合并回来转载 2011-09-05 16:54:14 · 4927 阅读 · 1 评论 -
D-Bus学习(十):在D-Bus上的telepathy[一]:纸上谈兵
现在我们在网上都有很多身份,例如我自己,就有三/四个MSN帐号,还有QQ,GTalk,而web方式的,还有几个Blog,几个vblog,总之很多。而尺寸小的手机、MID这类手持设备,我们不可以好像desktop那样,开着N个client,打开N个网页,其实我们不在乎我们在使用那个软件,我们只希望找到找到联系人。D-Bus提供了IPC通信基础,有很多机制都建立在D-Bus上面,D-Bus给出原创 2010-05-07 16:23:00 · 5405 阅读 · 0 评论 -
MeeGo handset 1.1开发环境[2]:安装MeeGo 1.1 SDK
在安装MeeGo SDK 1.1,尤其是模拟器MeeGo SDK runtime的时候出现问题,搞得我都怀疑是否是我的Fedora或者阿土比MeeGo的指引要高,装机器都装了N次了,安装过程都没有发现问题,但是运行runtime,无法进行图形界面,或者采用其他的qemu的时候出现原创 2010-11-24 13:59:00 · 4091 阅读 · 1 评论 -
MeeGo handset 1.1开发环境[4]:在SDK上实现Hello World
我们会follow wiki的guide,通过QT Creator在模拟器上运行hello world程序,然后我们会对模拟器作进一步的探讨。wiki上的参考:http://wiki.meego.com/Getting_started_with_the_MeeGo_S原创 2010-12-02 14:53:00 · 3570 阅读 · 3 评论 -
QT(3)对象和继承-Addressbook例子1
隔了几天阴冷,今天下午闪了一丝阳光。 上次我们学习了如何构造一个简单的小例子,既然QT是C++ based,因此需要知晓如何创建一个对象以及实现对象的继承,同时我们对Layout中的QGridLayout进行学习。 在上次的例子中,我们知道如果创建一个不带parent原创 2011-01-06 16:51:00 · 3981 阅读 · 2 评论 -
QT(8)变动布局Dynamic Layout
这次,我们学习下面几个问题:动态变更布局 QQueue的使用 组件之间的联动 参考来源:http://doc.qt.nokia.com/latest/layouts-dynamiclayouts.html,最终布局如图所示,并实现相关的动态变更。一个dialo原创 2011-01-20 17:31:00 · 7117 阅读 · 2 评论 -
阿土的/home/userA/的访问问题
今天上午,同事在做一个后台进程出现问题,在ubuntu上用fopen()写文件(/home/userA/xxx)时,如果无用户登录,则fopen()返回NULL,如有用户登录,则一切正常。很可能是权限的问题,但是他将该文件,以及相关路径的权限全部都设置为777。处理方式如下,不在程序中使用daemon,而是直接用&的方式起后台。问题如故。写一个简单程序,隔2秒,写一个文件,将代码压缩到十几原创 2014-02-20 11:39:08 · 1558 阅读 · 0 评论 -
D-Bus学习(一):总体介绍
D-Bus的方式在移动手机操作系统中非常重要,包括Maemo,Moblin等以Linux为基础的操作系统。估计Andriod也大量使用。D-Bus的相关学习资料见:http://www.freedesktop.org/wiki/Software/dbus,在网上也有大量的学习资料,在http://blog.chinaunix.net/u3/111961/中有不少的中文资料,原创 2010-03-24 10:33:00 · 20765 阅读 · 3 评论 -
Ubuntu下的crontab
是日,有位重其他部门过来的同事,问crontab如何使用,所搞了很久了。crontab挺好用的,之前在redhat的server版用过,那是很久之前的事情,在ubuntu的环境没有试过,虽然阿土有些处理会比较特别,想来也大同小异。后来在阿土的环境上试了一下,也就明白他为何折腾了这么久。阿土在/etc/下有相关的cron*文件,这些系统已经存在的文件,可能是针对sudo的,不是普通用户的(需要确原创 2015-03-17 21:28:07 · 1141 阅读 · 0 评论 -
我的Linux相关文章
开发篇——D-BusD-Bus学习(一):总体介绍D-Bus学习(二):基本概念D-Bus学习(三):消息D-Bus学习(四):基础小例子(同步和异步)D-Bus学习(五):Signal的收发小例子D-Bus学习(六):Method的收发小例子D-Bus学习(七):利用XML定义D-原创 2009-09-07 14:44:00 · 15582 阅读 · 3 评论 -
QT(9)自定义layout[2] - Flow Layout
在上一次学习 QT(8)变动布局Dynamic Layout中,我们在此总结一下:对于修改布局,可以通过removeWidget后在根据新的位置重新加载。为了创建新的合适的布局,我们需要重新resize布局的大小。我们需要注意到在修订时,要考虑组建之间的空间,即spacing()原创 2011-02-01 13:43:00 · 7265 阅读 · 1 评论 -
QT(7)自定义Layout
我们进一步学习构建稍微复杂一点的布局。通过对抽象类QLayout的继承来进行自己的布局。在这个例子中,我们将重构QLayout类为BorderLayout,QLayout是一个用于布局管理的基础抽象类,而也是QBoxLayout,QGridLayout,QFormLayout和Q原创 2011-01-19 17:08:00 · 7845 阅读 · 1 评论 -
QT(6)Basic Layout学习
资料来源:http://doc.qt.nokia.com/latest/layouts-basiclayouts.html,在这里,我们学习下面几个方面:以QDialog或其继承为主体,建立程序菜单menu的建立GroupBox的使用,加入水平摆放的QHBoxLayo原创 2011-01-14 15:20:00 · 5032 阅读 · 0 评论 -
MeeGo handset 1.1开发环境[3]:直接使用Qemugl
在安装MeeGo 1.1 SDK中使用的是MeeGo 1.1新提供的工具mad-admin,从安装的过程可知,其依赖于qemugl。但是这个工具不能使用最新的img,runtimes已经限定,不能更换,也例如我们自己新作了一个img,希望安装在此新的img上运营,这就吃现问题。参原创 2010-11-29 17:35:00 · 3044 阅读 · 0 评论 -
MeeGo handset 1.1开发环境[5]:一个desktop小应用
在MeeGo handset 1.1 SDK上实现Hello World中,我们进一步讨论了如何使用ssh client和hanset runtime模拟器之间进行互动:通过QT Creator作为开发环境,并在模拟器(target)上运行。如何通过ssh命令行,运行在本原创 2010-12-07 17:52:00 · 2305 阅读 · 1 评论 -
MeeGo handset 1.1开发环境[6]:封装*.src.rpm和*.rpm
在MeeGo handset 1.1开发环境[4][5]中,我们利用QtCreator工具生成了rpm包。我们去看linux的rpm包,对于某个软件包有两个rpm包,一个是*.rpm,一个是*.src.rpm,我们应当将源程序也进行打包,这样在代码管理上会好很多。此外,可能是习惯原创 2010-12-08 17:34:00 · 3194 阅读 · 0 评论 -
QT(2)Widget的小例子
在上一次我们处理好了QT学习的环境,现在可以安安静静地去学习QT,可以参考http://doc.qt.nokia.com/latest/tutorials.html。下面是step by step,创建我们的第一个QT小程序。一、搭建一个QT程序#include原创 2011-01-05 10:55:00 · 10903 阅读 · 1 评论 -
QT(4)信号、SLOT和QMap - Addressbook例子2
在之前的MeeGo开发者(五):QT(3)对象和继承小例子基础上,我们增加三个button,参考http://doc.qt.nokia.com/latest/tutorials-addressbook-part2.html 、http://doc.qt.nokia.com/l原创 2011-01-10 11:40:00 · 5170 阅读 · 1 评论 -
QT(5)Dialog - Addressbook例子3
我们丰富Addressbook的例子,增加一个Find按键,可弹出一个dialog,参考:http://doc.qt.nokia.com/latest/tutorials-addressbook-part5.html ,http://doc.qt.nokia.com/latest原创 2011-01-12 17:49:00 · 3742 阅读 · 0 评论 -
D-Bus学习(十一):在D-Bus上的telepathy[二]:进一步了解
Telepathy用于处理实时通信,主要是IM,IRF,VoIP(voice and video)等。我们的开发程序都是telepathy的client。我们将描述一下这个client的开发过程。 上图表明一个流程,根据.manager文件与某个Connection Manager建立连接,例如是MSN CM。通过连接CM接口的proxy,可以获取IM session的原创 2010-05-10 16:47:00 · 2891 阅读 · 0 评论