K Desktop Environment Anwendung und Programmierung Tobias Koenig Max-Planck Administratoren Treffen 2005 p. 1
Übersicht Einführung Anwendung Benutzerrestriktionen mit KIOSK Groupware mit Kontact Programmierung Entwicklung in C++ Entwicklung mit Kommander KDE vs. GNOME Max-Planck Administratoren Treffen 2005 p. 2
Einführung zu KDE 1996 gegründet Ziel: freie Desktop Umgebung für UNIX-artige Betriebssysteme Verfügbar für Linux, BSD, Solaris, HP-UX, etc. Bietet alle grundlegenden Programme Max-Planck Administratoren Treffen 2005 p. 3
Benutzerrestriktionen mit KIOSK Max-Planck Administratoren Treffen 2005 p. 4
Benutzerrestriktionen Einschränkung der Konfigurationsmöglichkeiten Anwendung in Computer-Pools und Kiosk-Systemen Auf Konfigurationsdatei-Ebene implementiert Max-Planck Administratoren Treffen 2005 p. 5
Konfigurationsdateien in KDE UTF8 codierte Textdateien Binär-Cache für schnellen Zugriff Key/Value basierter Syntax Namensschema: <Programmname>rc Max-Planck Administratoren Treffen 2005 p. 6
Konfigurationsdateien Beispieldatei: [General] ShowTipOfDay=false [KonqMainWindow Toolbar bookmarktoolbar] Hidden=true IconSize=16 IconText=IconTextRight Index=3 Max-Planck Administratoren Treffen 2005 p. 7
Konfigurationsdateien Immutable-Flag in Konfigurationsdatei Einstellung pro Eintrag oder Gruppe [General][$i] ShowTipOfDay=false [KonqMainWindow Toolbar bookmarktoolbar] Hidden[$i]=true IconSize=16 IconText=IconTextRight Index=3 Max-Planck Administratoren Treffen 2005 p. 8
Konfigurationsdateien in KDE Auslesefolge: Profil-Verzeichnis $KDEDIR/share/config/ $HOME/.kde/share/config/ Später gelesene Werte sind dominant außer bei Immutable-Flag Max-Planck Administratoren Treffen 2005 p. 9
Konfigurationsdateien in KDE Max-Planck Administratoren Treffen 2005 p. 10
Aktionseinschränkungen Action entspricht Menüeintrag bzw. Werkzeugleistenknopf Konfiguration durch Eintrag in Konfigurationsdatei [KDE Action Restrictions] shell access=false action/file open=false Max-Planck Administratoren Treffen 2005 p. 11
Konfigurations-Profile Umfasst mehrere Konfigurationsdateien Zuordnung pro Benutzer/Gruppe möglich Max-Planck Administratoren Treffen 2005 p. 12
Konfigurations-Profile Mapping-Datei und Profile in /etc/kderc definiert [Directories] userprofilemapfile=/etc/kde-user-profile [Directories-default] ProfileDescription=Default Profile ProfileDescription[de]=Standard Profil ProfileInstallUser=root prefixes=/var/run/kde-profile/default Max-Planck Administratoren Treffen 2005 p. 13
Konfigurations-Profile Mapping-Datei definiert Benutzer/Gruppen Zuordnung [General] groups=devels,pkgs,bofh [Users] johannes=developer anna=developer,packager [Groups] devels=developer pkgs=packager bofh=admin,developer,packager Max-Planck Administratoren Treffen 2005 p. 14
Grundlagen von KIOSK Basiert auf Profilen Action Restrictions Immutable-Flags Beispiel: [KDE Action Restrictions][$i] shell access=false action/file open=false Max-Planck Administratoren Treffen 2005 p. 15
Demonstration des KIOSK Tools Max-Planck Administratoren Treffen 2005 p. 16
Groupware mit Kontact Max-Planck Administratoren Treffen 2005 p. 17
Groupware Ziele Verwaltung von Terminen, Kontakten und EMails Gruppenarbeit (Einladungen, Free/Busy Listen) Mobiler Zugriff auf Daten Kontact als Client Kolab, egroupware, SLOX, OpenGroupware als Server Max-Planck Administratoren Treffen 2005 p. 18
Kontact Komponentenbasierte GUI-Shell Integriert KMail, KOrganizer, KAddressBook und KNotes Max-Planck Administratoren Treffen 2005 p. 19
Kontact - KMail Vollwertiges Mailprogramm Unterstützte Protokolle POP3/IMAP/DIMAP (AUTH)SMTP Verschlüsselung (SSL/GnuPG/SMIME) Schreiben von HTML Mails Anti-Virus/Spam Wizard Max-Planck Administratoren Treffen 2005 p. 20
Kontact - KOrganizer Terminverwaltungsprogramm Verwaltet Termine und Aufgaben Tages-, Wochen- und Monatsansicht Transparente Nutzung mehrerer Kalender Kalenderabhängige, farbliche Kennzeichnung der Termine Zugriff auf ical Kalender im Internet Benutzerdefinierte Felder im Termineditor Max-Planck Administratoren Treffen 2005 p. 21
Kontact - KAddressBook Verwaltungsprogramm für Kontakte Unterstützt alle Datenfelder einer vcard (RFC 2426) -> kompatibel zu vielen Adressbuchprogrammen Transparente Nutzung mehrerer Adressbücher Benutzerdefinierte Felder im Kontakteditor Zugriff auf LDAP Verzeichnisse Max-Planck Administratoren Treffen 2005 p. 22
Demonstration von Kontact Max-Planck Administratoren Treffen 2005 p. 23
KDE Programmierung Max-Planck Administratoren Treffen 2005 p. 24
Entwicklung in C++ KDE basiert auf Qt-Bibliothek (Trolltech) OO-Programmierung gut für GUI geeignet -> Kurzer & Lesbarer Quelltext Max-Planck Administratoren Treffen 2005 p. 25
Entwicklung in C++ (Qt) #include <qapplication.h> #include <qlabel.h> int main( int argc, char **argv ) { QApplication app( argc, argv ); QLabel label( "Hello World!", 0 ); app.setmainwidget( &label ); label.show(); } return app.exec(); Max-Planck Administratoren Treffen 2005 p. 26
Entwicklung in C++ (Qt) Max-Planck Administratoren Treffen 2005 p. 27
Entwicklung in C++ (KDE) #include <kapplication.h> #include <kcmdlineargs.h> #include <klocale.h> #include <qlabel.h> int main( int argc, char **argv ) { KCmdLineArgs::init( argc, argv, "testapp", I18N_NOOP( "TestApp" ), I18N_NOOP( "A small test application" ), "0.1" ); KApplication app; QLabel label( i18n( "Hello World" ), 0 ); app.setmainwidget( &label ); label.show(); } return app.exec(); Max-Planck Administratoren Treffen 2005 p. 28
Entwicklung in C++ (KDE) Max-Planck Administratoren Treffen 2005 p. 29
KDevelop IDE für C++/KDE und andere Sprachen Bietet Vorlagen für KDE Plugins Weitere Features Versionskontrolle Klassenbrowser Debugger Speicherleckprüfung Textvervollständigung Dokumentationsvolltextsuche Max-Planck Administratoren Treffen 2005 p. 30
Demonstration von KDevelop Max-Planck Administratoren Treffen 2005 p. 31
Kommander Subprojekt von Quanta (KDE WebDev) Graphisches Dialogbau Werkzeug Scripting durch Builtin- und Shellbefehle Besteht aus Editor und Executor Basiert auf Qt Designer Programme sind XML basiert Max-Planck Administratoren Treffen 2005 p. 32
Demonstration von Kommander Max-Planck Administratoren Treffen 2005 p. 33
KDE vs. GNOME Max-Planck Administratoren Treffen 2005 p. 34
KDE und GNOME KDE GNOME Gründung 1996 1997 Programmiersprache C++ C Entwickler ca. 800 k.a. Framework sehr gut kaum vorhanden Marketing kaum vorhanden sehr gut Max-Planck Administratoren Treffen 2005 p. 35
KDE und GNOME freedesktop.org als gemeinsame Kommunikationsbasis Gemeinsame Standards Drag and Drop Spezifikation zwischen Qt und GTK Window Manager Erweiterungen (ICCCM) Desktop IPC Mechanismus (DBus) Desktop Entry File Spezifikation Menü Spezifikation Max-Planck Administratoren Treffen 2005 p. 36
Fragen?!? Max-Planck Administratoren Treffen 2005 p. 37
Danke Max-Planck Administratoren Treffen 2005 p. 38