X11 futureX11 futureDesktop EnvironmentsDesktop Environments
CERN IT/DIS/OSE:Paola Ciccarelli (Caspur)
Lionel Cons
Victor Robles Forcada
German Cancio Melia
PRESENTED BY:Philippe Defert
PlanPlan
Introduction What is a desktop environment Desktop Environments: KDE and GNOME KDE vs GNOME: Technology CORBA:
What is it? How is it used in KDE and GNOME? KDE vs GNOME.
KDE vs GNOME: Applications HEP conclusions and questions
INTRODUCTIONINTRODUCTION
UNIX/Linux is powerful and stable. Strong alternative for Windows => good user
interface. UNIX/Linux must be user-friendly. Average users don’t like: Command line, manual
configuration, etc. Many users expect: Menus, Panel, Drag & Drop,
mouse driven configuration, etc. CDE: First job related with this. June 1996. During the last 2 years Linux Community is
making a big job => KDE and GNOME
What is a Desktop What is a Desktop Environment?Environment?
Common Drag & Drop protocol
Common Session Management protocol
Easy dialog based desktop configuration
Unified application help system
Consistent ‘look and feel’
Common application development framework
Compound document framework
Network transparency
KDE KDE K Desktop EnvironmentK Desktop Environment
Dates: Project founded in October 1996 KDE v1.0 July 12, 1998 KDE v1.1 February 6, 1999 KDE v2.0 End of this summer???
Some interesting features: Based on toolkit Qt 1.42 (not GPL, Troll Tech) Standard menu and toolbars, keybindings, color schemes, etc. Built-in internationalization: more than 25 languages Large number of KDE applications. In version 1.1,
41 base applications Koffice: in version 2.0 using CORBA
KDE ScreenshotKDE Screenshot
GNOMEGNOMEGNU Network Object Model EnvironmentGNU Network Object Model Environment
Dates: GNOME project was initially announced in August 1997 GNOMEv1.0 7 April, 1999
Why not only KDE? It is based on Qt which is not open source.
Some features: Based on GTK+ (GPL) Build-in internationalization and localization 3D-programming with OpenGL Independent of Window Manager Fully integrated with CORBA Standard printing
GNOME ScreenshotGNOME Screenshot
KDE vs GNOME: KDE vs GNOME: Technology ITechnology I
KDE GNOMEToolkit Qt (C++) GTK+ (C)
Language bindingsfor the Toolkit
C, Python, Perl C++(Gtk--), Objective C,Python, Perl,Scheme(Guile), TOM,Pike(PiGTK), Dylan
WM Independent No => Yes Yes
Compliant WM KWMWindowMakerBlackBox
fvwmWindowMakerEnlightmentIceWMSCWMgtkWM
Themes Support Yes Yes
StandardKeybindings
Yes No
KDE vs GNOME: KDE vs GNOME: Technology IITechnology II
KDE GNOMEDrag & Drop KDND
v2.0 => XDNDMotif, XDND
SessionManagement
Proprietary X Session ManagementProtocol
Documentationand Help System
Applications => HTMLSources => Kdoc
Applications =>DocBook (SGML)
Internationalization GNU gettext &LPGL i18n library
GNU gettext &LPGL i18n library
3D-Programming No OpenGL (gtkGL)
LanguageBindings
Python Dylan, Python,TOM, Perl, Guile
ScriptingLanguage
Python Python, Perl, Guile
Conclusions (I)Conclusions (I)
KDE has an easier User Interface for beginners KDE is easier to install GNOME is technologically superior KDE gets closer to GNOME in v2.0 => XDND, WM
Independent, SGML. Interoperability between KDE and GNOME apps:
Drag & Drop: No until KDEv2.0 Session Management: No Help System: No (Try open his own help browser)
GNOME Office is more advanced
CORBACORBACommon Object Request Broker Common Object Request Broker
ArchitectureArchitecture
CORBA allows applications to communicate with each other
CORBA is similar to DCOM, but more powerful CORBA is as next-generation RPC, just extended
to support object-oriented programming Why CORBA?
Solution for the IPC problem. Reduce development time Reduce maintenance difficulties Programs more powerful Simplify Compound Documents Automation
CORBA in KDE: CORBA in KDE: KOM/OpenPartsKOM/OpenParts
ORB: MICO (C++) => Programs in C++ KOM: Events and Filters, Signals and Slots for
Plug-in or Dynamic Aggregation OpenParts:
Controls: Comparable to Microsoft’s Active X controls Parts: Improvements of controls
Is independent of the GUI => Standard for IPC Automation: Applications can export his inner
work through CORBA
CORBA in GNOME: BaboonCORBA in GNOME: BaboonBaboon Allows Baboon Objects Over Baboon Allows Baboon Objects Over
NetworksNetworks
ORB: No MICO New ORB: ORBit (C) => Programs in C, C++
CORBA will be used in various contexts: Components Application embedding Automation Reusable controls
Is independent of the GUI => Standard for IPC
KDE vs GNOME: CORBAKDE vs GNOME: CORBA
KDE GNOME WindowsStandards CORBA CORBA DCOM
KOM/OpenParts Baboon OLE
Components,Controls, Parts
Components,ReusableControls
Active XControls
ORB MICO (C++) ORBit (C)
CORBASTANDARD
CORBA 2.2 CORBA 2.2
DocumentModel
XML DOM
Conclusions (II)Conclusions (II)CORBACORBA
The idea of use CORBA in KDE and GNOME is the same: components, controls, ...
MICO is slower than ORBit GNOME makes use of CORBA by default:
Panel, print, applets, programs. KDE plans to extend the use of CORBA to the
panel and to some applications (e.g korganizer).
Conclusions (III)Conclusions (III)ApplicationsApplications
KDE for the moment has more and more complete set of applications
Tons of applications: Some useful, some buggy
KDE Best: kfm, PPP dialer, korganizer, kpackages, koffice (?)
GNOME Best: Electronic Eyes, gimp, gnumeric, gmenu, gmc, gcal
HEPiX QuestionsHEPiX Questions
X desktops are a normal X follow up HEPiX X11 scripts
Common look and feel shared work Customization by site, group, user
HEPiX desktop ???? Do we do the same as with X11 ????
More Information:http://wwwinfo.cern.ch/umtf/working-groups/X11/desktops/
mailto:[email protected]