SlideShare a Scribd company logo
Lumina DE: 
A New Desktop 
Environment for PC-BSD 
Ken Moore 
PC-BSD/iXsystems 
Ohio LinuxFest 
October 24, 2014
Definitions: 
Panel Plugin 
(User Button) 
Desktop Plugins 
(App Launchers) 
Desktop Plugin 
(Calendar) 
Panel Plugins 
(System tray, clock, 
system dashboard) 
Panel 
Desktop
Definition: 
Desktop Environment 
● Common Definition (Wikipedia): 
“In computing, a desktop environment (DE) is 
an implementation of the desktop metaphor 
made of a bundle of programs running on top of 
a computer operating system, which share a 
common graphical user interface (GUI).” 
● Why does it have to be so complicated? 
– Does it need to include a bundle of 
applications? 
– Do all applications need to share a common 
interface?
Definition: 
Desktop Environment 
● Possibly a better definition: 
“A graphical interface providing user-level 
functionality of the operating system while 
simplifying the management and usage of 
applications.” 
● Visual Example: 
OS 
DE 
App 1 
App 2 
App 3 
User Input
Definition: 
Window Manager 
“A window manager is system software that controls 
the placement and appearance of windows within a 
windowing system in a graphical user interface. 
Most window managers are designed to help 
provide a desktop environment.” (Wikipedia) 
● Compliance with ICCCM/EWMH standards allows 
applications to work consistently between OS's 
● The level of integration between the DE and WM 
generally varies depending on the level of 
experience of the target user. 
● Most “full featured” DE's require/provide a specific 
WM for better user support and integration.
Define: Lumina-DE 
● Lumina is a lightweight, BSD-licensed 
desktop environment that focuses on 
streamlining the ability of the user to get 
work done (via 3rd-party applications) while 
minimizing system overhead. 
● Goals: 
– Minimize runtime dependencies. 
– Minimize the number of background daemons 
– Streamline launching/using applications 
– Simplify the usage of basic OS functionality 
– Strong focus on user-level customization
Define: Lumina-DE 
● What Lumina is NOT: 
– An application-development toolkit (uses Qt) 
– A graphical subsystem (uses X.org) 
– An application installation or runtime system 
(simply manages/uses applications that are 
registered with the system via the 
FreeDesktop standards) 
– An OS initialization/configuration system 
(uses pre-defined OS-specific interactions)
Dependencies 
● Runtime: 
– Fluxbox (WM) 
– X.org/Xlib with Qt 4.8+ (Graphical systems) 
– Xscreensaver, xterm, and numlockx 
– Oxygen Icon Theme 
– xbrightness or xbacklight (optional) 
● Does NOT use: 
– DBUS 
– HAL 
– Systemd 
Fresh PC-BSD 10.0.3 installation with Lumina 0.6.2 
Total System: ~0.5% CPU and ~120MB active memory use
Design Goal Example: 
Streamline App Launching 
● The UserButton 
– User Favorites 
(including desktop 
files/entries) 
– All Applications 
– Browse Home Dir 
– Configuration 
Utilities
Design Goal Example: 
Streamline OS Interface 
● The System 
Dashboard 
– Battery Status 
– Volume Control 
– Workspace 
Switching 
– Screen Brightness 
– Log Out Options
Design Goal Example: 
Enhanced Desktop 
● Panels with plugins 
● Desktop plugins 
● Right-click menu 
with plugins 
● Touch screen 
compatible with 
traditional desktop 
layout
Design Goal Example: 
Simplify Configuration 
● Single utility for most 
tasks 
– Appearance/theme 
– Desktop background 
– Panels 
– Plugins 
– Keyboard Shortcuts 
– Session options 
– Default applications
Design Goal Example: 
Easy Filesystem Usage 
● Standard file 
interaction 
● Multi-tab support 
● Simple multimedia 
player 
● Image slideshow 
● ZFS file recovery 
● Mark as favorite 
● Set/use bookmarks 
Options become available as necessary
Current Status 
● FreeDesktop (XDG) 
standards compliance 
– Application registration 
– Icon theme support 
– Environment variables 
– Mime-types 
– Localization 
– System tray 
● Multiple screen support 
● Multiple workspace support 
● OS-specific support 
– Control panel 
– Application “store” 
– QtConfig 
– External device detection 
– Screen Brightness 
– Audio Volume/Mixer 
– Battery status 
– Shutdown/Restart/Lock
Work In Progress 
● Theming 
– Simple to use 
– Color scheme 
independent 
– Custom Font size and 
appearance 
– Easily create new color 
schemes and apply to 
existing themes 
– Can extend to apply to 
all Qt applications 
system-wide 
● Search/Run Utility 
– Quick search 
● Run application 
● Open favorites 
– Full search 
● Home directory or 
system 
● Types of files 
● Search by partial 
name or file 
extension
Future Plans 
● Professional system modes 
– Kiosk mode 
– Whitelist-restricted access 
– Single-app 
– Daily/Weekly time restrictions 
● New “HUD” UI as an 
alternative to the panel 
system 
– Appears/disappears 
– Wraps around screen edges 
– Great for smaller screens or 
touchscreens 
– Retains “desktop” functionality 
w/ system tray, task manager, 
etc. 
● Qt-based window manager? 
● Distribution Configuration 
Standardization 
– Default theme 
– Default desktop layout and 
plugins 
– Default key bindings 
– Simple to setup for an 
administrator 
● Power savings 
– Suspend/resume plugins 
based on visibility 
– Internal Qt-based screensaver
Get Involved! 
● Full source repo available on GitHub 
https://github.com/pcbsd/lumina 
● Submit new plugins! (desktop/panel) 
● Porting to an OS? 
– Look in the “libLumina” subdirectory, and create 
a “LuminaOS-<OS-name>.cpp” file 
(Template available) 
– Already ported to: 
FreeBSD, OpenBSD, DragonFlyBSD, kFreeBSD, 
“Linux” (Debian, Ubuntu, Mint, Puppy, others?) 
● Test it out and submit bug reports! 
https://bugs.pcbsd.org/
Questions?

