<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://techbase.kde.org/skins/common/feed.css?0.2"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://techbase.kde.org/api.php?action=feedcontributions&amp;user=Sschloenvoigt&amp;feedformat=atom</id>
		<title>KDE TechBase - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://techbase.kde.org/api.php?action=feedcontributions&amp;user=Sschloenvoigt&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Special:Contributions/Sschloenvoigt"/>
		<updated>2013-05-19T00:09:21Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://techbase.kde.org/Development/Tutorials/Debugging/Debugging_with_GDB</id>
		<title>Development/Tutorials/Debugging/Debugging with GDB</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Tutorials/Debugging/Debugging_with_GDB"/>
				<updated>2008-10-03T09:12:01Z</updated>
		
		<summary type="html">&lt;p&gt;Sschloenvoigt: Made a Note for the important information about --nofork&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Development/Tutorials/Debugging/Debugging with GDB}}&lt;br /&gt;
This is a short tutorial on debugging KDE applications. Throughout this&lt;br /&gt;
tutorial I will use &amp;quot;kedit&amp;quot; as an example application.&lt;br /&gt;
&lt;br /&gt;
==Debugging with GDB==&lt;br /&gt;
&lt;br /&gt;
The recommended version of gdb to use is version 4.95 or higher; older&lt;br /&gt;
versions have problems generating proper backtraces.&lt;br /&gt;
&lt;br /&gt;
There are three ways to debug an application with gdb:&lt;br /&gt;
&lt;br /&gt;
# You can start the application from within gdb.&lt;br /&gt;
# You can attach gdb to an already running application.&lt;br /&gt;
# You can run gdb after an application has crashed using a core file.&lt;br /&gt;
&lt;br /&gt;
==Starting applications from within gdb==&lt;br /&gt;
&lt;br /&gt;
To start an application with gdb you can start gdb as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; gdb kedit&lt;br /&gt;
 GNU gdb 4.95.0&lt;br /&gt;
 Copyright 2000 Free Software Foundation, Inc.&lt;br /&gt;
 GDB is free software, covered by the GNU General Public License, and you are&lt;br /&gt;
 welcome to change it and/or distribute copies of it under certain conditions.&lt;br /&gt;
 Type &amp;quot;show copying&amp;quot; to see the conditions.&lt;br /&gt;
 There is absolutely no warranty for GDB.  Type &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-linux-gnu&amp;quot;...&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
You can now set the command line arguments that you want to pass to kedit with&lt;br /&gt;
the gdb command &amp;quot;&amp;lt;tt&amp;gt;set args&amp;lt;/tt&amp;gt;&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 (gdb) set args myfile.txt&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
gdb has loaded the kedit executable on startup but it hasn't loaded any of&lt;br /&gt;
the libraries yet. This means that you can't set any breakpoints in the&lt;br /&gt;
libraries yet. The easiest way to do that is to set a breakpoint in the&lt;br /&gt;
first line of main and then start the program:&lt;br /&gt;
&lt;br /&gt;
 (gdb) break main&lt;br /&gt;
 Breakpoint 1 at 0x804855c&lt;br /&gt;
 (gdb) run&lt;br /&gt;
 Starting program: /ext/kde2.0/bin/kedit myfile.txt&lt;br /&gt;
 Breakpoint 1 at 0x4002cf18: file kedit.cpp, line 1595.&lt;br /&gt;
 &lt;br /&gt;
 Breakpoint 1, main (argc=2, argv=0xbffff814) at kedit.cpp:1595&lt;br /&gt;
 1595            bool have_top_window = false;&lt;br /&gt;
 Current language:  auto; currently c++&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
You can now set breakpoints everywhere. For example lets set a breakpoint&lt;br /&gt;
in the KApplication constructor. Unfortunately, gdb is not very good in&lt;br /&gt;
handling C++ names, so it is not really possible to specify the constructor&lt;br /&gt;
directly after the break command. Instead we look up a line of source&lt;br /&gt;
code where we want to place the breakpoint. An external editor is of great&lt;br /&gt;
use at this point. With the list command we can select the source file we&lt;br /&gt;
are interested in and verify that we have found the correct source line:&lt;br /&gt;
&lt;br /&gt;
 (gdb) list kapp.cpp:220&lt;br /&gt;
 215     parseCommandLine( argc, argv );&lt;br /&gt;
 216 }&lt;br /&gt;
 217&lt;br /&gt;
 218 KApplication::KApplication( bool allowStyles, bool GUIenabled ) :&lt;br /&gt;
 219   QApplication( *KCmdLineArgs::qt_argc(), *KCmdLineArgs::qt_argv(),&lt;br /&gt;
 220                 GUIenabled ),&lt;br /&gt;
 221   KInstance( KCmdLineArgs::about),&lt;br /&gt;
 222   d (new KApplicationPrivate)&lt;br /&gt;
 223 {&lt;br /&gt;
 224     if (!GUIenabled)&lt;br /&gt;
 (gdb) break 224&lt;br /&gt;
 Breakpoint 2 at 0x4048aa7e: file kapp.cpp, line 224.&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
We can now continue the execution of kedit. Execution will stop when it hits&lt;br /&gt;
a breakpoint or when the program exits. In this case execution will stop&lt;br /&gt;
in the first line of the KApplication constructor:&lt;br /&gt;
&lt;br /&gt;
 (gdb) continue&lt;br /&gt;
 Continuing.&lt;br /&gt;
 Qt: gdb: -nograb added to command-line options.&lt;br /&gt;
          Use the -dograb option to enforce grabbing.&lt;br /&gt;
 &lt;br /&gt;
 Breakpoint 2, KApplication::KApplication (this=0xbffff6a8, allowStyles=true,&lt;br /&gt;
     GUIenabled=true) at kapp.cpp:224&lt;br /&gt;
 224         if (!GUIenabled)&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
Important: many applications use &amp;quot;KUniqueApplication&amp;quot; to ensure that only one instance can exist at a given time in a given KDE session. This is the case for kwin, kontact, konsole, plasma, etc. To debug those applications, attach to them while they're running (see next session) or use &amp;lt;code&amp;gt;set args --nofork&amp;lt;/code&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Attaching gdb to already running applications==&lt;br /&gt;
&lt;br /&gt;
Sometimes it is not practical to start an application from within gdb.&lt;br /&gt;
E.g. in those cases where you didn't know the application was about to&lt;br /&gt;
crash :-) When you get the friendly DrKonqi dialog informing you about&lt;br /&gt;
a crash you are just in time to start your debugger.&lt;br /&gt;
&lt;br /&gt;
First lets attach gdb to an application that hasn't crashed (yet).&lt;br /&gt;
&lt;br /&gt;
You start with finding the process of the application with e.g. &amp;quot;ps -aux&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; ps -aux | grep kedit&lt;br /&gt;
 bastian  21570 15.1  6.8 13740 8800 pts/6    S    15:34   0:01 kedit&lt;br /&gt;
 bastian  21582  0.0  0.3  1132  412 pts/6    R    15:34   0:00 grep kedit&lt;br /&gt;
&lt;br /&gt;
From this you learn that kedit has process id 21570. Now you can start gdb as&lt;br /&gt;
follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; gdb kedit 21570&lt;br /&gt;
 GNU gdb 4.95.0&lt;br /&gt;
 Copyright 2000 Free Software Foundation, Inc.&lt;br /&gt;
 GDB is free software, covered by the GNU General Public License, and you are&lt;br /&gt;
 welcome to change it and/or distribute copies of it under certain conditions.&lt;br /&gt;
 Type &amp;quot;show copying&amp;quot; to see the conditions.&lt;br /&gt;
 There is absolutely no warranty for GDB.  Type &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-linux-gnu&amp;quot;...&lt;br /&gt;
 /home1/bastian/21570: No such file or directory.&lt;br /&gt;
 Attaching to program: /ext/kde2.0/bin/kedit, Pid 21570&lt;br /&gt;
 Reading symbols from /ext/kde2.0/lib/kedit.so.0...done.&lt;br /&gt;
 Loaded symbols for /ext/kde2.0/lib/kedit.so.0&lt;br /&gt;
 ...&lt;br /&gt;
 Reading symbols from /lib/ld-linux.so.2...done.&lt;br /&gt;
 Loaded symbols for /lib/ld-linux.so.2&lt;br /&gt;
 Reading symbols from /lib/libnss_compat.so.2...done.&lt;br /&gt;
 Loaded symbols for /lib/libnss_compat.so.2&lt;br /&gt;
 Reading symbols from /lib/libnsl.so.1...done.&lt;br /&gt;
 Loaded symbols for /lib/libnsl.so.1&lt;br /&gt;
 0x40c3d88e in __select () from /lib/libc.so.6&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
You will usually end up in the middle of a select() call from the event-loop.&lt;br /&gt;
This is the place where a KDE application spends most of its time, waiting&lt;br /&gt;
for things to happen.&lt;br /&gt;
&lt;br /&gt;
A backtrace will typically look something like this:&lt;br /&gt;
&lt;br /&gt;
 (gdb) bt&lt;br /&gt;
 #0  0x40c3d88e in __select () from /lib/libc.so.6&lt;br /&gt;
 #1  0x40a22844 in __DTOR_END__ () at fam.c++:356&lt;br /&gt;
 #2  0x407293bf in QApplication::enter_loop (this=0xbffff6e8)&lt;br /&gt;
     at kernel/qapplication.cpp:2552&lt;br /&gt;
 #3  0x406b1d7b in QApplication::exec (this=0xbffff6e8)&lt;br /&gt;
     at kernel/qapplication_x11.cpp:2217&lt;br /&gt;
 #4  0x4002d500 in main (argc=1, argv=0xbffff854) at kedit.cpp:1662&lt;br /&gt;
 #5  0x40bbba5e in __libc_start_main (main=0x8048568 &amp;amp;lt;main&amp;amp;gt;, argc=1,&lt;br /&gt;
     argv=0xbffff854, init=0x8048514 &amp;amp;lt;_init&amp;amp;gt;, fini=0x80486cc &amp;amp;lt;_fini&amp;amp;gt;,&lt;br /&gt;
     rtld_fini=0x4000aa20 &amp;amp;lt;_dl_fini&amp;amp;gt;, stack_end=0xbffff84c)&lt;br /&gt;
     at ../sysdeps/generic/libc-start.c:92&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
==Debugging core files with GDB==&lt;br /&gt;
&lt;br /&gt;
Debugging process requires much memory. If you have to inspect crash, you can debug core files. It's much faster and requires less memory. First limit the maximum size of core files and run the application:&lt;br /&gt;
 ulimit -c 100000&lt;br /&gt;
 kedit --nocrashhandler&lt;br /&gt;
Don't forget to use '--nocrashhandler' option. Core file would be created if the application crashed, so you can use gdb with created core file:&lt;br /&gt;
 gdb kedit ./core-file #in my system it is core.PID&lt;br /&gt;
&lt;br /&gt;
==Improving your gdb experience for KDE/Qt applications==&lt;br /&gt;
&lt;br /&gt;
In the SVN path named &amp;quot;kdesdk&amp;quot;, you will find the file [http://websvn.kde.org/trunk/KDE/kdesdk/scripts/kde-devel-gdb kdesdk/scripts/kde-devel-gdb].&lt;br /&gt;
This file contains a few macros that help looking into some Qt objects (for instance QString).&lt;br /&gt;
See the beginning of the file for instructions on how to use it.&lt;br /&gt;
&lt;br /&gt;
If you want to go even further, you can apply those [http://developer.kde.org/documentation/other/gdb-patches patches to the gdb source],&lt;br /&gt;
to fix a few annoyancies in gdb:&lt;br /&gt;
&lt;br /&gt;
* source.c: don't try to open a directory in &amp;quot;.&amp;quot; that has the same name as the executable we want to open (not needed for gdb-6.0 and above)&lt;br /&gt;
* symfile.c: no prompting at end of page while opening shared libraries (not needed for gdb-6.2 and above)&lt;br /&gt;
* solib.c: less output when opening shared libraries&lt;br /&gt;
&lt;br /&gt;
Those patches are maintained by [mailto:faure@kde.org David Faure].&lt;br /&gt;
&lt;br /&gt;
Have fun with gdb! Hmm, ok, the definition of 'fun' is very relative...&lt;/div&gt;</summary>
		<author><name>Sschloenvoigt</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Tutorials_(de)</id>
		<title>Development/Tutorials (de)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Tutorials_(de)"/>
				<updated>2008-01-15T22:03:13Z</updated>
		
		<summary type="html">&lt;p&gt;Sschloenvoigt: Übernahme der restlichen Einträge von der englischen Seite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Development/Tutorials}}&lt;br /&gt;
