rhythmbox插件开发笔记2:背景知识学习 D-Bus&VFS&Gio& Python GTK+ 3

这次主要简单介绍下相关的背景知识 D-Bus&VFS&Gio& Python GTK+ 3 


D-Bus

D-Bus是开源的进程通信(IPC)系统,它允许多个进程进行实时通信。D-Bus提供以下功能:

  • 完成在同一个桌面会话下的多个桌面应用程序间的通信,将整个桌面会话联合成一个整体,并为进程分配生存期
  • 完成桌面会话和操作系统的通信,其中的操作系统包括内核,守护进程和进程

http://en.wikipedia.org/wiki/D-bus

下面一张图解释了linux下图形编程的一切:


VFS

虚拟文件系统英语:Virtual file system,缩写为VFS),又称虚拟文件切换系统(virtual filesystem switch),

是操作系统的文件系统虚拟层,在其下是实体的文件系统。虚拟文件系统的主要功用,在于让上层的软件,

能够用单一的方式,来跟底层不同的文件系统沟通。在操作系统与之下的各种文件系统之间,虚拟文件系

统提供了标准的操作接口,让操作系统能够很快的支持新的文件系统。

http://en.wikipedia.org/wiki/Virtual_file_system


GIO

GIO致力于为桌面应用程序提供一套现代的,易用的VFS的API。此外,还提供了对网络和D-Bus的支持。GIO的目标是做一

套克服了GnomeVFS缺点的,能够替代POSIX系统调用的API.

https://developer.gnome.org/gio/2.39/

 

下图展示了在Gtk+应用中的GIO


Python GTK+ 3 

占位,明天写。

https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html

rhythmbox插件开发笔记2:背景知识学习 D-Bus&VFS&Gio& Python GTK+ 3

时间: 2024-12-15 22:58:48

rhythmbox插件开发笔记2:背景知识学习 D-Bus&VFS&Gio& Python GTK+ 3的相关文章

rhythmbox插件开发笔记1:简介&入门

rhythmbox是gnome下一款开源的音乐播放软件.ubuntu和fedora的桌面环境中均默认安装了rhythmbox. rhythmbox架构非常灵活,几乎所有地方都可以用插件来修改.用户想实现什么功能,都可以通过插件来 实现. 为了方便开发第三方插件,官网提供了详细的插件开发教材.但是,它已经过时了:rhythmbox升级到2.99 的时候,修改了很多API(我猜是为了对应gnome3?? python3???).这次蛋疼的不向下兼容的升级导致很多 旧的插件都不能用了,有的插件开发者为

windows系统背景知识学习笔记

前言 对于每天都要在windows平台上进行逆向工程任务的我们而言,稍微了解一些系统底层的机制与实现原理,用这些背景知识来武装自己总是好的. 调试器,反汇编器,加包,解包器,虚拟机,等等,无一不是运行在windows系统上, 甚至对内核调试器如SoftICE,WinDbg等工具的使用,也要求了解一些系统的内幕. 最近抽空在阅读<深入解析windows操作系统第6版上册>这本书,因此将其中与软件逆向有关的重点总结出来,部分内容加上了个人的理解进行润色,并非断章取义,而是去芜存菁. 笔记会不定期更

端口相关知识学习笔记

端口相关知识学习笔记 端口相关知识学习笔记 本周主要精力是放在挂接上,所以知识矩阵的学习回归到根本上,所以这周发的学习笔记是关于计算机端口的相关介绍. 有过一些黑客攻击方面知识的读者都会知道,其实那些所谓的黑客并不是像人们想象那样从天而降,而是实实在在从您的计算机"大门"中自由出入.计算机的" 大门"就是我们平常所说的"端口",它包括计算机的物理端口,如计算机的串口.并口.输入/输出设备以及适配器接口等(这些端口都是可见的),但更多的是不可见的软

C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字节的值,该如何在它上面调用方法? 二:值类型转换为引用类型--装箱 2.1CLR对值类型进行装箱时:新分配托管堆内存,将值类型的实例字段拷贝到新分配的内存中,返回托管堆中新分配对象的地址.这个地址就是一个指向对象的引用. int i = 10; Object obj = i; 三:将引用类型转换为值

[Golong]学习笔记(一) 基础知识

Go编程基础 Go的内置关键字(25个) 不多 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continute for import return var Go的注释方法(和js一样) 单行注释: // 多行注释: /**/ Go程序一般结构 common_structure.go 通过 pack

ARM基础知识学习笔记

/*****************数电知识*******************/ PN结(Positive-Negative) 三极管:BJT(双极结型三极管Bipolar Junction Transistor)               FET(场效应管Field Effect Transistor)          (单极结型) 1.MOSFET (金属氧化物半导体Metal Oxide Semiconductor FET)               2.JFET(结型Junct

C++基础知识学习笔记

基本语法 C面向过程思想:程序=(数据结构)+(算法) 数据结构与算法分离,以算法(函数)为主. C++面向对象思想:程序=(数据结构+算法) 数据结构(属性)与算法(操作)绑成一个类,定义一个个对象对象=(数据结构+算法)  ,程序=(对象+对象+对象+--) 面向对象程序设计的程序员有两类:1.面向对象应用程序设计2.类库的设计 头文件:类的声明            ---类的外部接口       (成员函数在类声明中实现时,一般很简短,默认为内联函数)源文件:类的成员函数定义     -

前端开发知识学习概要

前端开发工具 编辑器 editPlus sublime 浏览器: Chrome Safari Firebox IE 插件:firebug chrome: inspect element html 组成结构 1 <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前,不是 HTML 标签: 2 它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令, 浏览器读取. 3 <html> 4 <head> 5 描述页面

Mozilla研究—深入理解mozilla所需的背景知识

mozilla是一个以浏览器为中心的软件平台,它在我们平台中占有重要地位.我们用它来实现WEB浏览器.WAP浏览器.邮件系统.电子书和帮助阅读器等应用程序.为此,我最近花了不少时间去阅读mozilla的代码和文档,我将写一系列的BLOG作为笔记,供有需要的朋友参考.本文介绍一下深入理解mozilla所需的背景知识. Mozilla非常庞大,据说有数百万行的代码.逐行理解所有代码是不可能的(也没有必要),不过要理解它的架构,以便充分利用它的功能是可能的.Mozilla涉及的技术比较多,如果不理解这