More Related Content

What's hot

Oct2009
Oct2009Oct2009
Oct2009
guest81ab2b4
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
Marc Leeman
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
Sherif Mousa
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
Emertxe Information Technologies Pvt Ltd
 
Windows Architecture
Windows ArchitectureWindows Architecture
Windows Architecture
Amrith Krishna
 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers
Ahmed El-Arabawy
 
Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]
Ionela
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Intro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication ProtocolsIntro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication Protocols
Emertxe Information Technologies Pvt Ltd
 
Device drivers Introduction
Device drivers IntroductionDevice drivers Introduction
Device drivers Introduction
vijay selva
 
The Future of the Operating System - Keynote LinuxCon 2015
The Future of the Operating System -  Keynote LinuxCon 2015The Future of the Operating System -  Keynote LinuxCon 2015
The Future of the Operating System - Keynote LinuxCon 2015
Steven Francia
 
Linux programming - Getting self started
Linux programming - Getting self started Linux programming - Getting self started
Linux programming - Getting self started
Emertxe Information Technologies Pvt Ltd
 
2013 Indiana LinuxFest - Getting Started With PC-BSD
2013 Indiana LinuxFest -  Getting Started With PC-BSD2013 Indiana LinuxFest -  Getting Started With PC-BSD
2013 Indiana LinuxFest - Getting Started With PC-BSD
Ken Moore
 
Introduction to Embedded Systems
Introduction to Embedded Systems Introduction to Embedded Systems
Introduction to Embedded Systems
Emertxe Information Technologies Pvt Ltd
 
Introduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interruptsIntroduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interrupts
Shivam Mitra
 
605 open source applications
605 open source applications605 open source applications
605 open source applications
ewhitt17
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
Sherif Mousa
 
Crafting GNU/Linux distributions for Embedded target from Scratch/Source
Crafting GNU/Linux distributions for Embedded target from Scratch/SourceCrafting GNU/Linux distributions for Embedded target from Scratch/Source
Crafting GNU/Linux distributions for Embedded target from Scratch/Source
Sourabh Singh Tomar
 

What's hot (20)

Oct2009
Oct2009Oct2009
Oct2009
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
 
Windows Architecture
Windows ArchitectureWindows Architecture
Windows Architecture
 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers
 
Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Intro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication ProtocolsIntro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication Protocols
 
Device drivers Introduction
Device drivers IntroductionDevice drivers Introduction
Device drivers Introduction
 
The Future of the Operating System - Keynote LinuxCon 2015
The Future of the Operating System -  Keynote LinuxCon 2015The Future of the Operating System -  Keynote LinuxCon 2015
The Future of the Operating System - Keynote LinuxCon 2015
 
Linux programming - Getting self started
Linux programming - Getting self started Linux programming - Getting self started
Linux programming - Getting self started
 
2013 Indiana LinuxFest - Getting Started With PC-BSD
2013 Indiana LinuxFest -  Getting Started With PC-BSD2013 Indiana LinuxFest -  Getting Started With PC-BSD
2013 Indiana LinuxFest - Getting Started With PC-BSD
 
Introduction to Embedded Systems
Introduction to Embedded Systems Introduction to Embedded Systems
Introduction to Embedded Systems
 
Introduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interruptsIntroduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interrupts
 
605 open source applications
605 open source applications605 open source applications
605 open source applications
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Crafting GNU/Linux distributions for Embedded target from Scratch/Source
Crafting GNU/Linux distributions for Embedded target from Scratch/SourceCrafting GNU/Linux distributions for Embedded target from Scratch/Source
Crafting GNU/Linux distributions for Embedded target from Scratch/Source
 

Similar to 2014 - Lumina DE Overview

OS
OSOS
Operating Systems
Operating SystemsOperating Systems
Operating Systems
Dasun Hegoda
 
1.1.1.Introduction.pdf
1.1.1.Introduction.pdf1.1.1.Introduction.pdf
1.1.1.Introduction.pdf
bemnitekalegn
 
Management information system software
Management information system softwareManagement information system software
Management information system software
Online
 
system software and application software
system software and application softwaresystem software and application software
system software and application software
Tallat Satti
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
Shaina Mavreen Villaroza
 
Operating systems
Operating systemsOperating systems
Operating systems
JoshuaIgo
 
Ch03
Ch03Ch03
Ch03 system administration
Ch03 system administration Ch03 system administration
Ch03 system administration
Raja Waseem Akhtar
 
Reformat PPT.pptx
Reformat PPT.pptxReformat PPT.pptx
Reformat PPT.pptx
LINDYLGERAL
 
Unit 2 p2
Unit 2 p2Unit 2 p2
Unit 2 p2
Joebarton1997
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
Emertxe Information Technologies Pvt Ltd
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Emertxe Information Technologies Pvt Ltd
 
ICT PERSENTATION 1.pptx
ICT  PERSENTATION 1.pptxICT  PERSENTATION 1.pptx
ICT PERSENTATION 1.pptx
Cloths Studio
 
Desktop environment
Desktop environmentDesktop environment
Desktop environment
Vasuamthibaskar Baskar
 
Lumina: A Fresh Approach to Desktops
Lumina: A Fresh Approach to DesktopsLumina: A Fresh Approach to Desktops
Lumina: A Fresh Approach to Desktops
Ken Moore
 
OPERATING SYSTEM
OPERATING SYSTEMOPERATING SYSTEM
OPERATING SYSTEM
Muhammad Asad
 
Linux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platformLinux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platform
Emertxe Information Technologies Pvt Ltd
 
Linux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell ScriptingLinux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell Scripting
Emertxe Information Technologies Pvt Ltd
 
Foundation of information system - Software
Foundation of information system - SoftwareFoundation of information system - Software
Foundation of information system - Software
rh8g7p44p7
 

Similar to 2014 - Lumina DE Overview (20)

OS
OSOS
OS
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
1.1.1.Introduction.pdf
1.1.1.Introduction.pdf1.1.1.Introduction.pdf
1.1.1.Introduction.pdf
 
Management information system software
Management information system softwareManagement information system software
Management information system software
 
system software and application software
system software and application softwaresystem software and application software
system software and application software
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
Operating systems
Operating systemsOperating systems
Operating systems
 
Ch03
Ch03Ch03
Ch03
 
Ch03 system administration
Ch03 system administration Ch03 system administration
Ch03 system administration
 
Reformat PPT.pptx
Reformat PPT.pptxReformat PPT.pptx
Reformat PPT.pptx
 
Unit 2 p2
Unit 2 p2Unit 2 p2
Unit 2 p2
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
 
ICT PERSENTATION 1.pptx
ICT  PERSENTATION 1.pptxICT  PERSENTATION 1.pptx
ICT PERSENTATION 1.pptx
 
Desktop environment
Desktop environmentDesktop environment
Desktop environment
 
Lumina: A Fresh Approach to Desktops
Lumina: A Fresh Approach to DesktopsLumina: A Fresh Approach to Desktops
Lumina: A Fresh Approach to Desktops
 
OPERATING SYSTEM
OPERATING SYSTEMOPERATING SYSTEM
OPERATING SYSTEM
 
Linux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platformLinux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platform
 
Linux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell ScriptingLinux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell Scripting
 
Foundation of information system - Software
Foundation of information system - SoftwareFoundation of information system - Software
Foundation of information system - Software
 

Recently uploaded

Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