&lt;br /&gt;
Tutorials sind der schnellste Weg um herauszufinden, was man mit KDE anstellen kann und wie man das macht. Es folgt eine Liste der verfügbaren Tutorials '''für KDE4'''. Tutorials und Anleitungen zu KDE3 und KDE2 finden Sie am Ende dieser Seite.&lt;br /&gt;
&lt;br /&gt;
== Einführung in die KDE4 Programmierung ==&lt;br /&gt;
Sind Sie an der Entwicklung von Programmen für KDE 4 interesiert? Wenn ja sind Sie hier genau richtig. Diese Artikelserie richtet sich an alle, die noch nie mit KDE programmiert haben.&lt;br /&gt;
;[[Development/Tutorials/First program (de)|Hallo Welt!]]&lt;br /&gt;
:''Einführung in die Grundlagen der KDE Programmierung''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using KXmlGuiWindow (de)|Erstellen eines Hauptfensters]]&lt;br /&gt;
:''Dieser Artikel erklärt, wie der wichtigste Teil eines grafischen Programmes erstellt wird: das Hauptfenster.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using KActions (de)|Die Verwendung von KActions]]&lt;br /&gt;
:''In diesem Artikel erfahren Sie, wie Aktionen und Werkzeugleisten (Toolbars) im Menü hinzugefügt werden können.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Saving and loading (de)|Laden und Speichern von Dateien]]&lt;br /&gt;
:''Dieser Artikel führt die KIO Bibliothek ein und erklärt wie man Dateien laden und speichern kann.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/KCmdLineArgs (de)|Befehlszeilen Argumente (todo)]]&lt;br /&gt;
:''In diesem Artikel werden Sie lernen Ihrer Anwendung zu ermöglichen, Dateien über die Befehlszeile oder sogar unter Dolphin mit 'Öffnen mit' zu laden''&lt;br /&gt;
&lt;br /&gt;
== Grundlagen ==&lt;br /&gt;
;[[Development/Tutorials/KDE4 Porting Guide (de)|Ihre Applikation nach KDE 4 portieren]]&lt;br /&gt;
:''Anleitungen Qt3/KDE3 Applikationen nach Qt4/KDE4 zu portieren''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/CMake (de)|Einführung in CMake]]&lt;br /&gt;
:''Wie man CMake in KDE 4 benutzt''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Common Programming Mistakes (de)|Häufige Programmierfehler]]&lt;br /&gt;
:''Einige häufige Fehler die man während der Entwicklung von Qt und KDE Applikationen machen kann und wie man sie vermeidet.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using Qt Designer (de)|Den Qt Designer benutzen um Benutzerschnittstellen zu erzeugen]]&lt;br /&gt;
:''Wie man UI Dateien mit dem Designer erzeugt und wie man diese in einem KDE Programm integriert.''&lt;br /&gt;
&lt;br /&gt;
== Testen und Fehler beheben ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Debugging (de)|Debugging Ihrer Applikation]]&lt;br /&gt;
:''Tips, Tools und Techniken zum Debuggen von KDE Applikationen''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Unittests|Schreiben von Unit-Tests für Qt4 und KDE4 mit QTestLib]] ([http://developer.kde.org/documentation/tutorials/writingunittests/writingunittests.html Original link])&lt;br /&gt;
:''Tutorial von [mailto:bradh@frogmouth.net Brad Hards] das beschreibt, wie man Unit-Tests mit dem QTestLib Framework erstellt. Das Tutorial wird anhand eines Beispiels beschrieben und befindet sich zur Zeit noch in Entwicklung.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Code_Checking|Halbautomatische Werge zur Erkennung von Programmierfehlern]]&lt;br /&gt;
:''Techniken um Fehler in KDE Code aufzuspüren''&lt;br /&gt;
&lt;br /&gt;
== Konfigurationen mit KConfig verwalten ==&lt;br /&gt;
;[[Development/Tutorials/KConfig|Einführung in KConfig]]&lt;br /&gt;
:''Eine Übersicht über die zu KConfig gehörenden Klassen und wie Sie diese in Ihre Anwendung einbinden können''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using KConfig XT|Benutzung von KConfig XT]]&lt;br /&gt;
:''Tutorial über das effiziente Benutzen des KConfig XT Frameworks.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Updating KConfig Files|Update von KConfig Dateien]]&lt;br /&gt;
:''Tutorial das beschreibt, wie man ein Update-Skript erstellt, dass Veränderungen am Format der Konfiguration Ihrer Anwendung mit den bereits vorgenommenen Einstellungen des Anwenders abgleicht.''&lt;br /&gt;
&lt;br /&gt;
== Dienste: Applikationen und Plugins ==&lt;br /&gt;
;[[Development/Tutorials/Services/Introduction (de)|Einführung in das Dienst-Framework]]&lt;br /&gt;
:''Eine Einführung über das Dienst-Framework in KDE und was es dem Applikationsentwickler zur Verfügung stellen kann. Beschäftigt sich mit dem system configuration cache (SyCoCa), den benötigten Dateien und wie indizierte Informationen benutzt werden.&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Services/Traders (de)|Dienste über Trader Queries finden]]&lt;br /&gt;
:''Wie man mit der Trader Query Syntax Dienste wie Plugins oder Mimetypes findet, die im SyCoCa zwischengespeichert wurden. ''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Services/Plugins|Erstellen und Laden von Plugins mit KService]]&lt;br /&gt;
:''Zeigt, wie man eigene Plugintypen definiert, installiere Plugins findet (einschließlich denen von anderen Herstellern) und wie man diese einfach und portabel läd, indem man KService benutzt.''&lt;br /&gt;
&lt;br /&gt;
== Lokalisierung ==&lt;br /&gt;
;[[Development/Tutorials/Localization/Unicode (de)|Einführung in Unicode]]&lt;br /&gt;
:''Eine Einführung was Unicode ist und wie KDE Applikationen damit umgehen.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n (de)|Beim Schreiben der Applikation an die Lokalisierung denken]]&lt;br /&gt;
:''Diese Anleitung beschäftigt sich damit, was Lokalisation ist, warum sie wichtig ist und wie man sicherstellt, dass die eigene Applikation bereit ist, lokalisiert zu werden. Jeder Applikationsentwickler sollte das lesen.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n Mistakes (de)|Häufige Fehler vermeiden]]&lt;br /&gt;
:''Es gibt einige häufige Fehler, die es verhindern, dass eine Applikation angemesssen übersetzt werden kann. Diese Anleitung zeigt diese Fehler auf und zeigt, wie man sie vermeidet.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/Building KDE's l10n Module|Erstellen von KDE's Lokalisierungs Modul]]&lt;br /&gt;
:''Das Erstellen und Installieren der Sprachunterstützung mit KDE's Lokalisierungs-Modul (l10n) ist ratsam für alle, die an Anwendungen im KDE Haupt-Repository arbeiten. Hierdurch erreichen Sie, das Sie Ihre Anwendung in anderen Sprachen testen und somit auftauchende Probleme erkennen können. Dieses Tutorial bringt Ihnen genau das bei.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n Build Systems|Einbeziehen von i18n in das Build System]]&lt;br /&gt;
:''Sobald Ihre Anwendung bereit dazu ist lokalisiert zu werden, ist es der nächste Schritt sicherzustellen, dass die Übersetzungsdateien automatisch erstellt und aktuell gehalten werden. Dieses Tutorial behandelt die nötigen Änderungen an den CMakeFile.txt Dateien sowie den Prozess um den resultierenden Nachrichten-Katalog mit Ihrer Applikation zu verteilen.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n Challenges|i18n - Herausforderungen and Lösungen]]&lt;br /&gt;
:''Dieses Tutorial behandelt die Aufgaben und Fallstricke, die bei der Lokalisierung auftreten wie das Übersetzen von Handbüchern und anderen Daten die ausserhalb des Quellcodes auftreten, das Behandeln von nicht mehr gültigen .po-Dateien, das Umgehen mit Freezes, programmieren in anderen Sprachen als Englisch und Erstellung unabhängiger Releases oder das Verschieben von Anwendungen zwischen KDE Modulen.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n_Semantics|Semantisches Markup für Nachrichten]]&lt;br /&gt;
:''Um eine konsistente und semantisch korrekte Darstellung von Nachrichten in Anwendungen sicherzustellen, können semantische Kommentare zu den Nachrichten, die übersetzt werden sollen, mit dem KUIT System hinzugefügt werden. Dieses Tutorial beschreibt die Funktionsweise dieses Systems.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n Krazy|Automatisierte i18n Codeüberprüfung]]&lt;br /&gt;
:''Der Krazy Code-Checker durchsucht KDE's Code und meldet häufige i18n Fehler.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/Language Change (de)|Mit Sprachänderungen umgehen]]&lt;br /&gt;
:''Wie man seiner Applikation beibringt beim nächsten Start oder zur Laufzeit eine andere Sprache zu benutzen.''&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/API_Documentation|API Dokumentation]]&lt;br /&gt;
:''Dieses Tutorial erklärt, wie Sie Ihre APIs korrekt dokumentieren.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Man_Pages|Man Seiten]]&lt;br /&gt;
:''Das Schreiben und Erstellen von Referenz-Handbüchern.''&lt;br /&gt;
&lt;br /&gt;
== Anwendungsautomatisierung und Skripting ==&lt;br /&gt;
&lt;br /&gt;
=== D-Bus ===&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Introduction|Einführung in D-Bus]]&lt;br /&gt;
:''Eine&lt;br /&gt;
:''Eine unkomplizierte Einführung in die Kernkonzepte von D-Bus aus der Sicht eines Anwendungs-Programmierers. Dieses Tutorial behandet was D-Bus ist, und wie Sie es in Ihren Anwendungen einsetzen können.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Accessing Interfaces|Zugriff auf D-Bus Schnittstellen]]&lt;br /&gt;
:''Eine Schrittweise Anleitung zum Aufruf von D-Bus-Methoden und zur Verbindung mit D-Bus-Signalen unter Verwendung von QtDBus.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Intermediate_D-Bus|D-Bus für Fortgeschrittene]]&lt;br /&gt;
:''Tips zur Verwendung von QtDBus wenn sie mit problematischen Realwelt-Schnittstellen konfrontiert werden.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Creating Interfaces|Erstellen von D-Bus Schnittstellen]]&lt;br /&gt;
:''Lernen Sie, wie sie Funktionalität Ihrer Applikationen bereit stellen, indem Sie eigene D-Bus Schnittstellen erstellen und benutzen. Beschreibt das Erstellen von XML-Beschreibungen, die Bereitstellung von Schnittstellen zur Laufzeit und das Aufsetzen des Build-Systems mit CMake.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Autostart Services|D-Bus Autostart Dienste]]&lt;br /&gt;
:''Machen Sie mit diesem Tutorial aus Ihrer Anwendung einen D-Bus-Autostart-Dienst. Dieses Feature, dass auch als &amp;quot;D-Bus Dienst Aktivierung&amp;quot; bekannt ist, ermöglicht es, dass D-Bus Aufrufe zu Ihrer Applikation selbst dann funktionieren, wenn sie gerade nicht läuft indem sie den D-Bus-Daemon Ihre Applikation starten lassen, wenn deren Funktionen benötigt werden.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Porting_to_D-Bus|Portieren von DCOP nach D-Bus]]&lt;br /&gt;
: ''Portieren Sie mit Hilfe dieser Anleitung Ihre Anwendungen von DCOP nach D-Bus.''&lt;br /&gt;
&lt;br /&gt;
=== Konqueror ===&lt;br /&gt;
; [[Development/Tutorials/Creating Konqueror Service Menus|Erstellung von Konqueror Dienstmenus]]&lt;br /&gt;
:''Dieses Tutorial zeigt Ihnen wie Sie MIME-Typ-spezifische Aktionen in Konquerors Kontextmenu bereitstellen.''&lt;br /&gt;
&lt;br /&gt;
=== Kross ===&lt;br /&gt;
; [[Development/Tutorials/Kross/Introduction|Einführung in Kross]]&lt;br /&gt;
:''Eine Einführung in das Kross Scripting Framework.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/Hello_World|Hallo Welt]]&lt;br /&gt;
:''Eine erste Anwendung mit funktionierendem Kross Code.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/Connecting_Signals_and_slots_in_Kross|Verbinden von Signalen und Slots in Kross]]&lt;br /&gt;
:''Einfache Demonstration, wie man Signale von Objekten mit Slots von Skripten verbindet.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/Scripts-as-Plugins|Skripte als Plugins mit Kross]]&lt;br /&gt;
:''Dieses Tutorial bietet eine schrittweise Einführung, wie Sie Skripte als Plugins in eine KDE Anwendung integrieren.''&lt;br /&gt;
&lt;br /&gt;
=== KOffice ===&lt;br /&gt;
; [[Development/Tutorials/KOffice Overview|KOffice Übersicht]]&lt;br /&gt;
:''Dieses Dokument zeigt eine Übersicht über die verschiedenen KOffice Plugin Typen sowie ihren jeweiligen Nutzen und Stärken.'' Wenn KOffice Plugins neu für Sie sind, ist dieses Tutorial für Sie geeignet.&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Write a Flake Plugin|Erstellen von KOffice Flake Plugins]]&lt;br /&gt;
:''Dieses Tutorial zeigt Ihnen wie Sie ein Plugin für KOffice Anwendungen erstellen das Ihnen mit Hilfe von Flake erlaubt, Inhalte in ODF-Dokumente einzubetten.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/KWord Scripting|KWord Scripting]]&lt;br /&gt;
:''Dieses Tutorial zeigt, wie man KWord mit Skriptsprachen wie Python, Ruby oder JavaScript über Kross anspricht.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/KSpread Scripting|KSpread Scripting]]&lt;br /&gt;
:''Dieses Tutorial zeigt, wie man KSpread mit Skriptsprachen wie Python, Ruby oder JavaScript über Kross anspricht.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Krita Scripting|Krita Scripting]]&lt;br /&gt;
:''Dieses Tutorial zeigt, wie man Krita mit Skriptsprachen wie Python, Ruby oder JavaScript über Kross anspricht.''&lt;br /&gt;
&lt;br /&gt;
=== SuperKaramba ===&lt;br /&gt;
; [[Development/Tutorials/SuperKaramba|SuperKaramba Tutorial]]&lt;br /&gt;
:''Dieses Tutorial bietet einen Einblick in SuperKaramba, Themen-Dateien und das Skripten mit Python, Ruby und JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Suche und Meta-Daten ==&lt;br /&gt;
&lt;br /&gt;
=== Strigi ===&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Writing file analyzers|Schreiben von Datei-Analysierern]]&lt;br /&gt;
:''Datei-Analysierer extrahieren Daten aus Dateien um Sie in Datei-Dialogen und Datei-Managern anzeigen können. Die Daten die auf diesem Weg erhalten werden, werden auch für die Suche nach Dateien verwendet. KDE4 erlaubt die Benutzung von mehreren Analysierern pro Dateityp. Dieses Tutorial beschreibt, wie Sie neue Analysierer schreiben können.''&lt;br /&gt;
&lt;br /&gt;
=== Nepomuk ===&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Metadata/KMetaData first steps|Erste Schritte mit Nepomuk]]&lt;br /&gt;
:''Nepomuk ist die KDE-Bibliothek die einfachen Zugriff auf Metadaten im [http://nepomuk-kde.semanticdesktop.org Nepomuk-KDE] System erlaubt. Lernen Sie, wie Ihre Applikation mit Hilfe von Nepomuk Metadaten bereitstellen und verwenden kann.''&lt;br /&gt;
&lt;br /&gt;
== Ansprechen von Hardware (Solid) ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Solid_Tutorials|Einführung in Solid]]&lt;br /&gt;
:''Eine Einführung in die Benutzung der Solid Hardware-Erkennung und -Verwendung in KDE Applikationen.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Solid_Network_Tutorial|Zugriff auf Netzwerk-Informationen]]&lt;br /&gt;
:''Wie man Solid benutzt um Informationen über das Netzwerk herauszufinden''&lt;br /&gt;
&lt;br /&gt;
== Multimedia (Phonon) ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Phonon/Introduction|Phonon]]&lt;br /&gt;
:''Erste Schritte mit der Multimedia API''&lt;br /&gt;
&lt;br /&gt;
:''Erstellung und Benutzung von Phonon und seinem GStreamer Backend unter Linux mit Qt 4.3.x''&lt;br /&gt;
::''Dieser Artikel gibt Ihnen eine kurze Anleitung wie Sie Phonon und sein GStreamer Backend unter GNU/Linux mit lediglich Qt 4.3.x beziehen, kompilieren und benutzen können. Gegen Ende beschreibt der Artikel zusätzlich, wie ein Entwickler Phonon benutzen kann um einfache Audio- und Video-Spieler zu erstellen. Sie können den Artikel [http://www.vcreatelogic.com/oss/docs/CompilingPhononOnLinux.pdf hier] lesen.&lt;br /&gt;
Sie können die editierbare OpenDocumentText Datei von [http://www.prashanthudupa.com/phonon/CompilingPhononOnLinux.odt hier]. herunterladen''&lt;br /&gt;
&lt;br /&gt;
== Plasma ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Plasma/GettingStarted|Erste Schritte mit Plasmoids]]&lt;br /&gt;
:''Erstellung Ihres ersten Plasma-Widgets oder Plasmoids in C++ mit einem SVG Hintergrund, einem Icon und etwas Text''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Plasma/DataEngines|Schreiben einer DataEngine]]&lt;br /&gt;
:''DataEngines bieten eine standardisierte Schnittstelle zur Darstellung von Daten aus verschiedenen Datenquellen. Lernen Sie was eine DataEngine ist und wie Sie selbst ein schreiben können.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Plasma/UsingDataEngines|Benutzung von DataEngines in Plasmoids]]&lt;br /&gt;
:''Mit einer DataEngine ist es möglich, Daten auf einfache und standardisierte Art und Weise zu empfangen und darzustellen. Dieses Tutorial behandelt das Thema, wie man DataEngines zu diesem Zweck in Plasma einsetzt.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Plasma/AbstractRunner|Erstellen von Runners]]&lt;br /&gt;
:''Runners sind Plugins die Aktions-basierte Suchfunkionalität im Plasma Ausführen-Dialog erlauben. Diese Plugins können von jeder Applikation verwendet werden, die libplasma einbindet.''&lt;br /&gt;
&lt;br /&gt;
== Kate / Kwrite ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Kate/KTextEditor Plugins|Erste Schritte mit KTextEditor Plugins]]&lt;br /&gt;
:''Erstellung Ihres ersten KTextEditor Plugins''&lt;br /&gt;
&lt;br /&gt;
== Drucken ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Printing Hello World|Hallo Welt]]&lt;br /&gt;
:''Einführung in das KDE Drucksystem''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Printing Print Dialog|Druckdialog]]&lt;br /&gt;
:''Benutzung des KDE Druckdialogs''&lt;br /&gt;
&lt;br /&gt;
== Neue Dinge herunterladen ==&lt;br /&gt;
; [[Development/Tutorials/Introduction to Get Hot New Stuff|Einführung in &amp;quot;Neue Dinge herunterladen&amp;quot;]]&lt;br /&gt;
:''Eine Einführung in das Entwickler-freundliche Netzwerk-Update-System das KDE Applikationen erlaubt, neue Anwendungsdaten zur Laufzeit auf benutzerfreundliche Weise herunterzuladen.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/KNewStuffSecure|Sicherheit mit KNewStuff]] ([http://developer.kde.org/documentation/tutorials/knewstuffsecure/index.html Original Link])&lt;br /&gt;
:''Tutorial das zeigt, wie man Ressourcen auf sichere Weise teilt (KDE 3.4 und später).''  Geschrieben von Andr&amp;amp;#225;s Mantia &amp;amp;lt;amantia@kde.org&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Schnelle Anwendungsentwicklung ==&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Python introduction to signals and slots|101 Einführung in Signale und Slots]]&lt;br /&gt;
:''Eine einfache Einführung in Qt's Signal- und Slot-Architektur.''&lt;br /&gt;
&lt;br /&gt;
=== Ruby ===&lt;br /&gt;
&lt;br /&gt;
;[http://developer.kde.org/language-bindings/ruby/kde3tutorial/index.html KDE Ruby Korundum Tutorial]&lt;br /&gt;
:''Eine Ruby-Version von Antonio Larossa Jim&amp;amp;eacute;nezs KDE Tutorial von Richard Dale. Sehen Sie sich for Qt Tutorials und andere Informationen auch die  [http://developer.kde.org/language-bindings/ruby/index.html Ruby Developers Corner] an.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Qt4_Ruby_Tutorial|Qt4 Ruby Tutorial]]&lt;br /&gt;
:''Trolltechs sagenhaftes Einstiegstutorial in Qt, übersetzt für Ruby.''&lt;br /&gt;
&lt;br /&gt;
=== Shell ===&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Shell_Scripting_with_KDE_Dialogs|Shell Scripting mit KDE Dialogen]] ([http://developer.kde.org/documentation/tutorials/kdialog/t1.html Original Link])&lt;br /&gt;
:''Tutorial von [mailto:bradh@frogmouth.net Brad Hards] das beschreibt, wie man KDE Dialoge mit Hilfe von kdialog in Shell-Skripten verwendet. Das Tutorial wird anhand eines Beispiels durchgeführt.''&lt;br /&gt;
&lt;br /&gt;
== Andere Tutorials ==&lt;br /&gt;
&lt;br /&gt;
=== Benutzung der KDE Games Bibliothek ===&lt;br /&gt;
;[[Development/Tutorials/Games/KStandardGameAction| KStandardGameAction]]&lt;br /&gt;
:''Benutzung von libkdegames um Ihr Spiel dem kdegames Standard anzupassen''&lt;br /&gt;
;[[Development/Tutorials/Games/Highscores| Highscores]]&lt;br /&gt;
:''Implementierung einer einfachen Highscore-Tabelle in Ihrem Spiel''&lt;br /&gt;
;[[Development/Tutorials/Games/Theme Selector| Themen-Auswahl]]&lt;br /&gt;
:'' Benutzung des libkdegames Themen-Auswahl-Dialogs''&lt;br /&gt;
&lt;br /&gt;
=== 2D Plotting (KPlotWidget) ===&lt;br /&gt;
;[[Development/Tutorials/KPlotWidget|Benutzen des KDE Daten-Plotting Widgets]]&lt;br /&gt;
:''Dieses Tutorial führt KPlotWidget ein, welches zum plotten zweidimensionaler Daten verwendet werden kann. Es enthält Informationen zu einfachen Benutzung des Widgets (inklusive Hinzufügen und Änderung von Datensätzen sowie Anpassung der Koordinatenachsen und deren Beschriftung) sowie erweiterten Anwendungsfällen (inklusive Erweiterung des Widgets durch Vererbung).''&lt;br /&gt;
&lt;br /&gt;
=== Rechtschreib- und Grammatikprüfung (Sonnet) ===&lt;br /&gt;
;[[Development/Tutorials/Sonnet/SonnetTutorial|Rechtschreib- oder Grammatikprüfung in KDE Applikationen einbinden]]&lt;br /&gt;
:''Diess Tutorial führt in Sonnet ein und wie man es benutzt um Sprachkorrekturen in der eigenen KDE Anwendung zu verwenden. Sonnets Hilffunktionen sollen in einem weiteren Tutorial beschrieben werden.''&lt;br /&gt;
&lt;br /&gt;
=== Pixmap cache (KPixmapCache) ===&lt;br /&gt;
;[[Development/Tutorials/KPixmapCache|Benutzung des KDE Pixmap Caches]]&lt;br /&gt;
:''Dieses Tutorial demonstriert die Benutzung von KPixmapCache zum Zwischenspeichern von beispielsweise Pixmaps die aus SVGs oder Daten erstellt wurden.''&lt;br /&gt;
&lt;br /&gt;
== Material für KDE2 und KDE3 ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/KDE3|KDE3 Tutorials]]&lt;br /&gt;
:''Diese Tutorials behandeln Themen im Bezug auf KDE3.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/KDE2|KDE2 Tutorials]]&lt;br /&gt;
:''Diese Tutorials behandeln Themen im Bezug auf KDE2.''&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]]&lt;/div&gt;</summary>
		<author><name>Sschloenvoigt</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Tutorials/Debugging_(de)</id>
		<title>Development/Tutorials/Debugging (de)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Tutorials/Debugging_(de)"/>
				<updated>2008-01-15T21:44:30Z</updated>
		
		<summary type="html">&lt;p&gt;Sschloenvoigt: Übersetzung ins Deutsche&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language_Navigation_Bar|Development/Tutorials/Debugging}}&lt;br /&gt;
