modern linux desktop stack

Post on 10-May-2015

767 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Talk on Linux Desktop Stack for COSCUP 2013 http://coscup.org/2013/ 介紹近幾年來的 Linux Desktop Stack 的發展與近況,基於 Ubuntu 桌面系統,預期含括 Networking, Accounts, Policy Kit, dBus, init scripts, graphic stacks 。

TRANSCRIPT

1

Modern Linux Desktop Stack

Rex Tsaichihchun@kalug.linux.org.tw

http://nutsfactory.net/COSCUP 2013 @ TICC

2013-08-03

2

Rex Tsai 任職 Canonical 軟體工程師, 超過十年的 Linux 使用者、開發者,

活躍於台灣開放原碼社群。

http://about.me/chihchun/

3

Pre-Desktop eraPre-Desktop era

GNOME/KDEGNOME/KDE

KDE 1.0KDE 1.0

POST-PC / Mobile eraPOST-PC / Mobile era

July 12, 1998 July 12, 1998

History of Linux Desktop

4

Kernel, driversKernel, drivers

Plumbing (hal, devicekit)Plumbing (hal, devicekit)

IPC (D-Bus)IPC (D-Bus) Access control(PolicyKit, ConsoleKit)

Access control(PolicyKit, ConsoleKit)

Desktop (nm-applet, g-s-d, gnome-control-center)Desktop (nm-applet, g-s-d, gnome-control-center)

uevent /sys, /dev, ioctls ...

Current design

5

Session BusSession Bus

System BusSystem Bus● Init by /sbin/init● System service

● Init by user session● User's application

6

7

Many application supported

8

Messages

9

Built-in security

10Kernel, driversKernel, drivers

Plumbing (hal, devicekit)Plumbing (hal, devicekit)

IPC (D-Bus)IPC (D-Bus) Access control(PolicyKit, ConsoleKit)

Access control(PolicyKit, ConsoleKit)

powerpowermedia-keysmedia-keys

xrandrxrandr

colorcolor

soundsound

xsettingsxsettingswacomwacom

11

Authentication

PolicyKitPolicyKit

ConsoleKitConsoleKit

● Defined policy on actions● /etc/polkit-1/localauthority/*

● The new `last'

12

Dbus: System BusDbus: System Bus

Network ManagerNetwork Manager

nm-applet (user session)nm-applet (user session)

pptppptp iwwpa_supplicant

iwwpa_supplicant ifconfigifconfig dnsmasqdnsmasq

Network manager

13

Power management

Kernel /sys/power/state /sys/class/power_supply*Kernel /sys/power/state /sys/class/power_supply*

pm-utilspm-utils

g-s-d powerg-s-d power

upowerupower

indicator-sessionindicator-session gnome-power-statisticsgnome-power-statistics

14

15

16

Kernel /sys/block/*, mount(), mkfs, fuseKernel /sys/block/*, mount(), mkfs, fuse

udisksudisks

g-s-d mounter helperg-s-d mounter helper

gvfsgvfs

Nemo/nautilusNemo/nautilus

Storage

17

Kernel /sys/block/*, mount(), mkfs, fuseKernel /sys/block/*, mount(), mkfs, fuse

alsaalsa

pulseaudiopulseaudio

bluezbluez

Audio

gnome-control-center sound-nuagnome-control-center sound-nua gstreamergstreamer alsaalsa

18Kernel, driversKernel, drivers

Plumbing (hal, devicekit)Plumbing (hal, devicekit)

IPC (D-Bus)IPC (D-Bus) KauthKauth

SolidSolid

KPartKPart

KIOKIO

19

Power management

Kernel /sys/power/state /sys/class/power_supply*Kernel /sys/power/state /sys/class/power_supply*

pm-utilspm-utils

g-s-d powerg-s-d power

upowerupower

indicator-sessionindicator-session gnome-power-statisticsgnome-power-statistics

20

KernelKernel

Android HAL (RIL)Android HAL (RIL)

RIL socketRIL socket

ofoneofone

Telephony clientTelephony client

Radio

21

KernelKernel

HAL / GBM, KMS, DRMHAL / GBM, KMS, DRM

Android HAL (Graphic)Android HAL (Graphic)

Libhybris (bionic/glibc)Libhybris (bionic/glibc)

MIRMIR

QtUbuntuQtUbuntu

Qt/QMLQt/QML

Ubuntu TouchUbuntu Touch

XMIRXMIR

ApplicationsApplications

Qt/QMLQt/QML

Ubuntu AppsUbuntu Apps

Graphic

QtQt GtkGtk

22

Thank you

Ref* Linux Desktop Plumbing Stack by Martin Pitt https://docs.google.com/presentation/d/15PMqKUWkDeA2GAF-x1QiZxLXbOmlRpBs1lkLOI8KcFQ/present* Under the Hood of GNOME3 — 関西 Debian 勉強会用資料http://yyatsuo.com/kansai-debian/index.html* 基本的 DBus 偵錯技巧 http://blog.nutsfactory.net/2011/03/08/test-and-debug-dbus/* Watch Bossa '09: Plumbing The Linux Desktop - David Zeuthen http://blip.tv/openbossa/bossa-09-plumbing-the-linux-desktop-david-zeuthen-1893874

top related