资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
June 18, 2004,1,Linux Desktop 現況與未來,Jim Huang (黃敬群) Official Kaffe Developer,June 18, 2004,2,題綱,Desktop suite 概況 非 X 架構的 Desktop Environment Desktop 標準 FreeDesktop.org 進階 X Extensions 未來的挑戰,June 18, 2004,3,Desktop suite 現況,Packaging RPM 為主 Desktop KDE GNOME Browser Mozilla Konqueror Mail Client Evolution Kmail Office suite OpenOffice KOffice,June 18, 2004,5,以 MS-Windows 為例 Object Model: COM/ActiveX Component Exchange: OLE Clipboard Manager User Interface: Rich Win32 API Configuration: Win32 Registry,Desktop 的技術層面,June 18, 2004,6,KDE 架構 Object Model: KParts Component Exchange: DCOP (Desktop Communication Protocol) Clipboard Manager: Klipper User Interface: Qt / KDElibs Configuration: serialized objects / plain text,Desktop 的技術層面 (續),June 18, 2004,7,GNOME 架構 Object Model: Bonobo (extends CORBA) Component Exchange: Gnorba (GNOME CORBA framework) / Orbit (free CORBA implementation) Clipboard Manager: GCM (GNOME Clipboard Manager) User Interface: GTK+ / GNOME-libs Configuration: GConf,Desktop 的技術層面 (續),June 18, 2004,8,Dr. Bert G. Wachsmuth 所做的介紹: Desktop environments are both a control framework and an interaction framework for programs that run on X Windows and the user. The desktop environment often includes a window manager that is specifically required by the desktop environment. It is an interaction framework because it provides a means for programs to communicate with one another in a very high-level way. The desktop environment is an optional component, since many window managers offer sufficient functionality to negate it as a requirement, but in order to make more advanced features available, a desktop environment is required.,Desktop Environment,June 18, 2004,9,June 18, 2004,10,i18n (Internationalization) / L10n (localization) 能力 良好的 Framework/Toolkit 支持 多樣化的 profile/configuration 處理 高擴充性、延展性、模組化設計 Desktop 各元件間必須同時兼具高凝聚性與低耦合度,能夠立刻 (on-the-fly) 抽換元件,而不影響既有運作,並且可以動態載入模組,藉由特定介面進行操作 應用程式間的互動性 支持強化 Desktop Environment 的 extension (以 X 架構為例) 快速更換不同外觀、環境、設定,以及各種展現 與週邊裝置 (硬體) 的整合度 對應硬體需要有足夠的抽象化設計 依循國際標準,Desktop Environment 成功因素,June 18, 2004,11,由 KDE 與 GNOME 開發者共同發起 (March 2000) 專注於 Desktop Environment 標準化與效能提升 實驗性嶄新架構 ICCCM / EWMH Fontconfig / Xft Clipboard / Drag-n-Drop XEMBED protocol Thumbnail / preview Menu system Message bus IPC system (D-Bus) Icon themes Start notification,Desktop 標準 - FreeDesktop.org,June 18, 2004,12,Open Sourced Trolltech 的 Qtopia (Qt/Embedded) DirectFB Closed Sourced ?,非 X 架構的 Desktop Environment,June 18, 2004,13,Qtopia 展示:http:/ccns.ncku.edu.tw/jimchyun/qpe/,June 18, 2004,14,FreeDesktop Platform = Desktop Platform Shared by KDE / GNOME / others ABI/API compatibility XFont Xft/Fontconfig XComposite XRender Cairo Translucency window,進階 X extension,June 18, 2004,15,字型 / 字體 / 字庫,點陣字庫 (Bitmap fonts) Console fonts BDF/PCF fonts in X Window System 向量/矢量/曲線字庫 (Vector fonts) PostScript Type 1 fonts (Adobe) TrueType (Apple, Microsoft) OpenType fonts (may include TrueType or Type 1 data), (Adobe, Apple, Microsoft),June 18, 2004,16,字型 / 字體 / 字庫,June 18, 2004,17,Font rendering engines XFree86-native FreeType 1 and FreeType 2 Application-native implementations X11 core library is showing its age 2-bit (black and white) font display only no greyscale or anti-aliasing Xft, Xft2/fontconfig, STSF etc.,Screen Display,June 18, 2004,18,Xft/fontconfig,XFree86 4.x 引入 X Render Extension Alpha、anti-aliasing、sub-pixel (server side) Xft Library Rasterize with FreeType & XRender (client side) Fontconfig Library Font accessing (client side) 獲得主流 widget set / toolkit 支持 GNOME 2.x & KDE 3.x,June 18, 2004,19,XComposite,June 18, 2004,20,Linux Kernel Hacker, Ximian 工程師 Robert Love 在 FOSDEM 針對The Linux Kernel and The Linux Desktop議題提出以下的想法: 典型的 Desktop Kernel 需求: Performance and Tuning Improved power management, suspend/resume, and laptop-related policy Better X/3D support Stable kernel interfaces Robert Love 則認為還需要對以下項目著墨: Hardware management, integration, hot-plugging, and naming Kernel events system and user-space messaging bus,未來的挑戰,June 18, 2004,21,HAL (Hardware Abstraction Layer),Linux Kernel 2.6 中,HAL 提供 D-Bus (lightweight simple message bus system) 與一組程式庫 API,以應用程式的觀點,不需要再去留意硬體偵測,甚至不需要去考慮特定的 device node FreeDesktop.org 的 HAL 專案 比方說,我們要設計一個 X Window 下 WebCam 的程式,那麼,我們只要跟 HAL 這麼打交道: 請告訴我系統上關於 camera 的硬體清單,June 18, 2004,22,HAL & Hotplug scenario,June 18, 2004,23,Penzilla intgrated Mozilla,June 18, 2004,24,謝謝!,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号