&lt;br /&gt;
Das Debuggen von KDE Applikationen kann auf verschiedene Weise erfolgen. Die meisten Applikationen &amp;quot;reden&amp;quot; unsichtbar über Debug-Ausdrücke während sie laufen. Das Betrachten dieser Informationen gibt Ihnen meist genug Informationen um herauszufinden was schief läuft. Zu weiteren Details lesen Sie bitten den zugehörigen Artikel über [[Development/Tutorials/Debugging/Using Error Messages|Fehlermeldungen]].&lt;br /&gt;
&lt;br /&gt;
Auf anderer Ebene gibt es das Debuggen nach dem Crash. Dies wird verwendet, nachdem die Applikation, vermutlich wegen eines Programmierfehlers, abgestürtzt ist. Der drkonqi Dialog erlaubt Ihnen das Erstellen eines '''Backtrace''' um möglicherweise herauszufinden wo etwas schief gelaufen ist.&lt;br /&gt;
&lt;br /&gt;
Es gibt Debugger wie GDB, die wesentlich mehr tun können als herauszufinden wo es passiert ist. Sie sollten die man-Seite von GDB lesen, um mehr dazu herauszufinden, und eventuell 'kdbg', 'ddd' oder 'inspire' herunterladen, die die Benutzung von GDB stark vereinfachen. Lesen sie hierzu das detailierte Tutorial [[Development/Tutorials/Debugging/Debugging with GDB|Debugging mit GDB]].&lt;br /&gt;
&lt;br /&gt;
== Verwandte Seiten ==&lt;br /&gt;
*[[Development/Tutorials/Debugging/Shared Memory Usage in KDE|Verwendung von Shared Memory in KDE]]&lt;br /&gt;
*[[Development/Tutorials/Debugging/Using Error Messages|Benutzung von Fehlermeldungen (kDebug)]]&lt;br /&gt;
*[[Development/Tutorials/Debugging/Debugging with GDB|Debugging mit GDB]]&lt;br /&gt;
*[[Development/Tutorials/Debugging/Debugging IOSlaves|Debugging von IOSlaves]]&lt;br /&gt;
*[[Development/Tutorials/Debugging/Debugging on MS Windows|Debugging in MS Windows]]&lt;br /&gt;
*[[Development/FAQs/Debugging_FAQ|Debugging FAQ]]&lt;br /&gt;
*[[Development/Tutorials/Debugging/How to create useful crash reports|Wie man nützliche Absturzmeldungen erstellt]]&lt;br /&gt;
*Zu Informationen über Debugging Tools wie Valgrind und [http://kdbg.org/ KDbg], besuchen Sie die [[../../Tools|Tools Seite]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Sschloenvoigt</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/User:Sschloenvoigt</id>
		<title>User:Sschloenvoigt</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/User:Sschloenvoigt"/>
				<updated>2008-01-15T18:52:25Z</updated>
		
		<summary type="html">&lt;p&gt;Sschloenvoigt: New page: Trying to translate some pages to get in touch with KDE ;-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trying to translate some pages to get in touch with KDE ;-)&lt;/div&gt;</summary>
		<author><name>Sschloenvoigt</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/KDE_TechBase:Contributors</id>
		<title>KDE TechBase:Contributors</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/KDE_TechBase:Contributors"/>
				<updated>2008-01-15T18:51:33Z</updated>
		
		<summary type="html">&lt;p&gt;Sschloenvoigt: /* German Team */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the contributors page.&lt;br /&gt;