2014 - Lumina DE Overview

  • 1. Lumina DE: A New Desktop Environment for PC-BSD Ken Moore PC-BSD/iXsystems Ohio LinuxFest October 24, 2014
  • 2. Definitions: Panel Plugin (User Button) Desktop Plugins (App Launchers) Desktop Plugin (Calendar) Panel Plugins (System tray, clock, system dashboard) Panel Desktop
  • 3. Definition: Desktop Environment ● Common Definition (Wikipedia): “In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system, which share a common graphical user interface (GUI).” ● Why does it have to be so complicated? – Does it need to include a bundle of applications? – Do all applications need to share a common interface?
  • 4. Definition: Desktop Environment ● Possibly a better definition: “A graphical interface providing user-level functionality of the operating system while simplifying the management and usage of applications.” ● Visual Example: OS DE App 1 App 2 App 3 User Input
  • 5. Definition: Window Manager “A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment.” (Wikipedia) ● Compliance with ICCCM/EWMH standards allows applications to work consistently between OS's ● The level of integration between the DE and WM generally varies depending on the level of experience of the target user. ● Most “full featured” DE's require/provide a specific WM for better user support and integration.
  • 6. Define: Lumina-DE ● Lumina is a lightweight, BSD-licensed desktop environment that focuses on streamlining the ability of the user to get work done (via 3rd-party applications) while minimizing system overhead. ● Goals: – Minimize runtime dependencies. – Minimize the number of background daemons – Streamline launching/using applications – Simplify the usage of basic OS functionality – Strong focus on user-level customization
  • 7. Define: Lumina-DE ● What Lumina is NOT: – An application-development toolkit (uses Qt) – A graphical subsystem (uses X.org) – An application installation or runtime system (simply manages/uses applications that are registered with the system via the FreeDesktop standards) – An OS initialization/configuration system (uses pre-defined OS-specific interactions)
  • 8. Dependencies ● Runtime: – Fluxbox (WM) – X.org/Xlib with Qt 4.8+ (Graphical systems) – Xscreensaver, xterm, and numlockx – Oxygen Icon Theme – xbrightness or xbacklight (optional) ● Does NOT use: – DBUS – HAL – Systemd Fresh PC-BSD 10.0.3 installation with Lumina 0.6.2 Total System: ~0.5% CPU and ~120MB active memory use
  • 9. Design Goal Example: Streamline App Launching ● The UserButton – User Favorites (including desktop files/entries) – All Applications – Browse Home Dir – Configuration Utilities
  • 10. Design Goal Example: Streamline OS Interface ● The System Dashboard – Battery Status – Volume Control – Workspace Switching – Screen Brightness – Log Out Options
  • 11. Design Goal Example: Enhanced Desktop ● Panels with plugins ● Desktop plugins ● Right-click menu with plugins ● Touch screen compatible with traditional desktop layout
  • 12. Design Goal Example: Simplify Configuration ● Single utility for most tasks – Appearance/theme – Desktop background – Panels – Plugins – Keyboard Shortcuts – Session options – Default applications
  • 13. Design Goal Example: Easy Filesystem Usage ● Standard file interaction ● Multi-tab support ● Simple multimedia player ● Image slideshow ● ZFS file recovery ● Mark as favorite ● Set/use bookmarks Options become available as necessary
  • 14. Current Status ● FreeDesktop (XDG) standards compliance – Application registration – Icon theme support – Environment variables – Mime-types – Localization – System tray ● Multiple screen support ● Multiple workspace support ● OS-specific support – Control panel – Application “store” – QtConfig – External device detection – Screen Brightness – Audio Volume/Mixer – Battery status – Shutdown/Restart/Lock
  • 15. Work In Progress ● Theming – Simple to use – Color scheme independent – Custom Font size and appearance – Easily create new color schemes and apply to existing themes – Can extend to apply to all Qt applications system-wide ● Search/Run Utility – Quick search ● Run application ● Open favorites – Full search ● Home directory or system ● Types of files ● Search by partial name or file extension
  • 16. Future Plans ● Professional system modes – Kiosk mode – Whitelist-restricted access – Single-app – Daily/Weekly time restrictions ● New “HUD” UI as an alternative to the panel system – Appears/disappears – Wraps around screen edges – Great for smaller screens or touchscreens – Retains “desktop” functionality w/ system tray, task manager, etc. ● Qt-based window manager? ● Distribution Configuration Standardization – Default theme – Default desktop layout and plugins – Default key bindings – Simple to setup for an administrator ● Power savings – Suspend/resume plugins based on visibility – Internal Qt-based screensaver
  • 17. Get Involved! ● Full source repo available on GitHub https://github.com/pcbsd/lumina ● Submit new plugins! (desktop/panel) ● Porting to an OS? – Look in the “libLumina” subdirectory, and create a “LuminaOS-<OS-name>.cpp” file (Template available) – Already ported to: FreeBSD, OpenBSD, DragonFlyBSD, kFreeBSD, “Linux” (Debian, Ubuntu, Mint, Puppy, others?) ● Test it out and submit bug reports! https://bugs.pcbsd.org/