Download - Modern Linux Desktop Stack
![Page 1: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/1.jpg)
1
Modern Linux Desktop Stack
http://nutsfactory.net/COSCUP 2013 @ TICC
2013-08-03
![Page 2: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/2.jpg)
2
Rex Tsai 任職 Canonical 軟體工程師, 超過十年的 Linux 使用者、開發者,
活躍於台灣開放原碼社群。
http://about.me/chihchun/
![Page 3: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/3.jpg)
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
![Page 4: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/4.jpg)
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
![Page 5: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/5.jpg)
5
Session BusSession Bus
System BusSystem Bus● Init by /sbin/init● System service
● Init by user session● User's application
![Page 6: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/6.jpg)
6
![Page 7: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/7.jpg)
7
Many application supported
![Page 8: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/8.jpg)
8
Messages
![Page 9: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/9.jpg)
9
Built-in security
![Page 10: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/10.jpg)
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
![Page 11: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/11.jpg)
11
Authentication
PolicyKitPolicyKit
ConsoleKitConsoleKit
● Defined policy on actions● /etc/polkit-1/localauthority/*
● The new `last'
![Page 12: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/12.jpg)
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
![Page 13: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/13.jpg)
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
![Page 14: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/14.jpg)
14
![Page 15: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/15.jpg)
15
![Page 16: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/16.jpg)
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
![Page 17: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/17.jpg)
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
![Page 18: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/18.jpg)
18Kernel, driversKernel, drivers
Plumbing (hal, devicekit)Plumbing (hal, devicekit)
IPC (D-Bus)IPC (D-Bus) KauthKauth
SolidSolid
KPartKPart
KIOKIO
![Page 19: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/19.jpg)
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
![Page 20: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/20.jpg)
20
KernelKernel
Android HAL (RIL)Android HAL (RIL)
RIL socketRIL socket
ofoneofone
Telephony clientTelephony client
Radio
![Page 21: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/21.jpg)
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
![Page 22: Modern Linux Desktop Stack](https://reader031.vdocuments.mx/reader031/viewer/2022020115/554f5bebb4c905c8088b46ce/html5/thumbnails/22.jpg)
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