&lt;br /&gt;
'''This site contains a list of ''active'' contributors. It should help to build teams which maintain KDE TechBase's content. If you have questions about KDE TechBase you can ask/email the corresponding person.'''&lt;br /&gt;
&lt;br /&gt;
Please add yourself to the list where appropriate. If you are inactive, please remove yourself again.&lt;br /&gt;
&lt;br /&gt;
== Administrators ==&lt;br /&gt;
&lt;br /&gt;
This is a list of KDE TechBase administrators.&lt;br /&gt;
&lt;br /&gt;
* [[User:Danimo|Danimo]]&lt;br /&gt;
* [[User:Dhaumann|Dhaumann]], &amp;lt;dhaumann at kde dot org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reviewers and Article Writers ==&lt;br /&gt;
&lt;br /&gt;
If you are continuously reviewing KDE TechBase changes or writing articles add yourself to the list.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dhaumann|Dhaumann]], &amp;lt;dhaumann at kde dot org&amp;gt;&lt;br /&gt;
* [[User:Milliams|Milliams]]&lt;br /&gt;
* name, &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Translation Teams ==&lt;br /&gt;
&lt;br /&gt;
KDE TechBase is [[Help:Wiki Translation|translated]] into many languages. If you translate pages please add yourself to the right translation team.&lt;br /&gt;
&lt;br /&gt;
=== Chinese(simplified) Team ===&lt;br /&gt;
* [[User:Liangqi|Liangqi]], cavendish.qi at gmail dot com&lt;br /&gt;
* name, &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Spanish Team ===&lt;br /&gt;
* [[User:Mjp ttc|Mjp ttc]], mjp_ttc at yahoo dot com&lt;br /&gt;
* name, &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== German Team ===&lt;br /&gt;
* [[User:DrSlowDecay|DrSlowDecay]], kde at metalhorde dot de&lt;br /&gt;
* [[User:Rememberme|rememberme]] redict dot info at gmx dot net&lt;br /&gt;
* [[User:sschloenvoigt|Steffen Schloenvoigt]], steffen at schloenvoigt dot de &lt;br /&gt;
* name, &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Italian Team ===&lt;br /&gt;
* [[User:Thunder Teaser|Thunder Teaser]], totokid at gmail dot com&lt;br /&gt;
* name, &amp;lt;email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ... Team ===&lt;br /&gt;
* name, &amp;lt;email&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sschloenvoigt</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Set_up_KDE_4_for_development_(de)</id>
		<title>Getting Started/Set up KDE 4 for development (de)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Set_up_KDE_4_for_development_(de)"/>
				<updated>2008-01-14T13:08:45Z</updated>
		
		<summary type="html">&lt;p&gt;Sschloenvoigt: Typo korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Getting_Started/Set_up_KDE_4_for_development}}&lt;br /&gt;
{{TutorialBrowser|&lt;br /&gt;
&lt;br /&gt;
series=Getting Started|&lt;br /&gt;
&lt;br /&gt;
name=Set up KDE 4 for development|&lt;br /&gt;
&lt;br /&gt;
pre=[[Getting_Started/Build/KDE4|Build KDE 4]]|&lt;br /&gt;
&lt;br /&gt;
next=[[Development|Other development topics]]|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{note|Diese Seite setzt voraus, dass Sie bereits kdelibs, kdepimlibs und kdebase anhand der der Anleitung unter [[Getting Started/Build/KDE4]] erstellt haben}}&lt;br /&gt;
&lt;br /&gt;
== KDE 4 Anwendungen &amp;amp; Sitzungen starten ==&lt;br /&gt;
&lt;br /&gt;
Um mit der Entwicklung für KDE 4 zu beginnen, gibt es folgende drei Möglichkeiten:&lt;br /&gt;
* Sie können [[Getting_Started/Set_up_KDE_4_for_development_(de)#KDE_4_Anwendungen_starten|KDE 4 Anwendungen neben anderen Anwendungen]] in Ihrer aktuellen Desktop Umgebung ausführehn.&lt;br /&gt;
* Sie können in Ihre aktuelle Desktop Umgebung  [[Getting_Started/Set_up_KDE_4_for_development_(de)#Eingebettete_KDE_4_Sitzung|eine KDE 4 Sitzung einbetten]].&lt;br /&gt;
* Sie können [[Getting_Started/Set_up_KDE_4_for_development_(de)#Eigenständige_KDE_4_Sitzung|KDE 4 als eigene Sitzung]] ausführen.&lt;br /&gt;
&lt;br /&gt;
Alle drei Optionen werden nachfolgend beschrieben.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
Wenn Sie beim ausführen von KDE 4 Anwendungen Fehler wie den folgenden erhalten:&lt;br /&gt;
  Qt: Session management error: Could not open network socket&lt;br /&gt;
  QMutex::lock: Deadlock detected in thread -1241241936&lt;br /&gt;
Oder wenn Sie startkde ausführen und es hängenbleibt, lesen Sie [http://www.nabble.com/QMutex::lock:-Deadlock-detected---running-KDE4-apps-%22using-the-normal-shell%22-t3584446.html this article] für einen möglichen Ausweg.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== KDE 4 Anwendungen starten ===&lt;br /&gt;
==== Auf der normalen Shell mit sux ====&lt;br /&gt;
&lt;br /&gt;
Für diese Methode wird das Tool '''sux''' (http://fgouget.free.fr/sux/sux-readme.shtml) benötigt. '''sux''' ist in den meisten Distributionen bereits enthalten. Anderenfalls können Sie auf die unten beschriebene Methode ''Normale Shell ohne sux'' zurückgreifen. '''sux''' erlaubt Ihnen, zu einem anderen Nutzer zu wechseln und konfiguriert dabei automatisch das X Forwarding (Authentifizierung und Export der DISPLAY Variable).&lt;br /&gt;
&lt;br /&gt;
Um sich anzumelden, geben Sie  &amp;lt;code bash&amp;gt;sux - kde-devel&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Alle Umgebungsvariablen und alles sonstige sollten korrekt von Ihrer {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}&lt;br /&gt;
gesetzt werden. Um eine Applikation zu starten, geben Sie einfach ihren Namen ein; zum Beispiel: &amp;lt;code bash&amp;gt;kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
{{Note|&lt;br /&gt;
Wenn Sie Fehlermeldungen über fehlende MIME-Typen oder ähnliches erhalten, versuchen Sie folgendes:&lt;br /&gt;
* führen Sie &amp;lt;code bash&amp;gt;unset XDG_DATA_DIRS ; kbuildsycoca4&amp;lt;/code&amp;gt; aus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Normal Shell ohne sux ====&lt;br /&gt;
Die einfachste Methode um KDE 4 Anwendungen zu starten, ist es &amp;lt;tt&amp;gt;su&amp;lt;/tt&amp;gt; zur Anmeldung als &amp;lt;tt&amp;gt;kde-devel&amp;lt;/tt&amp;gt; Benutzer zu benutzen und dann einfach die gewünschten KDE 4 Anwendung von der Shell aufzurufen. Um sich anzumelden, geben Sie &amp;lt;code bash&amp;gt;su - kde-devel&amp;lt;/code&amp;gt; &lt;br /&gt;
ein und nachdem Sie Ihr Passwort eingegeben haben führen Sie&lt;br /&gt;
&amp;lt;code bash&amp;gt;export DISPLAY=:0&amp;lt;/code&amp;gt; aus.&lt;br /&gt;
{{Note|Das Exportieren der &amp;lt;tt&amp;gt;DISPLAY&amp;lt;/tt&amp;gt; Variable ist nötig, damit die KDE 4 Anwendungen auf Ihrem normalen KDE 3 Desktop erscheinen.}}&lt;br /&gt;
Alle Umgebungsvariablen und alles sonstige sollte bereits von Ihrer {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}} korrekt gesetzt worden sein. Um eine Anwendung zu starten, geben sie einfach ihren namen ein; zum Beispiel: &amp;lt;code bash&amp;gt;kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
{{Note|&lt;br /&gt;
Wenn Sie Fehlermeldungen über fehlende MIME-Typen oder ähnliches erhalten, versuchen Sie folgendes:&lt;br /&gt;
* führen Sie &amp;lt;code bash&amp;gt;unset XDG_DATA_DIRS ; kbuildsycoca4&amp;lt;/code&amp;gt; aus&lt;br /&gt;
}}&lt;br /&gt;
{{Note|&lt;br /&gt;
Wenn Sie eine Fehlermeldung erhalten, dass Sie sich nicht mit einem X-Server verbinden können, versuchen Sie &lt;br /&gt;
&amp;lt;code bash&amp;gt;sudo xhost +local:kde-devel&amp;lt;/code&amp;gt;&lt;br /&gt;
unter Ihrem normalen KDE 3 Account auszuführen um sicher zu gehen das die Anwendung sich mit der gerade laufenden X-Sitzung verbinden kann.&lt;br /&gt;
&lt;br /&gt;
Obwohl Ihr X-Server ankommende TCP Verbindungen akzeptieren sollte, ist dies oft von Distributionsseite her deaktiviert (so etwa unter Kubuntu Feisty). Wenn Sie &amp;lt;tt&amp;gt;kdm&amp;lt;/tt&amp;gt; benutzen, müssen Sie die Datei &amp;lt;tt&amp;gt;/etc/kde3/kdm/kdmrc&amp;lt;/tt&amp;gt; als root bearbeiten und überprüfen, das sie nicht folgendes enthält:&lt;br /&gt;
&amp;lt;code&amp;gt;ServerArgsLocal=-nolisten tcp&amp;lt;/code&amp;gt;&lt;br /&gt;
Wenn Sie dies geändert haben, müssen Sie den X-Server neu starten.&lt;br /&gt;
Der &amp;lt;tt&amp;gt;xhost&amp;lt;/tt&amp;gt; Befehl sollte nun nicht mehr die Meldung &amp;quot;unable to open display&amp;quot; ausgeben.&lt;br /&gt;
&lt;br /&gt;
Aus Bequemlichkeit sollte dies automatisch beim Anmelden ihres normalen Benutzers geschehen. Um dies zu erreichen, erstellen Sie eine neue Datei unter  &amp;lt;tt&amp;gt;$HOME/.kde/Autostart&amp;lt;/tt&amp;gt; Ihres normalen Benutzers mit dem folgenden Inhalt:&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
xhost +local:kde-devel&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Stellen Sie sicher, das die neue Datei ausführbar ist, indem Sie  &amp;lt;tt&amp;gt;chmod +x&amp;lt;/tt&amp;gt; für die Datei ausführen.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie mehr über die '''Sicherheitsrisiken''' in Bezug auf &amp;lt;tt&amp;gt;xhost&amp;lt;/tt&amp;gt; erfahren möchten, lesen Sie [http://bau2.uibk.ac.at/matic/xsecur.htm diesen Artikel]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von SSH ====&lt;br /&gt;
&lt;br /&gt;
Der einfachste Weg um eine KDE 4 Anwendung über SSH auf Ihrem aktuellen Desktop auszuführen, ist es auf folgendem Weg eine Shell mit X-Forwarding zu bekommen:&lt;br /&gt;
&amp;lt;code bash&amp;gt;ssh -X kde-devel@localhost&amp;lt;/code&amp;gt;&lt;br /&gt;
Jetzt können Sie KDE Anwendungen wie gewöhnlich ausführen, zum Beispiel:&lt;br /&gt;
&amp;lt;code bash&amp;gt;kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
Diese zwei Zeilen können auf einfache Weise kombiniert werden:&lt;br /&gt;
&amp;lt;code bash&amp;gt;ssh -X kde-devel@localhost kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
Falls Sie Fehlermeldungen erhalten, probieren Sie die Tips aus dem vorhergehenden Abschnitt aus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== Anmeldung ohne Passwort =====&lt;br /&gt;
Bevor Sie vorherige Methode sinnvoll benutzen können, müssen Sie eine Anmeldung ohne Passwort einrichten. Dafür führen Sie folgenden Befehl unter Ihrem normalen Benutzeraccount aus:&lt;br /&gt;
&amp;lt;code bash&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
Drücken Sie drei mal RETURN um den Pfad {{path|~/.ssh/id_rsa}} zu akzeptieren und ein leeres Passwort zu vergeben. Anschliessen kopieren Sie die einzelne Zeile aus {{path|~/.ssh/id_rsa.pub}} die Ihnen die Ausgabe von&lt;br /&gt;
&amp;lt;code bash&amp;gt;cat ~/.ssh/id_rsa.pub&amp;lt;/code&amp;gt; liefert, in die Zwischenablage.&lt;br /&gt;
Wechseln Sie nun mit &amp;lt;tt&amp;gt;ssh&amp;lt;/tt&amp;gt; zurück zum &amp;lt;tt&amp;gt;kde-devel&amp;lt;/tt&amp;gt; Benutzer öffnen Sie die Datei {{path|$HOME/.ssh/authorized_keys}} auf folgende Weise:&lt;br /&gt;
 ssh -X kde-devel@localhost $HOME/kde/bin/kwrite \&lt;br /&gt;
  $HOME/.ssh/authorized_keys&lt;br /&gt;
Fügen Sie dort die zuvor kopierte Zeile ein, speichern Sie die Datei und beenden Sie KWrite. Versuchen Sie nun nochmal KWrite mit dem gleichen SSH-Befehl auszuführen; Sie sollten nun kein Passwort mehr benötigen:&lt;br /&gt;
&amp;lt;code bash&amp;gt;ssh -X kde-devel@localhost $HOME/kde/bin/kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning|Das Anmelden per SSH ohne Passwort birgt gewisse '''Sicherheitsrisiken'''. Vergewissern Sie sich deshalb, dass Ihre  &amp;lt;tt&amp;gt;~/.ssh/id_rsa&amp;lt;/tt&amp;gt; Datei geschützt ist, indem Sie den Zugriff auf sie mit &lt;br /&gt;
&amp;lt;code bash&amp;gt;chmod og-xrw ~/.ssh/id_rsa&amp;lt;/code&amp;gt; einschränken (Die Datei sollte diese Rechte eigentlich bereits bei der Erstellung erhalten haben)}}&lt;br /&gt;
&lt;br /&gt;
===== Die SSH desktop Datei =====&lt;br /&gt;
Wenn Sie Anwendungen einfacher benutzen wollen, als Sie per SSH-Befehl von der Shell zu starten, besteht ein Weg darin, &amp;lt;tt&amp;gt;.desktop&amp;lt;/tt&amp;gt; Dateien zu erstellen die automatisch per &amp;lt;tt&amp;gt;ssh&amp;lt;/tt&amp;gt; zum anderen Benutzer wechseln. &lt;br /&gt;
{{Note|Dies ist nur dann nützlich, wenn Ihre Desktop-Umgebung .desktop Dateien unterstützt. Immerhin KDE und GNOME tuen dies.}}&lt;br /&gt;
&lt;br /&gt;
Sie können eine existierenden .desktop Datei als Vorlage verwenden (Etwa eine von Ihrem Desktop) oder eine neue erstellen. Die Idee dahinter ist, dem auszuführenden Kommando die SSH-Verbindung auf folgende Weise voranzustellen:&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
ssh -X kde-devel@localhost $HOME/kde/bin/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine einfache .desktop Datei die KWrite ausführt würde folgenden Inhalt haben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code ini&amp;gt;&lt;br /&gt;
[Desktop Entry]&lt;br /&gt;
Categories=Qt;KDE;TextEditor;&lt;br /&gt;
Comment=&lt;br /&gt;
DocPath=kwrite/index.html&lt;br /&gt;
Encoding=UTF-8&lt;br /&gt;
Exec=ssh -X kde-devel@localhost /home/kde-devel/kde/bin/kwrite %U&lt;br /&gt;
GenericName=Text Editor&lt;br /&gt;
Icon=kwrite&lt;br /&gt;
InitialPreference=8&lt;br /&gt;
MimeType=text/plain&lt;br /&gt;
Name=KWrite (kde-devel)&lt;br /&gt;
Path=&lt;br /&gt;
StartupNotify=false&lt;br /&gt;
Terminal=false&lt;br /&gt;
TerminalOptions=&lt;br /&gt;
Type=Application&lt;br /&gt;
X-DBUS-StartupType=Multi&lt;br /&gt;
X-DCOP-ServiceType=non&lt;br /&gt;
X-KDE-StartupNotify=true&lt;br /&gt;
X-KDE-SubstituteUID=false&lt;br /&gt;
X-KDE-Username=&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Anwendung, die wie hier über SSH gestartet werden, lösen nicht die korrekten Startereignisse aus, so dass Sie besser die &amp;quot;Startrückmeldung&amp;quot; für Ihre .desktop Dateien deaktivieren sollten.}}&lt;br /&gt;
&lt;br /&gt;
{{note|Um auf diese Weise eine .desktop-Datei für KDE 4 Anwendungen zu erstellen, muss das Paket der Anwendung mit &amp;lt;tt&amp;gt;cmakekde&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;~/kde/bin&amp;lt;/tt&amp;gt; installiert worden sein.}}&lt;br /&gt;
&lt;br /&gt;
=== Starten von KDE 4 Sitzungen ===&lt;br /&gt;
==== Eingebettete KDE 4 Sitzung ====&lt;br /&gt;
    {|align=&amp;quot;right&amp;quot; &lt;br /&gt;
    |[[image:Snapshot1.png|right|thumb|200px|Nested]]&lt;br /&gt;
    |}&lt;br /&gt;
Anstatt für die Software-Entwicklung einen vollständigen virtuellen X-Server zu benutzen, können Sie Xephyr zur Einbettung Ihrer KDE 4 Sitzung in Ihr KDE 3 oder  eine andere X11-Umgebung verwenden.&lt;br /&gt;
&lt;br /&gt;
Sie können dies auch mit xnest erreichen aber da xnest nicht mit Erweiterungen wie Render umgehen kann, bevorzugen viele Leute Xephyr.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie eine minimale KDE Sitzung verwenden wollen, führen Sie einfach Xephyr aus: (in Kubuntu als xserver-xephyr verfügbar; Gentoo Benutzer kompilieren x11-base/xorg-server mit USE=&amp;quot;kdrive&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
 Xephyr :1&amp;amp;&lt;br /&gt;
&lt;br /&gt;
Sie können KDE nun ausführen:&lt;br /&gt;
&lt;br /&gt;
 export DISPLAY=:1&lt;br /&gt;
 /path/to/kde4/bin/startkde-modified &amp;amp;&lt;br /&gt;
&lt;br /&gt;
startkde-modified ist eine Kopie des startkde-Skripts welches die folgenden Zeilen am Anfang enthält:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
export KDEDIR=`kde4-config --prefix`&lt;br /&gt;
export LD_LIBRARY_PATH=$KDEDIR/lib&lt;br /&gt;
export PATH=$KDEDIR/bin/:$PATH&lt;br /&gt;
export KDEHOME=~/.kde4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie können Xephyr auch mit KDM über das Xdmcp Protokoll benutzen und einfach eine neue KDE 4 Sitzung zu KDM hinzufügen.&lt;br /&gt;
 &lt;br /&gt;
Unter Kubuntu können Sie das erreichen indem Sie&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code ini&amp;gt;&lt;br /&gt;
[Xdmcp]&lt;br /&gt;
# Whether KDM should listen to incoming XDMCP requests.&lt;br /&gt;
# Default is true&lt;br /&gt;
Enable=false&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in {{path|/etc/kde3/kdm/kdmrc}} zu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code ini&amp;gt;&lt;br /&gt;
[Xdmcp]&lt;br /&gt;
# Whether KDM should listen to incoming XDMCP requests.&lt;br /&gt;
# Default is true&lt;br /&gt;
Enable=true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verändern und Ihre {{path|/etc/kde3/kdm/Xaccess}} anpassen um ihrem lokalen System Zugriff zu gewähren. Zusätzlich sollten Sie eine Blockierende Regel für alle Ihre externen Schnittstellen für den Xdmcp Port einrichten falls Sie dies auf einem Laptop oder einem PC in einer unsicheren Umgebung verwenden.&lt;br /&gt;
 &lt;br /&gt;
Wenn Sie soweit sind, führen Sie einfach Xephyr aus:&lt;br /&gt;
 &lt;br /&gt;
 Xephyr -query localhost :1 -host-cursor -screen 1024x768&amp;amp;&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;tt&amp;gt;-host-cursor&amp;lt;/tt&amp;gt; versucht den Cursor des Hosts zu benutzen und &amp;lt;tt&amp;gt;-screen&amp;lt;/tt&amp;gt; die Auflösung des Bildschirms festlegt.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Wenn Sie viele Fehlermeldungen bezüglich abgewiesener Verbindungen erhalten, sollten Sie die Option -ac an Xephyr übergeben:&lt;br /&gt;
&lt;br /&gt;
 Xephyr -ac :1&amp;amp;&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit die Sie versuchen können, wenn Sie diese Meldungen erhalten, ist es dem kde-devel Benutzer Zugriff auf den X-Server zu geben. Als root oder mit sudo führen Sie dazu folgenden Befehl aus:&lt;br /&gt;
&lt;br /&gt;
 xhost +local:kde-devel&lt;br /&gt;
&lt;br /&gt;
Falls Ihnen Xephyr nicht zur Verfügung steht, können Sie auch Xnest benutzen:&lt;br /&gt;
&lt;br /&gt;
 Xnest -ac :1&amp;amp; export DISPLAY=:1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
{{improve}}&lt;br /&gt;
[[User:Sping|Sping]] 00:25, 9 April 2007 (CEST)&amp;lt;BR&amp;gt;&lt;br /&gt;
I use this for my start script ''nested_kde4.sh'':&lt;br /&gt;
&lt;br /&gt;
 #! /bin/bash&lt;br /&gt;
 NESTED_KDE_DISPLAY_BACKUP=$DISPLAY&lt;br /&gt;
 export DISPLAY=:0&lt;br /&gt;
 Xephyr :1 -screen 1024x768 &amp;amp;&lt;br /&gt;
 export DISPLAY=:1&lt;br /&gt;
 $HOME/kde/bin/startkde-modified &amp;amp;&lt;br /&gt;
 export DISPLAY=${NESTED_KDE_DISPLAY_BACKUP}&lt;br /&gt;
&lt;br /&gt;
Falls Sie folgende Fehlermeldung erhalten:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Call to lnusertemp failed (temporary directories full?).&lt;br /&gt;
  Check your installation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
versuchen Sie folgendes:&lt;br /&gt;
&lt;br /&gt;
 mkdir /var/tmp/kde-devel-kde4&lt;br /&gt;
&lt;br /&gt;
Der obige Code setzt voraus das sie als Benutzer ''kde-devel'' arbeiten.&lt;br /&gt;
{{Note|In den meisten Fällen müssen Sie ''startkde-modified'' mit ''startkde'' ersetzen}}&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
==== Eigenständige KDE 4 Sitzung ====&lt;br /&gt;
    {|align=&amp;quot;right&amp;quot; &lt;br /&gt;
    |[[image:solitary.png|right|thumb|200px|Solitary]]&lt;br /&gt;
    |}&lt;br /&gt;
Um eine eigenständige KDE 4 Sitzung auszuführen, können Sie sie entweder, wie gewöhnlich, auf folgende Weise von der Kommandozeile starten:&lt;br /&gt;
&lt;br /&gt;
 X :1 &amp;amp; export DISPLAY=:1&lt;br /&gt;
 startkde&lt;br /&gt;
&lt;br /&gt;
{{Note|Wenn der X-Server die Verbindung verweigert und dabei folgendes ausgibt: &amp;lt;tt&amp;gt;Xlib: connection to &amp;quot;:1.0&amp;quot; refused by server&amp;lt;/tt&amp;gt;, versuchen Sie &amp;lt;tt&amp;gt;X -ac :1&amp;lt;/tt&amp;gt; stattdessen.}}&lt;br /&gt;
&lt;br /&gt;
oder Sie können KDE 4 zu Ihrem Login Manager hinzufügen. Wenn Sie KDM (oder einen kompatiblen Login Manager) benutzen, wird dies durch Erstellen einer .desktop Datei in entweder {{path|`kde-config --prefix`/share/apps/kdm/sessions/}} oder in {{path|/usr/share/xsessions/}} erreicht. Der einfachste Weg führt dabei über das kopieren einer existierenden {{path|kde.desktop}}-Datei nach {{path|kde4.desktop}}. Öffnen Sie diese neue .desktop-Datei in einem Texteditor und ändern Sie die Einträge zu  &amp;lt;tt&amp;gt;Exec&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;TryExec&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;Name&amp;lt;/tt&amp;gt; auf folgende Weise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code ini&amp;gt;&lt;br /&gt;
Exec=$HOME/kde/bin/startkde&lt;br /&gt;
TryExec=$HOME/kde/bin/startkde&lt;br /&gt;
Name=KDE4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ersetzen Sie {{path|$HOME/kde}} in obigem Beispiel mit dem Pfad unter dem Sie KDE 4 installiert haben.&lt;br /&gt;
&lt;br /&gt;
Nach dem Neustart des Login Managers (&amp;lt;tt&amp;gt;Alt+e&amp;lt;/tt&amp;gt; in KDM) sollte dieser neue Eintrag im Sitzungs-Menu erscheinen.&lt;br /&gt;
&lt;br /&gt;
{{Note|Sie sollten den Pfad zum 'qdbus' Programm (normalerweise ist dies $QTDIR/bin) in Ihrer $PATH Variable haben um sich erfolgreich anzumelden. Falls es dort nicht ist, werden Sie eine Fehlermeldung &amp;quot;Could not start DBus. Check your installation.&amp;quot; erhalten.}}&lt;br /&gt;
&lt;br /&gt;
== Entwicklungs Aufgaben ==&lt;br /&gt;
=== KDevelop ===&lt;br /&gt;
&lt;br /&gt;
Dieser Abschnitt wird Ihnen erklären, wie sie KDevelop 3.4 benutzen um KDE 4 Anwendungen zu entwickeln. Wenn sie Fragen, Korrekturen oder Bedenken zu diesem Abschnitt haben, notieren Sie diese bitte auf der Diskussions-Seite.&lt;br /&gt;
&lt;br /&gt;
==== Voraussetzungen ====&lt;br /&gt;
&lt;br /&gt;
Sie benötigen hierfür mindestens KDevelop 3.4, das immernoch eine KDE 3 Anwendung ist. Versionen vor 3.4 haben unter anderem keine Qt 4 Unterstützung. Die KDE 4 Version von KDevelop ist für den produktiven Einsatz noch nicht geeignet. Sie erhalten KDevelop auf der [http://www.kdevelop.org/index.html?filename=3.4/download.html KDevelop Homepage]. Installieren Sie KDevelop wie alle anderen KDE 3 Anwendungen unter Ihrem normalen Benutzer und '''nicht''' mit Ihrem ''kde-devel'' Benutzer. &lt;br /&gt;
&lt;br /&gt;
Sie benötigen ausserdem die neueste ''GDB'' Version. Die aktuelle ist 6.6.0.&lt;br /&gt;
&lt;br /&gt;
Weiterhin müssen Sie die kdelibs API Dokumentation lokal vorliegend haben, was unter [[Getting_Started/Build/KDE4#Generating_local_API_documentation|Anleitung zum Erstellen]] beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
Ausserdem benötigen Sie noch ''ctags'', ''htdig'', ''htmerge'' und ''htsearch''. ''valgrind'' und ''callgrind'' könnten auch nützlich sein.&lt;br /&gt;
&lt;br /&gt;
Stellen Sie sicher, das sie den Schritten unter KDE 4 [[Getting_Started/Build/KDE4|Anleitung zum Erstellen]] befolgt und eine funktionierende KDE 4 Umgebung erstellt haben. Prüfen Sie, ob sich einfache KDE 4 Anwendungen wie ''Konsole'' oder ''KWrite'' von der Kommandozeile des kde-devel Benutzers ohne Probleme starten lassen.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Schritte werden alle mit dem '''kde-devel''' Benutzer ausgeführt. Sie müssen sich mit &amp;lt;code bash&amp;gt;su - kde-devel&amp;lt;/code&amp;gt; unter diesem Benutzer anmelden.&lt;br /&gt;
&lt;br /&gt;
==== Die Umgebung aufsetzen ====&lt;br /&gt;
&lt;br /&gt;
KDevelop hat keine native Unterstützung für CMake Projekte. Glücklicherweise hat CMake die Fähigkeit selbst KDevelop Projekt Dateien zu erstellen. Um dies zu erreichen, müssen Sie CMake den Parameter ''-GKDevelop3'' übergeben. Dies bewegt CMake dazu, Projektdateien für KDevelop neben den normalen Makefiles zu erstellen. Der beste Weg dazu ist es, die '''cmakekde ''' Funktion in Ihrer [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]] anzupassen. Ändern Sie einfach&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
cmake $srcFolder -DCMAKE_INSTALL_PREFIX=$KDEDIR \&lt;br /&gt;
-DCMAKE_BUILD_TYPE=debugfull&amp;amp;&amp;amp; \&lt;br /&gt;
make &amp;amp;&amp;amp; \&lt;br /&gt;
make install;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
cmake $srcFolder -GKDevelop3 -DCMAKE_INSTALL_PREFIX=$KDEDIR \&lt;br /&gt;
-DCMAKE_BUILD_TYPE=debugfull&amp;amp;&amp;amp; \&lt;br /&gt;
make &amp;amp;&amp;amp; \&lt;br /&gt;
make install;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nachdem Sie das getan haben, melden Sie sich erneut an, damit sich die Veränderungen an der {{path|.bashrc}} Datei auswirken. Dann müssen Sie ''cmakekde'' erneut im (Wurzel) build Verzeichnis des Projekts an dem Sie mit KDevelop arbeiten wollen (wenn sie vorher nicht ''-GKDevelop3'' im  [[Getting_Started/Build/KDE4#Setting_up_the_environment|Erstellungsschritt]] ausgeführt haben). Wenn Sie zum Beispiel an Konsole, welches in ''kdebase'' liegt, arbeiten möchten, müssen Sie cmakekde im {{path|$KDE_BUILD/KDE/kdebase}} Verzeichnis ausführen. Dies erstellt unglücklicherweise alles erneut, aber nur einmal wenn Sie den Generator ändern.&lt;br /&gt;
&lt;br /&gt;
Da alle Umgebungsvariablen des kde-devel Benutzers KDE 4 spezifisch sind, müssen diese zurückgesetzt werden, um der KDE 3 Umgebung zu entsprechen bevor KDevelop gestartet wird. Am einfachsten wird dies erreicht, indem Sie folgende Funktion zu Ihrer {{path|.bashrc}} hinzufügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
function start3app {&lt;br /&gt;
  mkdir -p /tmp/$USER-kde&lt;br /&gt;
  export PATH=/opt/kde3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games &lt;br /&gt;
  export LD_LIBRARY_PATH= &lt;br /&gt;
  export KDETMP=/tmp/$USER-kde &lt;br /&gt;
  export KDEVARTMP=/var/tmp/$USER-kde &lt;br /&gt;
  export KDEHOME=$HOME/.kde &lt;br /&gt;
  export KDEDIR=/usr &lt;br /&gt;
  export KDEDIRS=$KDEDIR &lt;br /&gt;
  export DISPLAY=:0 &lt;br /&gt;
  eval &amp;quot;$@&amp;quot;&lt;br /&gt;
  source $HOME/.bashrc   #Reset environment variables again&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ''PATH'' und ''LD_LIBRARY_PATH'' Variable werden vom KDE 3 Benutzer übernommen, und sie könnten auf Ihrem System abweichen, Geben Sie &amp;lt;code bash&amp;gt;echo $PATH&amp;lt;/code&amp;gt; und &amp;lt;code bash&amp;gt;echo $LD_LIBRARY_PATH&amp;lt;/code&amp;gt; als normaler KDE 3 Benutzer ein, um diese Werte zu erhalten. Die obigen Funktion nimmt an, das KDE 3 im {{path|/usr}} Verzeichnis installiert ist, wie es unter Debian-Systemen der Fall ist. Falls Ihr KDE 3 in einem anderen Verzeichnis installiert ist, müssen Sie die Zeile die ''KDEDIR'' setzt entsprechend anpassen. Hier ist ein Beispiel, wie sie herausfinden unter welchem Verzeichnis KDE installiert ist; in diesem Beispiel ist es /opt/kde3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
kde-config --prefix&lt;br /&gt;
/opt/kde3&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt sollten Sie KDevelop starten können, indem Sie &amp;lt;tt&amp;gt;start3app kdevelop&amp;lt;/tt&amp;gt; eingeben. Machen sie dies jetzt.&lt;br /&gt;
&lt;br /&gt;
{{tip|&lt;br /&gt;
Sie können jede KDE 3 Anwendung mit der &amp;lt;tt&amp;gt;start3app&amp;lt;/tt&amp;gt; Funktion starten. Nützlich ist das zum Beispiele für ''Kompare'' und ''kdesvn''.&lt;br /&gt;
&lt;br /&gt;
Sie können jedoch auf diesem Weg nicht ''KDbg'' starten umd KDE 4 Anwendungen zu debuggen, da sonst die die Umgebungsvariablen für die debuggte Anwendung falsch sind.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{tip|&lt;br /&gt;
Anstatt KDevelop mit ''start3app'' als ''kde-devel'' zu starten, können Sie auch den KDE-Ausführen-Dialog ''(Alt+F2)'' dafür benutzen:&lt;br /&gt;
&lt;br /&gt;
[[Image:Minicli.png]]&lt;br /&gt;
&lt;br /&gt;
Dies startet KDevelop als ''kde-devel'' Benutzer aber verwendet die Umgebungsvariablen des normalen Benutzers, so wie es das ''start3app'' Skript tut.&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TroubleShooting =====&lt;br /&gt;
&lt;br /&gt;
'''Symptom:''' kdevelop meldet &amp;quot;cannot talk to klauncher&amp;quot;. Sie können keine Datei öffnen.&lt;br /&gt;
&lt;br /&gt;
'''Lösung:''' fügen Sie Ihren KDE Bibliotheks-Pfad zum LD_LIBRARY_PATH hinzu, e.g.:&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/kde3/lib&lt;br /&gt;
&lt;br /&gt;
==== Einrichten von KDevelop ====&lt;br /&gt;
&lt;br /&gt;
Jetzt, da KDevelop gestartet ist, müssen Sie einige Einstellung vornehmen.&lt;br /&gt;
Gehen Sie dafür nach ''Einstellungen-&amp;gt;KDevelop einrichten...-&amp;gt;Dokumentation''. Entfernen Sie alle Einträge die für KDE 4 nicht relevant sind.&lt;br /&gt;
&lt;br /&gt;
{{note| Obwohl Umgebungsvariablen wie $HOME in diesem Abschnitt verwendet werden, sollten Sie diese mit echten Pfaden ersetzen, da KDevelop keine Umgebungsvariablen auflöst.}&lt;br /&gt;
&lt;br /&gt;
Optional können Sie die kdelibs API Dokumentation hinzufügen. Sie müssen sie [[Getting_Started/Build/KDE4#Generating_local_API_documentation|zuvor erstellen]]. Dann fügen sie die Dokumentation durch Klick auf ''Hinzufügen...'' hinzu. In diesem Dialog verwenden Sie folgende Einstellungen:&lt;br /&gt;
* ''Typ'': Doxygen Documentation Collection (muss zuerst eingestellt werden)&lt;br /&gt;
* ''Ort'': {{path|$KDE_SRC/KDE/kdelibs/kdelibs-apidocs/index.html}}&lt;br /&gt;
&lt;br /&gt;
Fügen Sie nun die Qt API Dokumentation hinzu, indem Sie folgende Einstellungen verwenden:&lt;br /&gt;
* ''Typ'': Qt Documentation Collection (muss zuerst eingestellt werden)&lt;br /&gt;
* ''Ort'': {{path|$HOME/qt-copy/doc/html/qt.dcf}}&lt;br /&gt;
&lt;br /&gt;
Nachdem Sie die Dokumentation für kdelibs und die Qt API hinzugefügt haben, stellen sie sicher das alle Checkboxen (''TOC'',''Index'' und ''Suche'') aktiviert sind. Dann gehen Sie auf den Tab ''Volltextsuche'' und stellen sicherm das die Pfade zu den Programmen ''htdig'', ''htmerge'' und ''htsearch'' korrekt sind. Sie können den Einstellungs-Dialog nun schliessen.&lt;br /&gt;
&lt;br /&gt;
Jetzt ist es an der Zeit das Projekt an dem Sie arbeiten möchten zu öffen indem sie auf ''Projekt-&amp;gt;Projekt öffnen'' klicken. Die Projektdateien befinden sich im build-Verzeichnis. Für Konsole müssen Sie zum Beispiel die Datei {{path|$KDE_BUILD/KDE/kdebase/apps/konsole/konsole.kdevelop}} öffnen. Sie müssen nun einige Projektspezifische Einstellungen unter ''Projekt-&amp;gt;Projekt Optionen'' vornehmen. Sie müssen das für jedes Projekt machen, an dem Sie arbeiten möchten.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
Manchmal ist keine KDevelop Projektdatei für das Verzeichnis in dem Sie arbeiten möchten verfügbar.&lt;br /&gt;
&lt;br /&gt;
Dies kann verschieden Gründe haben, es hängt davon ab wie die CMake-Dateien geschrieben wurden. Für gewöhnlich sollten CMake-Dateien, die eine &amp;lt;tt&amp;gt;project(projectname)&amp;lt;/tt&amp;gt; Anweisung enthalten gut funktionieren. Wenn Sie mit CMake vertraut genug sind, können Sie versuchen, diese Anweisung hinzuzufügen.&lt;br /&gt;
&lt;br /&gt;
Ein Workaround dafür ist es, einfach die KDevelop Projektdatei eines darüberliegenden Ordners zu verwenden. In diesem Fall müssen Sie den &amp;lt;tt&amp;gt;Make Active Directory&amp;lt;/tt&amp;gt; Eintrag im Kontextmenu des &amp;lt;tt&amp;gt;File Selectors&amp;lt;/tt&amp;gt; in der Sidebar benutzen. Damit können Sie die anderen, unerwünschten Verzeichnisse beim erstellen und installieren ignorieren.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* ''C++ Unterstützung-&amp;gt;Codevervollständigung''&lt;br /&gt;
:Hier müssen Sie die Vervollständigungs-Datenbanken für Qt und kdelibs hinzufügen und natürlich noch mehr wenn Sie mögen. Zum Beispiel könnten Sie eine Datenbank für ''kdepimlibs'' benötigen wenn sie an ''kdepim'' arbeiten.&lt;br /&gt;
&lt;br /&gt;
:Für kdelibs klicken Sie den ''Hinzufügen...'' Button und wählen ''KDevelop Custom Directory PCS Importer'', dann fügen Sie Ihr KDE include Verzeichnis ({{path|$HOME/kde/include}}) zur Liste hinzu und fahren fort. Sie können den Dateiauswahldialog und den ''Hinzufügen...'' Button benutzen um es hinzuzufügen. &lt;br /&gt;
&lt;br /&gt;
:Jetzt fügen Sie die Datenbank für Qt 4 hinzu indem Sie ''KDevelop Qt4 PCS Importer'' auswählen. Sie müssen das Qt 4 include-Verzeichnis welches Sie unter {{path|$HOME/qt-copy/include}} finden hinzufügen.&lt;br /&gt;
&lt;br /&gt;
{{note|Der Qt4 PCS Importer wird nur benötigt wenn Qt4 nicht installiert wurde, sie es also zum Beispiel direkt aus dem build-Verzeichnis heraus nutzen. Der Nachteil ber der Benutzung des Qt4 Importers ist das er während des Imports keinen Fortschritt anzeigt und die Applikation zu hängen scheint. Die Alternative ist es den Custom Directory PCS Importer dafür zu benutzen}}&lt;br /&gt;
&lt;br /&gt;
* ''C++ Unterstützung-&amp;gt;Qt Optionen''&lt;br /&gt;
:Aktivieren Sie ''Qt Options aktivieren'' und wählen Sie Qt4 als Ihre Version. Setzen Sie den ''QMake Binary'' Pfad auf {{path|$HOME/qt-copy/bin/qmake}}. Dann wählen Sie ''Qt 4 style'' als ''Qt include syntax''. Benutzen Sie {{path|$HOME/qt-copy/bin/designer}} für ''Designer Binary''. Benutzen Sie den ''Pluginpfade ändern'' Dialog um das Plugin-Verzeichnis von KDE hinzufügen und so die KDE widgets im Designer zu sehen. Um das zu erreichen fügen Sie {{path|$HOME/kde/lib/kde4/plugins}} in das Textfeld ein und klicken den ''Hinzufügen''-Button.&lt;br /&gt;
&lt;br /&gt;
* ''Ausführungs Optionen''&lt;br /&gt;
:Stellen Sie sicher das für ''Executable'' der korrekte Wert eingestellt ist. Wenn Sie zum Beispiel Konsole ausführen wollen, geben Sie {{path|$KDE_BUILD/KDE/kdebase/apps/konsole/src/konsole}} an. Sie sollten  ''--nofork'' zu den ''Debug Parametern'' hinzufügen oder das Debuggen von einigen Anwendungen wie ''KMail'' wird fehlschlagen.&lt;br /&gt;
&lt;br /&gt;
:Da die ''start3app'' Funktion einige Umgebungsvariablen anpasst, müssen Sie diese hier zurücksetzen damit KDE 4 Anwendungen problemlos aus KDevelop heraus ausgeführt werden können.&lt;br /&gt;
:Für einige Anwendungen, wie Konsole, ist dies nicht unbedingt nötig aber andere wie KMail werden abstürzen wenn Sie die Variablen nicht anpassen.&lt;br /&gt;
:Klicken  Sie einfach auf den ''Hinzufügen / Kopieren'' Button um neue Umgebungsvariablen hinzuzufügen. Sie werden die folgenden brauchen, die die selben wie in Ihrer  [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]] sind:&lt;br /&gt;
&lt;br /&gt;
:{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| KDEHOME&lt;br /&gt;
| $HOME/.kde4&lt;br /&gt;
|-&lt;br /&gt;
| PATH&lt;br /&gt;
| $KDEDIR/bin:$QTDIR/bin:/usr/local/bin:$PATH&lt;br /&gt;
|-&lt;br /&gt;
| LD_LIBRARY_PATH&lt;br /&gt;
| $KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH&lt;br /&gt;
|-&lt;br /&gt;
| KDETMP&lt;br /&gt;
| /tmp/$USER-kde4&lt;br /&gt;
|-&lt;br /&gt;
| KDEVARTMP&lt;br /&gt;
| /var/tmp/$USER-kde4&lt;br /&gt;
|-&lt;br /&gt;
| KDEDIR&lt;br /&gt;
| $HOME/kde&lt;br /&gt;
|-&lt;br /&gt;
| KDEDIRS&lt;br /&gt;
| $KDEDIR&lt;br /&gt;
|-&lt;br /&gt;
| LD_BIND_NOW&lt;br /&gt;
| 42&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* ''Erstellungs Optionen-&amp;gt;Erstellung''&lt;br /&gt;
:Stellen Sie sicher das hier das korrekte build-Verzeichnis eingetragen ist. Für Konsole ist es wiederum dieses: {{path|$KDE_BUILD/KDE/kdebase/apps/konsole}}.&lt;br /&gt;
&lt;br /&gt;
* ''Erstellungs Optionen-&amp;gt;Make''&lt;br /&gt;
:Sie sollten ''Abruch bei erstem Fehler'' aktivieren. Ausserdem sollten Sie ''VERBOSE='' oder ''VERBOSE=1'' zu ''Weitere Make Optionen'' hinzufügen um Aussagekraft des Erstellungsprozesses zu steuern.&lt;br /&gt;
&lt;br /&gt;
:Wenn Sie mehr als einen Prozessor haben oder Sie Zugriff auf einen icecream cluster besitzen, sollten Sie die Option ''Mehrere Jobs ausführen'' aktivieren u nd die ''Anzahl der gleichzeitigen Prozesse'' auf die Anzahl der verfügbaren Prozessoren einstellen. Dies erhöht die Kompilierungsgeschwindigkeit. Es ist dsa gleiche wie die &amp;lt;tt&amp;gt;-j&amp;lt;/tt&amp;gt; Option für ''Make''.&lt;br /&gt;
&lt;br /&gt;
* ''Formatierung''&lt;br /&gt;
:Sie sollten alle Optionen hier so setzen, das sie zu dem Coding-Stil des Projekts an dem Sie arbeiten passen.&lt;br /&gt;
&lt;br /&gt;
* ''CTags-&amp;gt;Allgemein''&lt;br /&gt;
:Sie müssen den ''Pfad zur CTag Binary'' korrekt setzen, die sich in Debian unter {{path|/usr/bin/ctags}} befindet. &lt;br /&gt;
&lt;br /&gt;
:Am besten aktivieren Sie noch die Option &amp;lt;tt&amp;gt;Bei mehr als einem Treffer, direkt zum Ersten gehen&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Jetzt sind Sie damit fertig Ihre Projekt-spezifischen Einstellungen zu konfigurieren. Sie sollten nun unter ''Einstellungen-&amp;gt;Plugins konfigurieren...'' einige Plugins entfernen, die Sie nicht benötigen. Ich deaktiviere beispielsweise folgende Plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Abbreviation Expansion, Code Snippets, Doxygen Support, Embedded Konsole, File Tree, '''Final Packaging Support''', &amp;quot;Open with&amp;quot; Menu Addon, QuickOpen, Regular Expression Tester, Scripting, '''Security Checker''', Shell Filtering and Insertion, Text Structure and Tools Menu Addition.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie sollten zumindest die Fettgedruckten entfernen.&lt;br /&gt;
&lt;br /&gt;
Jetzt öffnen Sie, falls noch nicht geschehen, irgendeine Quelldatei. Dies aktiviert den Menueintrag ''Einstellungen-&amp;gt;Editor konfigurieren...'', wo Sie die Tabulatoroptionen so einstellen müssen wie Sie im Projekt an dem Sie arbeiten benutzt werden. Die wichtigsten Einstellungen sind:&lt;br /&gt;
* ''Erscheinungsbild-&amp;gt;Rahmen-&amp;gt;Zeilennummern anzeigen'': Sollte aktiviert sein.&lt;br /&gt;
* ''Erscheinungsbild-&amp;gt;Rahmen-&amp;gt;Symbolränder anzeigen'': Sollte aktiviert sein.&lt;br /&gt;
* ''Bearbeiten-&amp;gt;Tabulatoren'' &lt;br /&gt;
* ''Bearbeiten-&amp;gt;Statischer Zeilenumbruch-&amp;gt;Markierung anzeigen'': Sollte aktiviert sein&lt;br /&gt;
* ''Einrückung-&amp;gt;Automatische Einrückung-&amp;gt;Einrückungs-Modus'': Sollte ''C Style'' sein&lt;br /&gt;
* ''Einrückung'' insgesamt&lt;br /&gt;
&lt;br /&gt;
Im Hauptfenster klicken Sie auf den Tab ''CTags'' in der unteren Tableiset, dann klicken Sie auf ''Neu erstellen'' um eine CTags-Datenbank zur einfacheren Navigation im Quellcode zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Jetzt haben Sie alle wesentlichen Einstellunge vorgenommen, Gratulation!&lt;br /&gt;
&lt;br /&gt;
==== KDevelop benutzen ====&lt;br /&gt;
&lt;br /&gt;
Wenden Sie sich an das [http://docs.kde.org/development/en/kdevelop/kdevelop/ KDevelop Handbuch (englisch)] um generell Hilfe zu Ihrer Arbeit mit KDevelop zu erhalten. Der folgende Abschnitt wird nur Spezialfälle im Bezug auf KDE 4 enthalten.&lt;br /&gt;
&lt;br /&gt;
===== Debugging =====&lt;br /&gt;
&lt;br /&gt;
KDE Anwendungen haben viele Symbole, was bedeutet, dass sie viel Speicher benötigen um eine angemessene Ladezeit beim Debuggen zu erreichen. Um einen GDB Entwickler zu zitieren: &amp;quot;&lt;br /&gt;
KDE apps have many symbols, which means that you need a lot of memory to get a decent loading times for debugging. To quote a GDB developer: &amp;quot;Ich würde mich weigern KDE auf etwas mit unter 1 GB RAM zu debuggen.&amp;quot;&lt;br /&gt;
Wenn die Schrittfunktion des Debuggers zu langsam für Sie ist, versuchen Sie folgende Tips:&lt;br /&gt;
* Lokale Variablen verstecken. Der &amp;lt;tt&amp;gt;Lokal&amp;lt;/tt&amp;gt; Teil im linken Variablen Tab   verursacht einen erheblichen Geschwindigkeitsrückgang bei der Schrittweisen Ausführung wenn Sie viele lokale Variablen haben. Klappen sie einfach den &amp;lt;tt&amp;gt;Lokal&amp;lt;/tt&amp;gt; Teil des Baums zu, die lokalen Variablen werden nun nicht bei jedem Schritt aktualisiert. Sie können immernoch die Variablen untersuchen indem sie die &amp;lt;tt&amp;gt;Ausdruck evaluieren&amp;lt;/tt&amp;gt; Funktion benutzen.&lt;br /&gt;
* Benutzen Sie den Patch unter http://bugs.kde.org/show_bug.cgi?id=143977. Es verhindert die Aktualisierung des Framestack-Widgets bei jedem Schritt und beschleunigt damit die Schrittweise Ausführung erheblich. Der Patch führt zu einigen kleineren Ungereimtheiten weshalb er bisher noch nicht commited wurde.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
KDevelop unterstützt bisher keine Änderungen am CMake build System. Das bedeutet, das Sie KDevelop nicht dazu benutzen können, Dateien zum Projekt hinzuzufügen oder zu entfernen oder irgend einen anderen Aspekt des Buildprozesses Ihres Projekts zu modifizieren.&lt;br /&gt;
&lt;br /&gt;
Sie müssen stattdessen die CMake Dateien per Hand anpassen und dann erneut &amp;lt;tt&amp;gt;cmakekde&amp;lt;/tt&amp;gt; ausführen.  Lesen Sie das [[Development/Tutorials/CMake|CMake Tutorial]] um zu lernen wie man das macht.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{tip|Wenn Sie an Bibliotheken arbeiten, müssen Sie diese zuerst installieren bevor Sie Ihre Änderungen an diesen testen oder debuggen können.&lt;br /&gt;
Da this lästig und zeitverschlingend ist, sollten Sie für alle betreffenden Bibliotheken Symlinks erstellen ''(ln -s)'', die aus dem Build-Verzeichnis auf das Installations-Verzeichnis verweisen. &lt;br /&gt;
&lt;br /&gt;
Oft benutzen selbst einfache Programme interne Bibliotheken, zum Beispiel ist der Einstellungsdialog von Konsole in Wirklichkeit eine Bibliothek,}}&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]]&lt;/div&gt;</summary>
		<author><name>Sschloenvoigt</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Set_up_KDE_4_for_development_(de)</id>
		<title>Getting Started/Set up KDE 4 for development (de)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Set_up_KDE_4_for_development_(de)"/>
				<updated>2008-01-14T13:08:03Z</updated>
		
		<summary type="html">&lt;p&gt;Sschloenvoigt: Übersetzung ins Deutsche&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Getting_Started/Set_up_KDE_4_for_development}}&lt;br /&gt;
{{TutorialBrowser|&lt;br /&gt;
&lt;br /&gt;
series=Getting Started|&lt;br /&gt;
&lt;br /&gt;
name=Set up KDE 4 for development|&lt;br /&gt;
&lt;br /&gt;
pre=[[Getting_Started/Build/KDE4|Build KDE 4]]|&lt;br /&gt;
&lt;br /&gt;
next=[[Development|Other development topics]]|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{note|Diese Seite setzt voraus, dass Sie bereits kdelibs, kdepimlibs und kdebase anhander der Anleitung unter [[Getting Started/Build/KDE4]] erstellt haben}}&lt;br /&gt;
&lt;br /&gt;
== KDE 4 Anwendungen &amp;amp; Sitzungen starten ==&lt;br /&gt;
&lt;br /&gt;
Um mit der Entwicklung für KDE 4 zu beginnen, gibt es folgende drei Möglichkeiten:&lt;br /&gt;
* Sie können [[Getting_Started/Set_up_KDE_4_for_development_(de)#KDE_4_Anwendungen_starten|KDE 4 Anwendungen neben anderen Anwendungen]] in Ihrer aktuellen Desktop Umgebung ausführehn.&lt;br /&gt;
* Sie können in Ihre aktuelle Desktop Umgebung  [[Getting_Started/Set_up_KDE_4_for_development_(de)#Eingebettete_KDE_4_Sitzung|eine KDE 4 Sitzung einbetten]].&lt;br /&gt;
* Sie können [[Getting_Started/Set_up_KDE_4_for_development_(de)#Eigenständige_KDE_4_Sitzung|KDE 4 als eigene Sitzung]] ausführen.&lt;br /&gt;
&lt;br /&gt;
Alle drei Optionen werden nachfolgend beschrieben.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
Wenn Sie beim ausführen von KDE 4 Anwendungen Fehler wie den folgenden erhalten:&lt;br /&gt;
  Qt: Session management error: Could not open network socket&lt;br /&gt;
  QMutex::lock: Deadlock detected in thread -1241241936&lt;br /&gt;
Oder wenn Sie startkde ausführen und es hängenbleibt, lesen Sie [http://www.nabble.com/QMutex::lock:-Deadlock-detected---running-KDE4-apps-%22using-the-normal-shell%22-t3584446.html this article] für einen möglichen Ausweg.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== KDE 4 Anwendungen starten ===&lt;br /&gt;
==== Auf der normalen Shell mit sux ====&lt;br /&gt;
&lt;br /&gt;
Für diese Methode wird das Tool '''sux''' (http://fgouget.free.fr/sux/sux-readme.shtml) benötigt. '''sux''' ist in den meisten Distributionen bereits enthalten. Anderenfalls können Sie auf die unten beschriebene Methode ''Normale Shell ohne sux'' zurückgreifen. '''sux''' erlaubt Ihnen, zu einem anderen Nutzer zu wechseln und konfiguriert dabei automatisch das X Forwarding (Authentifizierung und Export der DISPLAY Variable).&lt;br /&gt;
&lt;br /&gt;
Um sich anzumelden, geben Sie  &amp;lt;code bash&amp;gt;sux - kde-devel&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Alle Umgebungsvariablen und alles sonstige sollten korrekt von Ihrer {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}&lt;br /&gt;
gesetzt werden. Um eine Applikation zu starten, geben Sie einfach ihren Namen ein; zum Beispiel: &amp;lt;code bash&amp;gt;kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
{{Note|&lt;br /&gt;
Wenn Sie Fehlermeldungen über fehlende MIME-Typen oder ähnliches erhalten, versuchen Sie folgendes:&lt;br /&gt;
* führen Sie &amp;lt;code bash&amp;gt;unset XDG_DATA_DIRS ; kbuildsycoca4&amp;lt;/code&amp;gt; aus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Normal Shell ohne sux ====&lt;br /&gt;
Die einfachste Methode um KDE 4 Anwendungen zu starten, ist es &amp;lt;tt&amp;gt;su&amp;lt;/tt&amp;gt; zur Anmeldung als &amp;lt;tt&amp;gt;kde-devel&amp;lt;/tt&amp;gt; Benutzer zu benutzen und dann einfach die gewünschten KDE 4 Anwendung von der Shell aufzurufen. Um sich anzumelden, geben Sie &amp;lt;code bash&amp;gt;su - kde-devel&amp;lt;/code&amp;gt; &lt;br /&gt;
ein und nachdem Sie Ihr Passwort eingegeben haben führen Sie&lt;br /&gt;
&amp;lt;code bash&amp;gt;export DISPLAY=:0&amp;lt;/code&amp;gt; aus.&lt;br /&gt;
{{Note|Das Exportieren der &amp;lt;tt&amp;gt;DISPLAY&amp;lt;/tt&amp;gt; Variable ist nötig, damit die KDE 4 Anwendungen auf Ihrem normalen KDE 3 Desktop erscheinen.}}&lt;br /&gt;
Alle Umgebungsvariablen und alles sonstige sollte bereits von Ihrer {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}} korrekt gesetzt worden sein. Um eine Anwendung zu starten, geben sie einfach ihren namen ein; zum Beispiel: &amp;lt;code bash&amp;gt;kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
{{Note|&lt;br /&gt;
Wenn Sie Fehlermeldungen über fehlende MIME-Typen oder ähnliches erhalten, versuchen Sie folgendes:&lt;br /&gt;
* führen Sie &amp;lt;code bash&amp;gt;unset XDG_DATA_DIRS ; kbuildsycoca4&amp;lt;/code&amp;gt; aus&lt;br /&gt;
}}&lt;br /&gt;
{{Note|&lt;br /&gt;
Wenn Sie eine Fehlermeldung erhalten, dass Sie sich nicht mit einem X-Server verbinden können, versuchen Sie &lt;br /&gt;
&amp;lt;code bash&amp;gt;sudo xhost +local:kde-devel&amp;lt;/code&amp;gt;&lt;br /&gt;
unter Ihrem normalen KDE 3 Account auszuführen um sicher zu gehen das die Anwendung sich mit der gerade laufenden X-Sitzung verbinden kann.&lt;br /&gt;
&lt;br /&gt;
Obwohl Ihr X-Server ankommende TCP Verbindungen akzeptieren sollte, ist dies oft von Distributionsseite her deaktiviert (so etwa unter Kubuntu Feisty). Wenn Sie &amp;lt;tt&amp;gt;kdm&amp;lt;/tt&amp;gt; benutzen, müssen Sie die Datei &amp;lt;tt&amp;gt;/etc/kde3/kdm/kdmrc&amp;lt;/tt&amp;gt; als root bearbeiten und überprüfen, das sie nicht folgendes enthält:&lt;br /&gt;
&amp;lt;code&amp;gt;ServerArgsLocal=-nolisten tcp&amp;lt;/code&amp;gt;&lt;br /&gt;
Wenn Sie dies geändert haben, müssen Sie den X-Server neu starten.&lt;br /&gt;
Der &amp;lt;tt&amp;gt;xhost&amp;lt;/tt&amp;gt; Befehl sollte nun nicht mehr die Meldung &amp;quot;unable to open display&amp;quot; ausgeben.&lt;br /&gt;
&lt;br /&gt;
Aus Bequemlichkeit sollte dies automatisch beim Anmelden ihres normalen Benutzers geschehen. Um dies zu erreichen, erstellen Sie eine neue Datei unter  &amp;lt;tt&amp;gt;$HOME/.kde/Autostart&amp;lt;/tt&amp;gt; Ihres normalen Benutzers mit dem folgenden Inhalt:&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
xhost +local:kde-devel&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Stellen Sie sicher, das die neue Datei ausführbar ist, indem Sie  &amp;lt;tt&amp;gt;chmod +x&amp;lt;/tt&amp;gt; für die Datei ausführen.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie mehr über die '''Sicherheitsrisiken''' in Bezug auf &amp;lt;tt&amp;gt;xhost&amp;lt;/tt&amp;gt; erfahren möchten, lesen Sie [http://bau2.uibk.ac.at/matic/xsecur.htm diesen Artikel]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Benutzung von SSH ====&lt;br /&gt;
&lt;br /&gt;
Der einfachste Weg um eine KDE 4 Anwendung über SSH auf Ihrem aktuellen Desktop auszuführen, ist es auf folgendem Weg eine Shell mit X-Forwarding zu bekommen:&lt;br /&gt;
&amp;lt;code bash&amp;gt;ssh -X kde-devel@localhost&amp;lt;/code&amp;gt;&lt;br /&gt;
Jetzt können Sie KDE Anwendungen wie gewöhnlich ausführen, zum Beispiel:&lt;br /&gt;
&amp;lt;code bash&amp;gt;kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
Diese zwei Zeilen können auf einfache Weise kombiniert werden:&lt;br /&gt;
&amp;lt;code bash&amp;gt;ssh -X kde-devel@localhost kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
Falls Sie Fehlermeldungen erhalten, probieren Sie die Tips aus dem vorhergehenden Abschnitt aus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== Anmeldung ohne Passwort =====&lt;br /&gt;
Bevor Sie vorherige Methode sinnvoll benutzen können, müssen Sie eine Anmeldung ohne Passwort einrichten. Dafür führen Sie folgenden Befehl unter Ihrem normalen Benutzeraccount aus:&lt;br /&gt;
&amp;lt;code bash&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
Drücken Sie drei mal RETURN um den Pfad {{path|~/.ssh/id_rsa}} zu akzeptieren und ein leeres Passwort zu vergeben. Anschliessen kopieren Sie die einzelne Zeile aus {{path|~/.ssh/id_rsa.pub}} die Ihnen die Ausgabe von&lt;br /&gt;
&amp;lt;code bash&amp;gt;cat ~/.ssh/id_rsa.pub&amp;lt;/code&amp;gt; liefert, in die Zwischenablage.&lt;br /&gt;
Wechseln Sie nun mit &amp;lt;tt&amp;gt;ssh&amp;lt;/tt&amp;gt; zurück zum &amp;lt;tt&amp;gt;kde-devel&amp;lt;/tt&amp;gt; Benutzer öffnen Sie die Datei {{path|$HOME/.ssh/authorized_keys}} auf folgende Weise:&lt;br /&gt;
 ssh -X kde-devel@localhost $HOME/kde/bin/kwrite \&lt;br /&gt;
  $HOME/.ssh/authorized_keys&lt;br /&gt;
Fügen Sie dort die zuvor kopierte Zeile ein, speichern Sie die Datei und beenden Sie KWrite. Versuchen Sie nun nochmal KWrite mit dem gleichen SSH-Befehl auszuführen; Sie sollten nun kein Passwort mehr benötigen:&lt;br /&gt;
&amp;lt;code bash&amp;gt;ssh -X kde-devel@localhost $HOME/kde/bin/kwrite&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning|Das Anmelden per SSH ohne Passwort birgt gewisse '''Sicherheitsrisiken'''. Vergewissern Sie sich deshalb, dass Ihre  &amp;lt;tt&amp;gt;~/.ssh/id_rsa&amp;lt;/tt&amp;gt; Datei geschützt ist, indem Sie den Zugriff auf sie mit &lt;br /&gt;
&amp;lt;code bash&amp;gt;chmod og-xrw ~/.ssh/id_rsa&amp;lt;/code&amp;gt; einschränken (Die Datei sollte diese Rechte eigentlich bereits bei der Erstellung erhalten haben)}}&lt;br /&gt;
&lt;br /&gt;
===== Die SSH desktop Datei =====&lt;br /&gt;
Wenn Sie Anwendungen einfacher benutzen wollen, als Sie per SSH-Befehl von der Shell zu starten, besteht ein Weg darin, &amp;lt;tt&amp;gt;.desktop&amp;lt;/tt&amp;gt; Dateien zu erstellen die automatisch per &amp;lt;tt&amp;gt;ssh&amp;lt;/tt&amp;gt; zum anderen Benutzer wechseln. &lt;br /&gt;
{{Note|Dies ist nur dann nützlich, wenn Ihre Desktop-Umgebung .desktop Dateien unterstützt. Immerhin KDE und GNOME tuen dies.}}&lt;br /&gt;
&lt;br /&gt;
Sie können eine existierenden .desktop Datei als Vorlage verwenden (Etwa eine von Ihrem Desktop) oder eine neue erstellen. Die Idee dahinter ist, dem auszuführenden Kommando die SSH-Verbindung auf folgende Weise voranzustellen:&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
ssh -X kde-devel@localhost $HOME/kde/bin/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine einfache .desktop Datei die KWrite ausführt würde folgenden Inhalt haben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code ini&amp;gt;&lt;br /&gt;
[Desktop Entry]&lt;br /&gt;
Categories=Qt;KDE;TextEditor;&lt;br /&gt;
Comment=&lt;br /&gt;
DocPath=kwrite/index.html&lt;br /&gt;
Encoding=UTF-8&lt;br /&gt;
Exec=ssh -X kde-devel@localhost /home/kde-devel/kde/bin/kwrite %U&lt;br /&gt;
GenericName=Text Editor&lt;br /&gt;
Icon=kwrite&lt;br /&gt;
InitialPreference=8&lt;br /&gt;
MimeType=text/plain&lt;br /&gt;
Name=KWrite (kde-devel)&lt;br /&gt;
Path=&lt;br /&gt;
StartupNotify=false&lt;br /&gt;
Terminal=false&lt;br /&gt;
TerminalOptions=&lt;br /&gt;
Type=Application&lt;br /&gt;
X-DBUS-StartupType=Multi&lt;br /&gt;
X-DCOP-ServiceType=non&lt;br /&gt;
X-KDE-StartupNotify=true&lt;br /&gt;
X-KDE-SubstituteUID=false&lt;br /&gt;
X-KDE-Username=&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|Anwendung, die wie hier über SSH gestartet werden, lösen nicht die korrekten Startereignisse aus, so dass Sie besser die &amp;quot;Startrückmeldung&amp;quot; für Ihre .desktop Dateien deaktivieren sollten.}}&lt;br /&gt;
&lt;br /&gt;
{{note|Um auf diese Weise eine .desktop-Datei für KDE 4 Anwendungen zu erstellen, muss das Paket der Anwendung mit &amp;lt;tt&amp;gt;cmakekde&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;~/kde/bin&amp;lt;/tt&amp;gt; installiert worden sein.}}&lt;br /&gt;
&lt;br /&gt;
=== Starten von KDE 4 Sitzungen ===&lt;br /&gt;
==== Eingebettete KDE 4 Sitzung ====&lt;br /&gt;
    {|align=&amp;quot;right&amp;quot; &lt;br /&gt;
    |[[image:Snapshot1.png|right|thumb|200px|Nested]]&lt;br /&gt;
    |}&lt;br /&gt;
Anstatt für die Software-Entwicklung einen vollständigen virtuellen X-Server zu benutzen, können Sie Xephyr zur Einbettung Ihrer KDE 4 Sitzung in Ihr KDE 3 oder  eine andere X11-Umgebung verwenden.&lt;br /&gt;
&lt;br /&gt;
Sie können dies auch mit xnest erreichen aber da xnest nicht mit Erweiterungen wie Render umgehen kann, bevorzugen viele Leute Xephyr.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie eine minimale KDE Sitzung verwenden wollen, führen Sie einfach Xephyr aus: (in Kubuntu als xserver-xephyr verfügbar; Gentoo Benutzer kompilieren x11-base/xorg-server mit USE=&amp;quot;kdrive&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
 Xephyr :1&amp;amp;&lt;br /&gt;
&lt;br /&gt;
Sie können KDE nun ausführen:&lt;br /&gt;
&lt;br /&gt;
 export DISPLAY=:1&lt;br /&gt;
 /path/to/kde4/bin/startkde-modified &amp;amp;&lt;br /&gt;
&lt;br /&gt;
startkde-modified ist eine Kopie des startkde-Skripts welches die folgenden Zeilen am Anfang enthält:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
export KDEDIR=`kde4-config --prefix`&lt;br /&gt;
export LD_LIBRARY_PATH=$KDEDIR/lib&lt;br /&gt;
export PATH=$KDEDIR/bin/:$PATH&lt;br /&gt;
export KDEHOME=~/.kde4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie können Xephyr auch mit KDM über das Xdmcp Protokoll benutzen und einfach eine neue KDE 4 Sitzung zu KDM hinzufügen.&lt;br /&gt;
 &lt;br /&gt;
Unter Kubuntu können Sie das erreichen indem Sie&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code ini&amp;gt;&lt;br /&gt;
[Xdmcp]&lt;br /&gt;
# Whether KDM should listen to incoming XDMCP requests.&lt;br /&gt;
# Default is true&lt;br /&gt;
Enable=false&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in {{path|/etc/kde3/kdm/kdmrc}} zu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code ini&amp;gt;&lt;br /&gt;
[Xdmcp]&lt;br /&gt;
# Whether KDM should listen to incoming XDMCP requests.&lt;br /&gt;
# Default is true&lt;br /&gt;
Enable=true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verändern und Ihre {{path|/etc/kde3/kdm/Xaccess}} anpassen um ihrem lokalen System Zugriff zu gewähren. Zusätzlich sollten Sie eine Blockierende Regel für alle Ihre externen Schnittstellen für den Xdmcp Port einrichten falls Sie dies auf einem Laptop oder einem PC in einer unsicheren Umgebung verwenden.&lt;br /&gt;
 &lt;br /&gt;
Wenn Sie soweit sind, führen Sie einfach Xephyr aus:&lt;br /&gt;
 &lt;br /&gt;
 Xephyr -query localhost :1 -host-cursor -screen 1024x768&amp;amp;&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;tt&amp;gt;-host-cursor&amp;lt;/tt&amp;gt; versucht den Cursor des Hosts zu benutzen und &amp;lt;tt&amp;gt;-screen&amp;lt;/tt&amp;gt; die Auflösung des Bildschirms festlegt.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Wenn Sie viele Fehlermeldungen bezüglich abgewiesener Verbindungen erhalten, sollten Sie die Option -ac an Xephyr übergeben:&lt;br /&gt;
&lt;br /&gt;
 Xephyr -ac :1&amp;amp;&lt;br /&gt;
&lt;br /&gt;
Eine andere Möglichkeit die Sie versuchen können, wenn Sie diese Meldungen erhalten, ist es dem kde-devel Benutzer Zugriff auf den X-Server zu geben. Als root oder mit sudo führen Sie dazu folgenden Befehl aus:&lt;br /&gt;
&lt;br /&gt;
 xhost +local:kde-devel&lt;br /&gt;
&lt;br /&gt;
Falls Ihnen Xephyr nicht zur Verfügung steht, können Sie auch Xnest benutzen:&lt;br /&gt;
&lt;br /&gt;
 Xnest -ac :1&amp;amp; export DISPLAY=:1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
{{improve}}&lt;br /&gt;
[[User:Sping|Sping]] 00:25, 9 April 2007 (CEST)&amp;lt;BR&amp;gt;&lt;br /&gt;
I use this for my start script ''nested_kde4.sh'':&lt;br /&gt;
&lt;br /&gt;
 #! /bin/bash&lt;br /&gt;
 NESTED_KDE_DISPLAY_BACKUP=$DISPLAY&lt;br /&gt;
 export DISPLAY=:0&lt;br /&gt;
 Xephyr :1 -screen 1024x768 &amp;amp;&lt;br /&gt;
 export DISPLAY=:1&lt;br /&gt;
 $HOME/kde/bin/startkde-modified &amp;amp;&lt;br /&gt;
 export DISPLAY=${NESTED_KDE_DISPLAY_BACKUP}&lt;br /&gt;
&lt;br /&gt;
Falls Sie folgende Fehlermeldung erhalten:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Call to lnusertemp failed (temporary directories full?).&lt;br /&gt;
  Check your installation.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
versuchen Sie folgendes:&lt;br /&gt;
&lt;br /&gt;
 mkdir /var/tmp/kde-devel-kde4&lt;br /&gt;
&lt;br /&gt;
Der obige Code setzt voraus das sie als Benutzer ''kde-devel'' arbeiten.&lt;br /&gt;
{{Note|In den meisten Fällen müssen Sie ''startkde-modified'' mit ''startkde'' ersetzen}}&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
==== Eigenständige KDE 4 Sitzung ====&lt;br /&gt;
    {|align=&amp;quot;right&amp;quot; &lt;br /&gt;
    |[[image:solitary.png|right|thumb|200px|Solitary]]&lt;br /&gt;
    |}&lt;br /&gt;
Um eine eigenständige KDE 4 Sitzung auszuführen, können Sie sie entweder, wie gewöhnlich, auf folgende Weise von der Kommandozeile starten:&lt;br /&gt;
&lt;br /&gt;
 X :1 &amp;amp; export DISPLAY=:1&lt;br /&gt;
 startkde&lt;br /&gt;
&lt;br /&gt;
{{Note|Wenn der X-Server die Verbindung verweigert und dabei folgendes ausgibt: &amp;lt;tt&amp;gt;Xlib: connection to &amp;quot;:1.0&amp;quot; refused by server&amp;lt;/tt&amp;gt;, versuchen Sie &amp;lt;tt&amp;gt;X -ac :1&amp;lt;/tt&amp;gt; stattdessen.}}&lt;br /&gt;
&lt;br /&gt;
oder Sie können KDE 4 zu Ihrem Login Manager hinzufügen. Wenn Sie KDM (oder einen kompatiblen Login Manager) benutzen, wird dies durch Erstellen einer .desktop Datei in entweder {{path|`kde-config --prefix`/share/apps/kdm/sessions/}} oder in {{path|/usr/share/xsessions/}} erreicht. Der einfachste Weg führt dabei über das kopieren einer existierenden {{path|kde.desktop}}-Datei nach {{path|kde4.desktop}}. Öffnen Sie diese neue .desktop-Datei in einem Texteditor und ändern Sie die Einträge zu  &amp;lt;tt&amp;gt;Exec&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;TryExec&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;Name&amp;lt;/tt&amp;gt; auf folgende Weise:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code ini&amp;gt;&lt;br /&gt;
Exec=$HOME/kde/bin/startkde&lt;br /&gt;
TryExec=$HOME/kde/bin/startkde&lt;br /&gt;
Name=KDE4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ersetzen Sie {{path|$HOME/kde}} in obigem Beispiel mit dem Pfad unter dem Sie KDE 4 installiert haben.&lt;br /&gt;
&lt;br /&gt;
Nach dem Neustart des Login Managers (&amp;lt;tt&amp;gt;Alt+e&amp;lt;/tt&amp;gt; in KDM) sollte dieser neue Eintrag im Sitzungs-Menu erscheinen.&lt;br /&gt;
&lt;br /&gt;
{{Note|Sie sollten den Pfad zum 'qdbus' Programm (normalerweise ist dies $QTDIR/bin) in Ihrer $PATH Variable haben um sich erfolgreich anzumelden. Falls es dort nicht ist, werden Sie eine Fehlermeldung &amp;quot;Could not start DBus. Check your installation.&amp;quot; erhalten.}}&lt;br /&gt;
&lt;br /&gt;
== Entwicklungs Aufgaben ==&lt;br /&gt;
=== KDevelop ===&lt;br /&gt;
&lt;br /&gt;
Dieser Abschnitt wird Ihnen erklären, wie sie KDevelop 3.4 benutzen um KDE 4 Anwendungen zu entwickeln. Wenn sie Fragen, Korrekturen oder Bedenken zu diesem Abschnitt haben, notieren Sie diese bitte auf der Diskussions-Seite.&lt;br /&gt;
&lt;br /&gt;
==== Voraussetzungen ====&lt;br /&gt;
&lt;br /&gt;
Sie benötigen hierfür mindestens KDevelop 3.4, das immernoch eine KDE 3 Anwendung ist. Versionen vor 3.4 haben unter anderem keine Qt 4 Unterstützung. Die KDE 4 Version von KDevelop ist für den produktiven Einsatz noch nicht geeignet. Sie erhalten KDevelop auf der [http://www.kdevelop.org/index.html?filename=3.4/download.html KDevelop Homepage]. Installieren Sie KDevelop wie alle anderen KDE 3 Anwendungen unter Ihrem normalen Benutzer und '''nicht''' mit Ihrem ''kde-devel'' Benutzer. &lt;br /&gt;
&lt;br /&gt;
Sie benötigen ausserdem die neueste ''GDB'' Version. Die aktuelle ist 6.6.0.&lt;br /&gt;
&lt;br /&gt;
Weiterhin müssen Sie die kdelibs API Dokumentation lokal vorliegend haben, was unter [[Getting_Started/Build/KDE4#Generating_local_API_documentation|Anleitung zum Erstellen]] beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
Ausserdem benötigen Sie noch ''ctags'', ''htdig'', ''htmerge'' und ''htsearch''. ''valgrind'' und ''callgrind'' könnten auch nützlich sein.&lt;br /&gt;
&lt;br /&gt;
Stellen Sie sicher, das sie den Schritten unter KDE 4 [[Getting_Started/Build/KDE4|Anleitung zum Erstellen]] befolgt und eine funktionierende KDE 4 Umgebung erstellt haben. Prüfen Sie, ob sich einfache KDE 4 Anwendungen wie ''Konsole'' oder ''KWrite'' von der Kommandozeile des kde-devel Benutzers ohne Probleme starten lassen.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Schritte werden alle mit dem '''kde-devel''' Benutzer ausgeführt. Sie müssen sich mit &amp;lt;code bash&amp;gt;su - kde-devel&amp;lt;/code&amp;gt; unter diesem Benutzer anmelden.&lt;br /&gt;
&lt;br /&gt;
==== Die Umgebung aufsetzen ====&lt;br /&gt;
&lt;br /&gt;
KDevelop hat keine native Unterstützung für CMake Projekte. Glücklicherweise hat CMake die Fähigkeit selbst KDevelop Projekt Dateien zu erstellen. Um dies zu erreichen, müssen Sie CMake den Parameter ''-GKDevelop3'' übergeben. Dies bewegt CMake dazu, Projektdateien für KDevelop neben den normalen Makefiles zu erstellen. Der beste Weg dazu ist es, die '''cmakekde ''' Funktion in Ihrer [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]] anzupassen. Ändern Sie einfach&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
cmake $srcFolder -DCMAKE_INSTALL_PREFIX=$KDEDIR \&lt;br /&gt;
-DCMAKE_BUILD_TYPE=debugfull&amp;amp;&amp;amp; \&lt;br /&gt;
make &amp;amp;&amp;amp; \&lt;br /&gt;
make install;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
cmake $srcFolder -GKDevelop3 -DCMAKE_INSTALL_PREFIX=$KDEDIR \&lt;br /&gt;
-DCMAKE_BUILD_TYPE=debugfull&amp;amp;&amp;amp; \&lt;br /&gt;
make &amp;amp;&amp;amp; \&lt;br /&gt;
make install;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nachdem Sie das getan haben, melden Sie sich erneut an, damit sich die Veränderungen an der {{path|.bashrc}} Datei auswirken. Dann müssen Sie ''cmakekde'' erneut im (Wurzel) build Verzeichnis des Projekts an dem Sie mit KDevelop arbeiten wollen (wenn sie vorher nicht ''-GKDevelop3'' im  [[Getting_Started/Build/KDE4#Setting_up_the_environment|Erstellungsschritt]] ausgeführt haben). Wenn Sie zum Beispiel an Konsole, welches in ''kdebase'' liegt, arbeiten möchten, müssen Sie cmakekde im {{path|$KDE_BUILD/KDE/kdebase}} Verzeichnis ausführen. Dies erstellt unglücklicherweise alles erneut, aber nur einmal wenn Sie den Generator ändern.&lt;br /&gt;
&lt;br /&gt;
Da alle Umgebungsvariablen des kde-devel Benutzers KDE 4 spezifisch sind, müssen diese zurückgesetzt werden, um der KDE 3 Umgebung zu entsprechen bevor KDevelop gestartet wird. Am einfachsten wird dies erreicht, indem Sie folgende Funktion zu Ihrer {{path|.bashrc}} hinzufügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
function start3app {&lt;br /&gt;
  mkdir -p /tmp/$USER-kde&lt;br /&gt;
  export PATH=/opt/kde3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games &lt;br /&gt;
  export LD_LIBRARY_PATH= &lt;br /&gt;
  export KDETMP=/tmp/$USER-kde &lt;br /&gt;
  export KDEVARTMP=/var/tmp/$USER-kde &lt;br /&gt;
  export KDEHOME=$HOME/.kde &lt;br /&gt;
  export KDEDIR=/usr &lt;br /&gt;
  export KDEDIRS=$KDEDIR &lt;br /&gt;
  export DISPLAY=:0 &lt;br /&gt;
  eval &amp;quot;$@&amp;quot;&lt;br /&gt;
  source $HOME/.bashrc   #Reset environment variables again&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ''PATH'' und ''LD_LIBRARY_PATH'' Variable werden vom KDE 3 Benutzer übernommen, und sie könnten auf Ihrem System abweichen, Geben Sie &amp;lt;code bash&amp;gt;echo $PATH&amp;lt;/code&amp;gt; und &amp;lt;code bash&amp;gt;echo $LD_LIBRARY_PATH&amp;lt;/code&amp;gt; als normaler KDE 3 Benutzer ein, um diese Werte zu erhalten. Die obigen Funktion nimmt an, das KDE 3 im {{path|/usr}} Verzeichnis installiert ist, wie es unter Debian-Systemen der Fall ist. Falls Ihr KDE 3 in einem anderen Verzeichnis installiert ist, müssen Sie die Zeile die ''KDEDIR'' setzt entsprechend anpassen. Hier ist ein Beispiel, wie sie herausfinden unter welchem Verzeichnis KDE installiert ist; in diesem Beispiel ist es /opt/kde3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
kde-config --prefix&lt;br /&gt;
/opt/kde3&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt sollten Sie KDevelop starten können, indem Sie &amp;lt;tt&amp;gt;start3app kdevelop&amp;lt;/tt&amp;gt; eingeben. Machen sie dies jetzt.&lt;br /&gt;
&lt;br /&gt;
{{tip|&lt;br /&gt;
Sie können jede KDE 3 Anwendung mit der &amp;lt;tt&amp;gt;start3app&amp;lt;/tt&amp;gt; Funktion starten. Nützlich ist das zum Beispiele für ''Kompare'' und ''kdesvn''.&lt;br /&gt;
&lt;br /&gt;
Sie können jedoch auf diesem Weg nicht ''KDbg'' starten umd KDE 4 Anwendungen zu debuggen, da sonst die die Umgebungsvariablen für die debuggte Anwendung falsch sind.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{tip|&lt;br /&gt;
Anstatt KDevelop mit ''start3app'' als ''kde-devel'' zu starten, können Sie auch den KDE-Ausführen-Dialog ''(Alt+F2)'' dafür benutzen:&lt;br /&gt;
&lt;br /&gt;
[[Image:Minicli.png]]&lt;br /&gt;
&lt;br /&gt;
Dies startet KDevelop als ''kde-devel'' Benutzer aber verwendet die Umgebungsvariablen des normalen Benutzers, so wie es das ''start3app'' Skript tut.&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TroubleShooting =====&lt;br /&gt;
&lt;br /&gt;
'''Symptom:''' kdevelop meldet &amp;quot;cannot talk to klauncher&amp;quot;. Sie können keine Datei öffnen.&lt;br /&gt;
&lt;br /&gt;
'''Lösung:''' fügen Sie Ihren KDE Bibliotheks-Pfad zum LD_LIBRARY_PATH hinzu, e.g.:&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/kde3/lib&lt;br /&gt;
&lt;br /&gt;
==== Einrichten von KDevelop ====&lt;br /&gt;
&lt;br /&gt;
Jetzt, da KDevelop gestartet ist, müssen Sie einige Einstellung vornehmen.&lt;br /&gt;
Gehen Sie dafür nach ''Einstellungen-&amp;gt;KDevelop einrichten...-&amp;gt;Dokumentation''. Entfernen Sie alle Einträge die für KDE 4 nicht relevant sind.&lt;br /&gt;
&lt;br /&gt;
{{note| Obwohl Umgebungsvariablen wie $HOME in diesem Abschnitt verwendet werden, sollten Sie diese mit echten Pfaden ersetzen, da KDevelop keine Umgebungsvariablen auflöst.}&lt;br /&gt;
&lt;br /&gt;
Optional können Sie die kdelibs API Dokumentation hinzufügen. Sie müssen sie [[Getting_Started/Build/KDE4#Generating_local_API_documentation|zuvor erstellen]]. Dann fügen sie die Dokumentation durch Klick auf ''Hinzufügen...'' hinzu. In diesem Dialog verwenden Sie folgende Einstellungen:&lt;br /&gt;
* ''Typ'': Doxygen Documentation Collection (muss zuerst eingestellt werden)&lt;br /&gt;
* ''Ort'': {{path|$KDE_SRC/KDE/kdelibs/kdelibs-apidocs/index.html}}&lt;br /&gt;
&lt;br /&gt;
Fügen Sie nun die Qt API Dokumentation hinzu, indem Sie folgende Einstellungen verwenden:&lt;br /&gt;
* ''Typ'': Qt Documentation Collection (muss zuerst eingestellt werden)&lt;br /&gt;
* ''Ort'': {{path|$HOME/qt-copy/doc/html/qt.dcf}}&lt;br /&gt;
&lt;br /&gt;
Nachdem Sie die Dokumentation für kdelibs und die Qt API hinzugefügt haben, stellen sie sicher das alle Checkboxen (''TOC'',''Index'' und ''Suche'') aktiviert sind. Dann gehen Sie auf den Tab ''Volltextsuche'' und stellen sicherm das die Pfade zu den Programmen ''htdig'', ''htmerge'' und ''htsearch'' korrekt sind. Sie können den Einstellungs-Dialog nun schliessen.&lt;br /&gt;
&lt;br /&gt;
Jetzt ist es an der Zeit das Projekt an dem Sie arbeiten möchten zu öffen indem sie auf ''Projekt-&amp;gt;Projekt öffnen'' klicken. Die Projektdateien befinden sich im build-Verzeichnis. Für Konsole müssen Sie zum Beispiel die Datei {{path|$KDE_BUILD/KDE/kdebase/apps/konsole/konsole.kdevelop}} öffnen. Sie müssen nun einige Projektspezifische Einstellungen unter ''Projekt-&amp;gt;Projekt Optionen'' vornehmen. Sie müssen das für jedes Projekt machen, an dem Sie arbeiten möchten.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
Manchmal ist keine KDevelop Projektdatei für das Verzeichnis in dem Sie arbeiten möchten verfügbar.&lt;br /&gt;
&lt;br /&gt;
Dies kann verschieden Gründe haben, es hängt davon ab wie die CMake-Dateien geschrieben wurden. Für gewöhnlich sollten CMake-Dateien, die eine &amp;lt;tt&amp;gt;project(projectname)&amp;lt;/tt&amp;gt; Anweisung enthalten gut funktionieren. Wenn Sie mit CMake vertraut genug sind, können Sie versuchen, diese Anweisung hinzuzufügen.&lt;br /&gt;
&lt;br /&gt;
Ein Workaround dafür ist es, einfach die KDevelop Projektdatei eines darüberliegenden Ordners zu verwenden. In diesem Fall müssen Sie den &amp;lt;tt&amp;gt;Make Active Directory&amp;lt;/tt&amp;gt; Eintrag im Kontextmenu des &amp;lt;tt&amp;gt;File Selectors&amp;lt;/tt&amp;gt; in der Sidebar benutzen. Damit können Sie die anderen, unerwünschten Verzeichnisse beim erstellen und installieren ignorieren.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* ''C++ Unterstützung-&amp;gt;Codevervollständigung''&lt;br /&gt;
:Hier müssen Sie die Vervollständigungs-Datenbanken für Qt und kdelibs hinzufügen und natürlich noch mehr wenn Sie mögen. Zum Beispiel könnten Sie eine Datenbank für ''kdepimlibs'' benötigen wenn sie an ''kdepim'' arbeiten.&lt;br /&gt;
&lt;br /&gt;
:Für kdelibs klicken Sie den ''Hinzufügen...'' Button und wählen ''KDevelop Custom Directory PCS Importer'', dann fügen Sie Ihr KDE include Verzeichnis ({{path|$HOME/kde/include}}) zur Liste hinzu und fahren fort. Sie können den Dateiauswahldialog und den ''Hinzufügen...'' Button benutzen um es hinzuzufügen. &lt;br /&gt;
&lt;br /&gt;
:Jetzt fügen Sie die Datenbank für Qt 4 hinzu indem Sie ''KDevelop Qt4 PCS Importer'' auswählen. Sie müssen das Qt 4 include-Verzeichnis welches Sie unter {{path|$HOME/qt-copy/include}} finden hinzufügen.&lt;br /&gt;
&lt;br /&gt;
{{note|Der Qt4 PCS Importer wird nur benötigt wenn Qt4 nicht installiert wurde, sie es also zum Beispiel direkt aus dem build-Verzeichnis heraus nutzen. Der Nachteil ber der Benutzung des Qt4 Importers ist das er während des Imports keinen Fortschritt anzeigt und die Applikation zu hängen scheint. Die Alternative ist es den Custom Directory PCS Importer dafür zu benutzen}}&lt;br /&gt;
&lt;br /&gt;
* ''C++ Unterstützung-&amp;gt;Qt Optionen''&lt;br /&gt;
:Aktivieren Sie ''Qt Options aktivieren'' und wählen Sie Qt4 als Ihre Version. Setzen Sie den ''QMake Binary'' Pfad auf {{path|$HOME/qt-copy/bin/qmake}}. Dann wählen Sie ''Qt 4 style'' als ''Qt include syntax''. Benutzen Sie {{path|$HOME/qt-copy/bin/designer}} für ''Designer Binary''. Benutzen Sie den ''Pluginpfade ändern'' Dialog um das Plugin-Verzeichnis von KDE hinzufügen und so die KDE widgets im Designer zu sehen. Um das zu erreichen fügen Sie {{path|$HOME/kde/lib/kde4/plugins}} in das Textfeld ein und klicken den ''Hinzufügen''-Button.&lt;br /&gt;
&lt;br /&gt;
* ''Ausführungs Optionen''&lt;br /&gt;
:Stellen Sie sicher das für ''Executable'' der korrekte Wert eingestellt ist. Wenn Sie zum Beispiel Konsole ausführen wollen, geben Sie {{path|$KDE_BUILD/KDE/kdebase/apps/konsole/src/konsole}} an. Sie sollten  ''--nofork'' zu den ''Debug Parametern'' hinzufügen oder das Debuggen von einigen Anwendungen wie ''KMail'' wird fehlschlagen.&lt;br /&gt;
&lt;br /&gt;
:Da die ''start3app'' Funktion einige Umgebungsvariablen anpasst, müssen Sie diese hier zurücksetzen damit KDE 4 Anwendungen problemlos aus KDevelop heraus ausgeführt werden können.&lt;br /&gt;
:Für einige Anwendungen, wie Konsole, ist dies nicht unbedingt nötig aber andere wie KMail werden abstürzen wenn Sie die Variablen nicht anpassen.&lt;br /&gt;
:Klicken  Sie einfach auf den ''Hinzufügen / Kopieren'' Button um neue Umgebungsvariablen hinzuzufügen. Sie werden die folgenden brauchen, die die selben wie in Ihrer  [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]] sind:&lt;br /&gt;
&lt;br /&gt;
:{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| KDEHOME&lt;br /&gt;
| $HOME/.kde4&lt;br /&gt;
|-&lt;br /&gt;
| PATH&lt;br /&gt;
| $KDEDIR/bin:$QTDIR/bin:/usr/local/bin:$PATH&lt;br /&gt;
|-&lt;br /&gt;
| LD_LIBRARY_PATH&lt;br /&gt;
| $KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH&lt;br /&gt;
|-&lt;br /&gt;
| KDETMP&lt;br /&gt;
| /tmp/$USER-kde4&lt;br /&gt;
|-&lt;br /&gt;
| KDEVARTMP&lt;br /&gt;
| /var/tmp/$USER-kde4&lt;br /&gt;
|-&lt;br /&gt;
| KDEDIR&lt;br /&gt;
| $HOME/kde&lt;br /&gt;
|-&lt;br /&gt;
| KDEDIRS&lt;br /&gt;
| $KDEDIR&lt;br /&gt;
|-&lt;br /&gt;
| LD_BIND_NOW&lt;br /&gt;
| 42&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* ''Erstellungs Optionen-&amp;gt;Erstellung''&lt;br /&gt;
:Stellen Sie sicher das hier das korrekte build-Verzeichnis eingetragen ist. Für Konsole ist es wiederum dieses: {{path|$KDE_BUILD/KDE/kdebase/apps/konsole}}.&lt;br /&gt;
&lt;br /&gt;
* ''Erstellungs Optionen-&amp;gt;Make''&lt;br /&gt;
:Sie sollten ''Abruch bei erstem Fehler'' aktivieren. Ausserdem sollten Sie ''VERBOSE='' oder ''VERBOSE=1'' zu ''Weitere Make Optionen'' hinzufügen um Aussagekraft des Erstellungsprozesses zu steuern.&lt;br /&gt;
&lt;br /&gt;
:Wenn Sie mehr als einen Prozessor haben oder Sie Zugriff auf einen icecream cluster besitzen, sollten Sie die Option ''Mehrere Jobs ausführen'' aktivieren u nd die ''Anzahl der gleichzeitigen Prozesse'' auf die Anzahl der verfügbaren Prozessoren einstellen. Dies erhöht die Kompilierungsgeschwindigkeit. Es ist dsa gleiche wie die &amp;lt;tt&amp;gt;-j&amp;lt;/tt&amp;gt; Option für ''Make''.&lt;br /&gt;
&lt;br /&gt;
* ''Formatierung''&lt;br /&gt;
:Sie sollten alle Optionen hier so setzen, das sie zu dem Coding-Stil des Projekts an dem Sie arbeiten passen.&lt;br /&gt;
&lt;br /&gt;
* ''CTags-&amp;gt;Allgemein''&lt;br /&gt;
:Sie müssen den ''Pfad zur CTag Binary'' korrekt setzen, die sich in Debian unter {{path|/usr/bin/ctags}} befindet. &lt;br /&gt;
&lt;br /&gt;
:Am besten aktivieren Sie noch die Option &amp;lt;tt&amp;gt;Bei mehr als einem Treffer, direkt zum Ersten gehen&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Jetzt sind Sie damit fertig Ihre Projekt-spezifischen Einstellungen zu konfigurieren. Sie sollten nun unter ''Einstellungen-&amp;gt;Plugins konfigurieren...'' einige Plugins entfernen, die Sie nicht benötigen. Ich deaktiviere beispielsweise folgende Plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Abbreviation Expansion, Code Snippets, Doxygen Support, Embedded Konsole, File Tree, '''Final Packaging Support''', &amp;quot;Open with&amp;quot; Menu Addon, QuickOpen, Regular Expression Tester, Scripting, '''Security Checker''', Shell Filtering and Insertion, Text Structure and Tools Menu Addition.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie sollten zumindest die Fettgedruckten entfernen.&lt;br /&gt;
&lt;br /&gt;
Jetzt öffnen Sie, falls noch nicht geschehen, irgendeine Quelldatei. Dies aktiviert den Menueintrag ''Einstellungen-&amp;gt;Editor konfigurieren...'', wo Sie die Tabulatoroptionen so einstellen müssen wie Sie im Projekt an dem Sie arbeiten benutzt werden. Die wichtigsten Einstellungen sind:&lt;br /&gt;
* ''Erscheinungsbild-&amp;gt;Rahmen-&amp;gt;Zeilennummern anzeigen'': Sollte aktiviert sein.&lt;br /&gt;
* ''Erscheinungsbild-&amp;gt;Rahmen-&amp;gt;Symbolränder anzeigen'': Sollte aktiviert sein.&lt;br /&gt;
* ''Bearbeiten-&amp;gt;Tabulatoren'' &lt;br /&gt;
* ''Bearbeiten-&amp;gt;Statischer Zeilenumbruch-&amp;gt;Markierung anzeigen'': Sollte aktiviert sein&lt;br /&gt;
* ''Einrückung-&amp;gt;Automatische Einrückung-&amp;gt;Einrückungs-Modus'': Sollte ''C Style'' sein&lt;br /&gt;
* ''Einrückung'' insgesamt&lt;br /&gt;
&lt;br /&gt;
Im Hauptfenster klicken Sie auf den Tab ''CTags'' in der unteren Tableiset, dann klicken Sie auf ''Neu erstellen'' um eine CTags-Datenbank zur einfacheren Navigation im Quellcode zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Jetzt haben Sie alle wesentlichen Einstellunge vorgenommen, Gratulation!&lt;br /&gt;
&lt;br /&gt;
==== KDevelop benutzen ====&lt;br /&gt;
&lt;br /&gt;
Wenden Sie sich an das [http://docs.kde.org/development/en/kdevelop/kdevelop/ KDevelop Handbuch (englisch)] um generell Hilfe zu Ihrer Arbeit mit KDevelop zu erhalten. Der folgende Abschnitt wird nur Spezialfälle im Bezug auf KDE 4 enthalten.&lt;br /&gt;
&lt;br /&gt;
===== Debugging =====&lt;br /&gt;
&lt;br /&gt;
KDE Anwendungen haben viele Symbole, was bedeutet, dass sie viel Speicher benötigen um eine angemessene Ladezeit beim Debuggen zu erreichen. Um einen GDB Entwickler zu zitieren: &amp;quot;&lt;br /&gt;
KDE apps have many symbols, which means that you need a lot of memory to get a decent loading times for debugging. To quote a GDB developer: &amp;quot;Ich würde mich weigern KDE auf etwas mit unter 1 GB RAM zu debuggen.&amp;quot;&lt;br /&gt;
Wenn die Schrittfunktion des Debuggers zu langsam für Sie ist, versuchen Sie folgende Tips:&lt;br /&gt;
* Lokale Variablen verstecken. Der &amp;lt;tt&amp;gt;Lokal&amp;lt;/tt&amp;gt; Teil im linken Variablen Tab   verursacht einen erheblichen Geschwindigkeitsrückgang bei der Schrittweisen Ausführung wenn Sie viele lokale Variablen haben. Klappen sie einfach den &amp;lt;tt&amp;gt;Lokal&amp;lt;/tt&amp;gt; Teil des Baums zu, die lokalen Variablen werden nun nicht bei jedem Schritt aktualisiert. Sie können immernoch die Variablen untersuchen indem sie die &amp;lt;tt&amp;gt;Ausdruck evaluieren&amp;lt;/tt&amp;gt; Funktion benutzen.&lt;br /&gt;
* Benutzen Sie den Patch unter http://bugs.kde.org/show_bug.cgi?id=143977. Es verhindert die Aktualisierung des Framestack-Widgets bei jedem Schritt und beschleunigt damit die Schrittweise Ausführung erheblich. Der Patch führt zu einigen kleineren Ungereimtheiten weshalb er bisher noch nicht commited wurde.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
KDevelop unterstützt bisher keine Änderungen am CMake build System. Das bedeutet, das Sie KDevelop nicht dazu benutzen können, Dateien zum Projekt hinzuzufügen oder zu entfernen oder irgend einen anderen Aspekt des Buildprozesses Ihres Projekts zu modifizieren.&lt;br /&gt;
&lt;br /&gt;
Sie müssen stattdessen die CMake Dateien per Hand anpassen und dann erneut &amp;lt;tt&amp;gt;cmakekde&amp;lt;/tt&amp;gt; ausführen.  Lesen Sie das [[Development/Tutorials/CMake|CMake Tutorial]] um zu lernen wie man das macht.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{tip|Wenn Sie an Bibliotheken arbeiten, müssen Sie diese zuerst installieren bevor Sie Ihre Änderungen an diesen testen oder debuggen können.&lt;br /&gt;
Da this lästig und zeitverschlingend ist, sollten Sie für alle betreffenden Bibliotheken Symlinks erstellen ''(ln -s)'', die aus dem Build-Verzeichnis auf das Installations-Verzeichnis verweisen. &lt;br /&gt;
&lt;br /&gt;
Oft benutzen selbst einfache Programme interne Bibliotheken, zum Beispiel ist der Einstellungsdialog von Konsole in Wirklichkeit eine Bibliothek,}}&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]]&lt;/div&gt;</summary>
		<author><name>Sschloenvoigt</name></author>	</entry>

	</feed>