Gentoo Archives: gentoo-commits

From: "Xavier Neys (neysx)" <neysx@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/en/desktop/kde: kde-config.xml kde-split-ebuilds.xml
Date: Sat, 26 Apr 2008 19:21:10
Message-Id: E1JppxE-0003wK-Dc@stork.gentoo.org
1 neysx 08/04/26 19:21:00
2
3 Added: kde-config.xml kde-split-ebuilds.xml
4 Log:
5 #219345 Kra^H^HDE docs moved to its project space. Good riddance.
6
7 Revision Changes Path
8 1.1 xml/htdocs/proj/en/desktop/kde/kde-config.xml
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/desktop/kde/kde-config.xml?rev=1.1&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/desktop/kde/kde-config.xml?rev=1.1&content-type=text/plain
12
13 Index: kde-config.xml
14 ===================================================================
15 <?xml version='1.0' encoding='UTF-8'?>
16
17 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/desktop/kde/kde-config.xml,v 1.1 2008/04/26 19:20:59 neysx Exp $ -->
18
19 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
20
21 <guide>
22
23 <title>The KDE Configuration HOWTO</title>
24
25 <author title="Author">
26 <mail link="swift@g.o">Sven Vermeulen</mail>
27 </author>
28 <author title="Editor">
29 <mail link="greg_g@g.o">Gregorio Guidi</mail>
30 </author>
31
32 <abstract>
33 One of the most used desktop environments is KDE. This guide tries to describe
34 all aspects of KDE, including installation, configuration and usage.
35 </abstract>
36
37 <!-- The content of this document is licensed under the CC-BY-SA license -->
38 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
39 <license/>
40
41 <version>1.22</version>
42 <date>2007-06-23</date>
43
44 <chapter>
45 <title>What is the K Desktop Environment?</title>
46 <section>
47 <title>The Project</title>
48 <body>
49
50 <p>
51 The <uri link="http://www.kde.org">KDE Project</uri> is a free software project
52 dedicated to the development of KDE, an open source graphical desktop
53 environment for Linux and Unix workstations. The development is carried out by
54 several hundred software engineers from all over the world committed to free
55 software development. See also <uri
56 link="http://www.kde.org/whatiskde/project.php">What is the KDE Project</uri>.
57 </p>
58
59 </body>
60 </section>
61 <section>
62 <title>The Software</title>
63 <body>
64
65 <p>
66 The K Desktop Environment is an easy-to-use desktop environment built around a
67 well thought out application framework to allow for application
68 interoperability, drag n drop and so on. Apart from the essential components,
69 the KDE environment also provides ready-to-use applications for 101 tasks: file
70 management, Internet browsing, office applications, e-mail handling, ...
71 Everything is covered by the KDE project.
72 </p>
73
74 <p>
75 The KDE environment is available in more than 70 languages and has an immense
76 user base. For those interested, there are lots of <uri
77 link="http://www.kde.org/screenshots/">screen shots</uri> available. For more
78 information on KDE, read the <uri link="http://www.kde.org/whatiskde/">What is
79 KDE?</uri> article on <uri link="http://www.kde.org">KDE.org</uri>.
80 </p>
81
82 </body>
83 </section>
84 <section>
85 <title>The Community</title>
86 <body>
87
88 <p>
89 Many KDE-based community sites exist. On <uri
90 link="http://www.kdenews.org">KDEnews.org</uri> you'll find the latest news on
91 KDE generally. <uri link="http://www.kdedevelopers.org">KDEdevelopers.org</uri>
92 is specifically focussed on KDE development, while <uri
93 link="http://www.kde-forum.org">KDE-forum</uri> is better suited for the large
94 masses. More links can be found on the <uri
95 link="http://www.kde.org/family/">KDE Family page</uri>.
96 </p>
97
98 </body>
99 </section>
100 </chapter>
101 <chapter>
102 <title>Installing KDE</title>
103 <section>
104 <title>What do you need?</title>
105 <body>
106
107 <p>
108 If you're interested in installing KDE (or KDE support), you will have to make
109 sure that your USE variable contains the <c>kde</c> flag, and either the
110 <c>qt3</c> or <c>qt4</c> flag (or both). Qt is the graphical widget library that
111 KDE uses, and <c>qt3</c> is for version 3.x, while <c>qt4</c> will build support
112 for the newer Qt 4.x library. Neither USE flag is necessary for installing KDE.
113 However, there are a few packages that offer you the choice of using either the
114 <c>qt3</c> or <c>qt4</c> libraries.
115 </p>
116
117 <p>
118 You should also add <c>hal</c> to your USE variable now if you want to add support
119 for mounting devices automatically as explained below in
120 <uri link="#kde_device_mounting">Setup KDE to Mount Devices</uri>.
121 </p>
122
123 <p>
124 If you do not want to use <uri link="http://www.arts-project.org/">aRts</uri>
125 for your all-around multimedia, disable the <c>arts</c> USE flag (it is active
126 by default).
127 </p>
128
129 <note>
130 The Gentoo 2006.1 release introduced a number of new profiles, including the
131 <c>desktop</c> subprofile. You may want to switch to this subprofile, if it
132 exists for your architecture, as it contains a number of default USE flag
133 changes. Please read the <uri link="/doc/en/gentoo-upgrading.xml">Gentoo
134 Upgrading Guide</uri> to learn how to switch profiles.
135 </note>
136
137 </body>
138 </section>
139 <section>
140 <title>Installing KDE as Split Packages</title>
141 <body>
142
143 <note>
144 We recommend that you use the split packages to install KDE (rather than the
145 monolithic packages, though both methods will be presented), as shown below.
146 </note>
147
148 <p>
149 If you want to have more control on what parts of KDE you install, you have the
150 possibility to install just the single KDE applications that you need. To know
151 more about the ebuilds for the individual KDE programs see the <uri
152 link="/doc/en/kde-split-ebuilds.xml">Split Ebuilds HOWTO</uri>.
153 </p>
154
155 <p>
156 Knowing what to install and what not is a tad more difficult with split ebuilds.
157 However, Gentoo does provide a few meta packages that will pull in a certain
158 amount of KDE packages for you:
159 </p>
160
161 <ul>
162 <li>
163 If you want a full-blown KDE installation, install <c>kde-meta</c>.
164 This package will pull in all KDE applications as dependencies.
165 </li>
166 <li>
167 If you want a basic KDE installation, install <c>kdebase-startkde</c>. You
168 can always install additional KDE applications when you want.
169 </li>
170 <li>
171 If you want something in between <c>kde-meta</c> and
172 <c>kdebase-startkde</c>, install <c>kdebase-meta</c>. This will install a
173 few extra applications such as <c>konsole</c> and <c>kdm</c>.
174 </li>
175 </ul>
176
177 <p>
178 These three possibilities are the extreme limits; you are probably interested in
179 a safe mixture of the two :) To make your decision process somewhat easier, the
180 following table gives a short, very incomplete yet useful overview of some of
181 the available KDE packages.
182 </p>
183
184 <p>
185 These packages are <e>not</e> part of the <c>kdebase-startkde</c> installation.
186 </p>
187
188 <table>
189 <tr>
190 <th>Ebuild name</th>
191 <th>Description</th>
192 </tr>
193 <tr>
194 <ti><c>akregator</c></ti>
195 <ti>
196 The application to easily manage and browse internet RSS feeds.
197 </ti>
198 </tr>
199 <tr>
200 <ti><c>juk</c></ti>
201 <ti>
202 The playlist oriented media player, with a look and feel resembling Apple's
203 iTunes.
204 </ti>
205 </tr>
206 <tr>
207 <ti><c>kate</c></ti>
208 <ti>
209 The <uri link="http://kate.kde.org/">KDE Advanced Text Editor</uri>, a
210 multi-document editor with syntax highlighting, code folding and more.
211 </ti>
212 </tr>
213 <tr>
214 <ti><c>kmail</c></ti>
215 <ti>
216 Organize your e-mails efficiently with <uri
217 link="http://kmail.kde.org/">KMail</uri>.
218 </ti>
219 </tr>
220 <tr>
221 <ti><c>knetattach</c></ti>
222 <ti>
223 With KNetAttach (also known as the <e>Network Folder Wizard</e>), you can
224 easily add additional network folders to your KDE desktop.
225 </ti>
226 </tr>
227 <tr>
228 <ti><c>knode</c></ti>
229 <ti>
230 KNode is the powerful KDE newsreader.
231 </ti>
232 </tr>
233 <tr>
234 <ti><c>konsole</c></ti>
235 <ti>
236 <uri link="http://konsole.kde.org/">Konsole</uri> is the KDE terminal
237 emulator.
238 </ti>
239 </tr>
240 <tr>
241 <ti><c>kontact</c></ti>
242 <ti>
243 <uri link="http://kontact.kde.org/">Kontact</uri> is the KDE Personal
244 Information Manager, helping you manage your communications more easily,
245 organize your work faster and work together more closely.
246 </ti>
247 </tr>
248 <tr>
249 <ti><c>kopete</c></ti>
250 <ti>
251 <uri link="http://kopete.kde.org/index.php">Kopete</uri> is KDE's Instant
252 Messenger supporting all known IM protocols.
253 </ti>
254 </tr>
255 <tr>
256 <ti><c>korganizer</c></ti>
257 <ti>
258 <uri link="http://korganizer.kde.org/">Korganizer</uri> is the calendar and
259 scheduling application for KDE.
260 </ti>
261 </tr>
262 <tr>
263 <ti><c>kpdf</c></ti>
264 <ti>
265 With <uri link="http://kpdf.kde.org/">KPDF</uri> you can view and work with
266 PDF files. It has very unique features which enhance your viewing pleasure
267 enormously.
268 </ti>
269 </tr>
270 <tr>
271 <ti><c>kscd</c></ti>
272 <ti>
273 kscd is a graphical CD player for KDE.
274 </ti>
275 </tr>
276 <tr>
277 <ti><c>ksnapshot</c></ti>
278 <ti>
279 With ksnapshot you can take screen shots from your desktop.
280 </ti>
281 </tr>
282 <tr>
283 <ti><c>kuickshow</c></ti>
284 <ti>
285 The KDE kuickshow application is able to browse amongst and display
286 various image formats.
287 </ti>
288 </tr>
289 </table>
290
291 <p>
292 And this is just the tip of the iceberg. If you want to know more about all
293 possible KDE applications, take a look inside the <uri
294 link="http://packages.gentoo.org/category/kde-base?full_cat">kde-base
295 category</uri>. Their function should be available in the description.
296 </p>
297
298 <p>
299 To preview what emerge would install, use <c>emerge -p</c> together with the
300 <c>less</c> pager, otherwise you might not be able to see all packages.
301 </p>
302
303 <pre caption="Previewing the kde installation">
304 <comment>(Substitute with your choice of package(s))</comment>
305 # <i>emerge -p kdebase-startkde | less</i>
306 </pre>
307
308 <p>
309 If you are happy with the proposed result, leave the <c>-p</c> out. This
310 building process will take some time as KDE is a big environment. Don't be
311 surprised when your system does not finish immediately.
312 </p>
313
314 </body>
315 </section>
316 <section>
317 <title>Installing KDE as Monolithic Packages</title>
318 <body>
319
320 <p>
321 Although the split ebuilds are the recommended way to install KDE, you do have
322 the option of installing the monolithic ebuilds.
323 </p>
324
325 <p>
326 The KDE project releases new versions of its desktop environment as a set of
327 about 16 big packages, each containing many applications (thus they are called
328 "monolithic"), so you need to decide which of these packages you want to
329 install.
330 </p>
331
332 <p>
333 If you want to see what it looks like to have all these packages installed,
334 just check yourself:
335 </p>
336
337 <pre caption="Listing all packages KDE would install">
338 # <i>emerge --pretend kde | less</i>
339 </pre>
340
341 <p>
342 If you're not interested in installing all those packages, you can emerge them
343 individually. You will most definitely want the <c>kdebase</c> package as it
344 contains KDE's base packages and required dependencies. The following table
345 lists some of the other available packages that you can install.
346 </p>
347
348 <table>
349 <tr>
350 <th>Package</th>
351 <th>Description</th>
352 </tr>
353 <tr>
354 <ti>kdeaccessibility</ti>
355 <ti>
356 Accessibility related programs, managed by the <uri
357 link="http://accessibility.kde.org">KDE Accessibility Project</uri>
358 </ti>
359 </tr>
360 <tr>
361 <ti>kdeadmin</ti>
362 <ti>
363 KDE Administrative tools, such as <c>KCron</c> (Task Scheduling),
364 <c>KUser</c> (User Management) and <c>KDat</c> (Backup Management).
365 </ti>
366 </tr>
367 <tr>
368 <ti>kdeartwork</ti>
369 <ti>
370 Various art-related stuff, including screen savers and themes. See also <uri
371 link="http://www.kde-artists.org/">www.kde-artists.org</uri> for more KDE related
372 artwork.
373 </ti>
374 </tr>
375 <tr>
376 <ti>kdeedu</ti>
377 <ti>
378 Educational KDE applications focused on school children aged 3 to 18. See
379 also the <uri link="http://edu.kde.org">KDE Edu Project</uri>.
380 </ti>
381 </tr>
382 <tr>
383 <ti>kdegames</ti>
384 <ti>
385 Various KDE-developed games. More information can be found at the <uri
386 link="http://games.kde.org">KDE Games Center</uri>.
387 </ti>
388 </tr>
389 <tr>
390 <ti>kdegraphics</ti>
391 <ti>
392 Graphic-related tools for KDE, including <c>KSnapshot</c> (Screenshot
393 Software), <c>KolourPaint</c> (Simple Graphical Editor), <c>Kpdf</c>
394 (PDF viewer), <c>KIconEdit</c> (Icon Editor) and <c>KPovModeler</c>
395 (a 3D Modeler).
396 </ti>
397 </tr>
398 <tr>
399 <ti>kdemultimedia</ti>
400 <ti>
401 Multimedia-related applications, including support for CD, MP3, DVD,
402 sequencing, sound and video applications. More information can be found on
403 the <uri link="http://multimedia.kde.org">KDE Multimedia Project</uri>
404 web site.
405 </ti>
406 </tr>
407 <tr>
408 <ti>kdenetwork</ti>
409 <ti>
410 Network-related applications such as <c>Kopete</c> (Multi-Protocol Instant
411 Messaging), <c>kppp</c> (Dial-In) and <c>KSirc</c> (IRC client). Note that
412 <c>konqueror</c> (File Manager <e>and</e> Browser) is part of <c>kdebase</c>!
413 </ti>
414 </tr>
415 <tr>
416 <ti>kdepim</ti>
417 <ti>
418 Personal Information Management tools, such as <c>KOrganizer</c> (Journal),
419 <c>KAddressbook</c> (Address book), <c>Kontact</c> (Groupware) and
420 <c>KMail</c> (E-mail). More information online at the <uri
421 link="http://pim.kde.org">KDE PIM Project</uri> web site.
422 </ti>
423 </tr>
424 <tr>
425 <ti>kdesdk</ti>
426 <ti>
427 Code development tools, including <c>KBabel</c> (Translation tool),
428 <c>KBugBuster</c> (Front end for KDE bug tracking) and <c>Kompare</c> (GUI
429 to see differences between files).
430 </ti>
431 </tr>
432 <tr>
433 <ti>kdetoys</ti>
434 <ti>
435 Various toys to amuse yourself with when you're waiting for your pizza
436 delivery. You'll find applets such as <c>eyesapplet</c> and
437 <c>fifteenapplet</c>, but also nifty tools like <c>amor</c> which doesn't do
438 much except eat resources :)
439 </ti>
440 </tr>
441 <tr>
442 <ti>kdeutils</ti>
443 <ti>
444 Graphical system tools such as <c>kcalc</c> (Calculator), <c>kdessh</c> (SSH
445 terminal), <c>kfloppy</c> (Floppy-related actions), etc.
446 </ti>
447 </tr>
448 <tr>
449 <ti>kde-i18n</ti>
450 <ti>
451 Internationalization files for KDE. This includes translated
452 documentation. See also the <uri link="http://i18n.kde.org">KDE i18n
453 project</uri> for more information.
454 </ti>
455 </tr>
456 </table>
457
458 <p>
459 For instance, to install KDE with only the network- and admin-related
460 applications:
461 </p>
462
463 <pre caption="Example installation of individual KDE components">
464 # <i>emerge kdebase kdenetwork kdeadmin</i>
465 </pre>
466
467 <p>
468 In case you wonder: compiling KDE does take a while.
469 </p>
470
471 </body>
472 </section>
473 <section>
474 <title>External KDE applications</title>
475 <body>
476
477 <p>
478 The number of KDE applications is not limited to those shipped with the
479 official KDE releases, but includes hundreds of other applications that use the
480 KDE framework and libraries. Here we list just a few of the most popular ones.
481 </p>
482
483 <table>
484 <tr>
485 <th>Ebuild name</th>
486 <th>Description</th>
487 </tr>
488 <tr>
489 <ti><c>koffice</c></ti>
490 <ti>
491 <uri link="http://www.koffice.org/">KOffice</uri> is the comprehensive KDE
492 office suite, featuring applications for word processing (KWord),
493 spreadsheet calculations (KSpread), presentation (KPresenter), image
494 manipulation (Krita), database management (Kexi) and much more.
495 Just as KDE can be installed through the <c>kde</c> or <c>kde-meta</c>
496 ebuilds, you can install KOffice as a single package (<c>koffice</c>) or as
497 a set of individual packages (<c>koffice-meta</c>).
498 </ti>
499 </tr>
500 <tr>
501 <ti><c>amarok</c></ti>
502 <ti>
503 With <uri link="http://amarok.kde.org/">amaroK</uri> you have a powerful
504 music player for Unix/Linux.
505 </ti>
506 </tr>
507 <tr>
508 <ti><c>k3b</c></ti>
509 <ti>
510 <uri link="http://www.k3b.org/">K3B</uri> is a complete CD/DVD burning
511 utility with Audio support. Burning CDs was never this easy.
512 </ti>
513 </tr>
514 <tr>
515 <ti><c>kaffeine</c></ti>
516 <ti>
517 <uri link="http://kaffeine.sourceforge.net/">Kaffeine</uri> is a full
518 featured multimedia-player for KDE.
519 </ti>
520 </tr>
521 </table>
522
523 </body>
524 </section>
525 <section>
526 <title>First Impressions</title>
527 <body>
528
529 <p>
530 Let us have a look at the result. Your mother has probably told you
531 never to work as root. So we'll take your mother's advice and test
532 KDE as a user. Log in as your user and configure your session so it starts KDE
533 when you issue <c>startx</c>. You can do this by writing <c>exec startkde</c> in
534 <path>~/.xinitrc</path> (see also
535 <uri link="/doc/en/xorg-config.xml#using_startx">Using startx</uri> in the
536 <uri link="/doc/en/xorg-config.xml">X Server Configuration Howto</uri>):
537 </p>
538
539 <pre caption="Configuring your local session">
540 $ <i>echo "exec startkde" &gt; ~/.xinitrc</i>
541 </pre>
542
543 <p>
544 Now start up your graphical environment by running <c>startx</c>.
545 </p>
546
547 <pre caption="Starting KDE">
548 $ <i>startx</i>
549 </pre>
550
551 <p>
552 You will be greeted by an application called <c>KPersonalizer</c>.
553 Congratulations, let's now take a look at how we can configure KDE...
554 </p>
555
556 </body>
557 </section>
558 </chapter>
559 <chapter>
560 <title>Configuring KDE</title>
561 <section>
562 <title>KPersonalizer</title>
563 <body>
564
565 <p>
566 KPersonalizer is the application that configures KDE for you. It's a very
567 useful wizard that allows you to quickly change KDE to suit your own needs. When
568 you run KDE for the first time, KPersonalizer is automatically started.
569 </p>
570
571 <p>
572 The first input KPersonalizer requests is your country and the language of your
573 choice. As we haven't installed the necessary language packs on your system yet,
574 the available languages will be very slim -- you'll probably have only English
575 to choose from. Don't mind this, we will change the language later on (if
576 applicable of course).
577 </p>
578
579 <p>
580 The second choice you're offered is the <e>System Behavior</e>. This includes
581 window activation, mouse selection, etc. When you select a certain behavior
582 its description is shown to help you choose the behavior you like. If you're
583 uncertain, don't panic -- you are able to change the behavior whenever you
584 want.
585 </p>
586
587 <p>
588 Next, KPersonalizer asks for the amount of eye-candy it should activate. The
589 more eye-candy you want, the funkier your KDE will be, but the more your CPU
590 will be stressed. However, this should be taken with a bit of salt - on a 600
591 Mhz CPU with 128 Mb of memory, enabling full eye-candy still results in a
592 responsive system.
593 </p>
594
595 <p>
596 Finally, KDE asks what style you want to use. A style defines the window
597 decoration, theme, button layout, etc. Try several styles to see which one you
598 like the most. Did we already mention KDE is fully configurable?
599 </p>
600
601 <p>
602 Now sit back and enjoy -- KDE will start up and you'll be greeted by a nice,
603 clean, functional desktop environment.
604 </p>
605
606 </body>
607 </section>
608 <section>
609 <title>Installing Language Packs</title>
610 <body>
611
612 <p>
613 If English isn't your native language or you're just interested in working with
614 KDE in a foreign language, please read on. We will install the language pack(s)
615 for the language(s) you want to use with KDE.
616 </p>
617
618 <p>
619 Language packs are contained in the <c>kde-i18n</c> package. To install the
620 language packs of your choice, you need to set the <c>LINGUAS</c> variable to
621 the language(s) you want to use. It is advisable to set this variable in
622 <path>/etc/make.conf</path> so that updating your system doesn't remove the
623 language packs you want.
624 </p>
625
626 <pre caption="Setting LINGUAS in /etc/make.conf">
627 # <i>nano -w /etc/make.conf</i>
628 <comment>(As an example, we install the language packs for Dutch (nl)
629 and French (fr))</comment>
630 LINGUAS="nl fr"
631 </pre>
632
633 <p>
634 Now run <c>emerge kde-i18n</c> to install the language packs. Once settled, fire
635 up KDE, then start the KDE Control Center (K-menu &gt; Control Center). This is
636 <e>the</e> application where you can control almost every aspect of KDE. It is
637 much more extended than KPersonalizer.
638 </p>
639
640 <p>
641 To change your language, go to <c>Regional &amp; Accessibility</c>,
642 <c>Country/Region &amp; Languages</c>. Then add the language(s) of your choice.
643 To see your (localized) KDE in its full glory, log out and in again, and enjoy.
644 </p>
645
646 </body>
647 </section>
648 <section>
649 <title>Graphical Login</title>
650 <body>
651
652 <p>
653 If you want to use <c>kdm</c> as graphical login manager (which means you don't
654 have to login to a terminal and type <c>startx</c> every time) you need to
655 first emerge it, and then edit a configuration file and set up your system so
656 that it enters graphical mode after boot, as explained below.
657 </p>
658
659 <note>
660 It's possible that you already have <c>kdm</c> installed for various reasons.
661 If you get an error with packages blocking <c>kde-base/kdm</c>, proceed with
662 the next section.
663 </note>
664
665 <pre caption="Installing kdm">
666 # <i>emerge --ask kdm</i>
667 </pre>
668
669 <p>
670 In <path>/etc/conf.d/xdm</path>, set the <c>DISPLAYMANAGER</c> variable to
671 <c>kdm</c>.
672 </p>
673
674 <pre caption="Setting DISPLAYMANAGER in /etc/conf.d/xdm">
675 # <i>nano -w /etc/conf.d/xdm</i>
676 <comment>(Edit the following variable)</comment>
677 DISPLAYMANAGER="kdm"
678 </pre>
679
680 <p>
681 Finish up by adding <c>xdm</c> to the default runlevel:
682 </p>
683
684 <pre caption="Adding xdm to the default runlevel">
685 # <i>rc-update add xdm default</i>
686 </pre>
687
688 <p>
689 When you reboot your system, it will use KDM as the graphical login manager.
690 </p>
691
692 <p>
693 KDM will provide a list of available sessions to choose from, including KDE -
694 of course - and including all the other sessions installed on your system,
695 which KDM finds by looking in <path>/usr/share/xsessions/</path>. Thus, if you
696 use KDM, you don't need to edit <path>~/.xinitrc</path>.
697 </p>
698
699 </body>
700 </section>
701 <section id="kde_device_mounting">
702 <title>Setup KDE to Mount Devices</title>
703 <body>
704
705 <!-- TODO add pmount package when pmount is in arch.
706 Also, add pmount to the default runlevel -->
707
708 <p>
709 KDE gives you the power to mount devices such as CDROMs or USB sticks through a
710 single click in a graphical interface. To accomplish this goal you need to have
711 KDE compiled with <c>hal</c> in your USE variable and to have <c>dbus</c> and
712 <c>hal</c> installed on your system. You should also add <c>dbus</c> and
713 <c>hal</c> to the default runlevel and add yourself to the <c>plugdev</c>
714 group.
715 </p>
716
717 <pre caption="Setup device mounting">
718 # <i>emerge --ask dbus hal</i>
719 # <i>rc-update add dbus default</i>
720 # <i>rc-update add hald default</i>
721 <comment>Add &lt;user&gt; to the plugdev group</comment>
722 # <i>gpasswd -a &lt;user&gt; plugdev</i>
723 </pre>
724
725 </body>
726 </section>
727 </chapter>
728 <chapter>
729 <title>Managing KDE Installations</title>
730 <section>
731 <title>Multiple Installations</title>
732 <body>
733
734 <p>
735 One peculiarity of the way KDE is managed in Gentoo is that when a new series
736 of KDE appears (such as the 3.5.x series, which supersedes the 3.4.x series)
737 it will be installed alongside the old one and will not overwrite it. So if
738 for instance you had KDE 3.4 already installed and you emerge KDE 3.5,
739 you will have two versions, one installed in <path>/usr/kde/3.4/</path> and
740 the other in <path>/usr/kde/3.5/</path>.
741 </p>
742
743 <p>
744 It should be noted that your settings for different KDE installations will be
745 kept separate in the home directory. KDE 3.4 reads its settings from the
746 directory <path>/home/&lt;user&gt;/.kde3.4</path>, and the first time you run
747 KDE 3.5 a directory named <path>/home/&lt;user&gt;/.kde3.5</path> will be
748 created by migrating the settings in the 3.4 directory and will be then used to
749 store preferences and data.
750 </p>
751
752 <p>
753 Another important remark to keep in mind when upgrading your KDE installation
754 is that you could have problems with the external KDE applications you have
755 installed (such as <c>koffice</c>, <c>amarok</c> or <c>k3b</c>) until you
756 recompile them against the new KDE version. So as soon as you start using the
757 new KDE you should reemerge them to make them link against the new libraries.
758 </p>
759
760 </body>
761 </section>
762 <section>
763 <title>Unmerging Old Versions</title>
764 <body>
765
766 <p>
767 Having multiple versions of KDE installed poses the problem of how to remove
768 the old ones when we decide that they are not needed anymore. Unfortunately
769 portage does not support unmerging a package with all its dependencies with a
770 single command, so if for instance you run <c>emerge --unmerge kde</c> you will
771 not remove the actual kde packages.
772 </p>
773
774 <p>
775 To remove a KDE installation (e.g. KDE 3.4), the single packages have to be
776 removed.
777 </p>
778
779 <pre caption="Removing KDE 3.4 packages">
780 # <i>emerge --unmerge =arts-3.4* =kdelibs-3.4* =kdebase-3.4* ...</i>
781 </pre>
782
783 <p>
784 Obviously this is very frustrating if you have many KDE packages installed.
785 However this operation can be automated in many ways. The following one is
786 an example.
787 </p>
788
789 <p>
790 First we list all the packages that we want to remove. We use the <c>equery</c>
791 command for this, part of the <c>app-portage/gentoolkit</c> package:
792 </p>
793
794 <pre caption="Listing packages to remove">
795 <comment>(List all the installed KDE packages)</comment>
796 # <i>equery list kde-base/</i>
797 <comment>(List all the installed KDE packages and select the ones from KDE 3.4)</comment>
798 # <i>equery list kde-base/ | grep 3\.4</i>
799 </pre>
800
801 <p>
802 At this point you should double-check that the list corresponds to the packages
803 that should be removed from the system. If you think it is ok, you can go on
804 and pass the list to the <c>emerge --unmerge</c> command.
805 </p>
806
807 <pre caption="Removing selected packages">
808 # <i>equery list kde-base/ | grep 3\.4 | xargs emerge --unmerge --pretend</i>
809 </pre>
810
811 <p>
812 Check again the output and reissue the command without <c>--pretend</c> to
813 start the unmerging process.
814 </p>
815
816 <p>
817 After the job has completed, the directory <path>/usr/kde/3.4/</path> should
818 contain only a few files (mainly configuration files, portage has a policy to
819 never touch configurations). If you desire, you can safely wipe out
820 <path>/usr/kde/3.4/</path> with its content to remove what remains of KDE 3.4.
821 </p>
822
823 </body>
824 </section>
825 </chapter>
826 <chapter>
827 <title>Frequently Asked Questions</title>
828 <section>
829 <title>KDE is extremely slow during startup</title>
830 <body>
831
832 <p>
833 Make sure your <path>/etc/hosts</path> file is correct:
834 </p>
835
836 <ul>
837 <li>
838 If you have a static IP address, make sure your FQDN and hostname are
839 mentioned on that line, like <c>192.168.0.10 tux.mydomain tux</c>
840 </li>
841 <li>
842 If you have a dynamic IP address or you do not have any additional
843 interfaces at all, add your hostname after the localhost statement, like
844 <c>127.0.0.1 localhost tux</c>
845 </li>
846 </ul>
847
848 <p>
849 Check if you have DMA enabled for your disks:
850 </p>
851
852 <pre caption="Verifying DMA settings">
853 # <i>hdparm /dev/hda</i>
854 <comment>(...)</comment>
855 using_dma = 1 (on)
856 <comment>(...)</comment>
857 </pre>
858
859 </body>
860 </section>
861 </chapter>
862
863 </guide>
864
865
866
867 1.1 xml/htdocs/proj/en/desktop/kde/kde-split-ebuilds.xml
868
869 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/desktop/kde/kde-split-ebuilds.xml?rev=1.1&view=markup
870 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/desktop/kde/kde-split-ebuilds.xml?rev=1.1&content-type=text/plain
871
872 Index: kde-split-ebuilds.xml
873 ===================================================================
874 <?xml version='1.0' encoding='UTF-8'?>
875
876 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/desktop/kde/kde-split-ebuilds.xml,v 1.1 2008/04/26 19:20:59 neysx Exp $ -->
877
878 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
879
880 <guide>
881
882 <title>The KDE Split Ebuilds HOWTO</title>
883
884 <author title="Author">
885 <mail link="danarmak@g.o">Dan Armak</mail>
886 </author>
887 <author title="Editor">
888 <mail link="greg_g@g.o">Gregorio Guidi</mail>
889 </author>
890
891 <abstract>
892 With KDE 3.4, the 'split ebuilds' were introduced into Portage. This page
893 documents the reasons behind the transition, the new features it brings and the
894 way to upgrade from the old-style 'monolithic' ebuilds.
895 </abstract>
896
897 <!-- The content of this document is licensed under the CC-BY-SA license -->
898 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
899 <license/>
900
901 <version>1.11</version>
902 <date>2008-01-16</date>
903
904 <chapter>
905 <title>The Split KDE Ebuilds</title>
906 <section>
907 <title>What they are</title>
908 <body>
909
910 <p>
911 Until January 2005, the only KDE ebuilds in Portage were 'monolithic' ones.
912 That is to say, there were only 15 ebuilds (<c>kdebase</c>, <c>kdenetwork</c>,
913 ...), and each one installed many applications that did not, in fact, depend on
914 one another. This was clearly a suboptimal situation, and not very Gentoo-ish,
915 but it was tolerated for a long time.
916 </p>
917
918 <p>
919 The new 'split' ebuilds (for <c>konqueror</c>, <c>kmail</c>, ...) rectified the
920 situation by providing separate ebuilds for all the separate KDE applications.
921 This gave us a grand total of about 330 new ebuilds in the kde-base category.
922 </p>
923
924 <p>
925 We still provide monolithic ebuilds for 3.5 and they are cleanly interoperable
926 with the split ones. However, the split ebuilds are the new default, and there
927 will be no monolithic ebuilds after KDE 4.0.
928 </p>
929
930 <p>
931 Finally, it should be mentioned that there are split ebuilds for Koffice as
932 well. These provide <c>kword</c>, <c>kugar</c>, etc. as separate packages.
933 </p>
934
935 </body>
936 </section>
937 <section>
938 <title>How to install the split ebuilds</title>
939 <body>
940
941 <p>
942 The latest stable KDE release, as of this writing, is 3.5.7. The latest
943 unstable (~arch) is 3.5.8. Split and monolithic ebuilds for both releases are
944 present in Portage. The 4.0.0 release is about to enter the tree in hardmasked
945 state.
946 </p>
947
948 <ul>
949 <li>
950 To emerge a particular package, such as kmail, simply <c>emerge
951 kmail</c>.
952 </li>
953 <li>
954 To emerge the basic KDE environment allowing you to login into a
955 minimalistic KDE session, <c>emerge kdebase-startkde</c>.
956 </li>
957 <li>
958 Finally, for the exact equivalent of one of the monolithic packages - for
959 instance, to get all the applications included in <c>kdebase</c> using
960 split ebuilds - you can <c>emerge kdebase-meta</c> (or <c>kdepim-meta</c>,
961 etc.) To get absolutely all KDE split ebuilds, <c>emerge kde-meta</c>.
962 </li>
963 </ul>
964
965 </body>
966 </section>
967 <section>
968 <title>How to upgrade from the monolithic to the split ebuilds</title>
969 <body>
970
971 <p>
972 If you have KDE 3.3.x installed, you can simply <c>emerge kde-meta</c> to
973 install the 3.5.x split ebuilds without disturbing your existing installation.
974 </p>
975
976 <p>
977 If you have the KDE 3.4.x or 3.5.x monolithic ebuilds installed, you must
978 unmerge them before emerging the split ebuilds. However, this process can be
979 done for each monolithic ebuild in turn; you don't have to unmerge all of KDE
980 at once.
981 </p>
982
983 <p>
984 If you're in doubt, remember there are blocking dependencies in place between
985 each monolithic ebuild and the split ebuilds derived from it. Portage won't
986 allow an illegal state to be created, so any emerge or unmerge it allows is
987 OK.
988 </p>
989
990 </body>
991 </section>
992 <section>
993 <title>Advantages of the split ebuilds</title>
994 <body>
995
996 <p>
997 Here's a brief list of what we gain from switching to the split ebuilds:
998 </p>
999
1000 <ul>
1001 <li>
1002 Most KDE packages aren't changed at all between minor KDE releases. For
1003 example, the update from 3.3.1 to 3.3.2 changed fewer than 100 packages out
1004 of 320. Split packages allow us to create new ebuilds only for the packages
1005 that are actually changed, saving (in this example) more than two-thirds of
1006 the compilation time on an upgrade.
1007 </li>
1008 <li>
1009 Patches usually affect a specific package. With split ebuilds, they can be
1010 tested, approved and committed faster, and the developers have less to do;
1011 and, as above, the user will spend less time upgrading. This is especially
1012 important for security updates.
1013 </li>
1014 <li>
1015 Users of other desktops and leaner WMs can emerge a few KDE apps they like
1016 without the (quite big) overhead of the rest of, say, <c>kdebase</c> or
1017 <c>kdepim</c>.
1018 </li>
1019 <li>
1020 Users can fine-tune the packages they have installed. Reasons you might
1021 want this include:
1022
1023 <ul>
1024 <li>
1025 You care about compilation time. <c>emerge kdebase kdepim
1026 kdenetwork</c> takes far too long when what you really need is
1027 <c>konqueror</c>, <c>kmail</c> and <c>kopete</c>. Besides, CPU time is
1028 money... somewhere.
1029 </li>
1030 <li>
1031 You care about disk usage. Every unused package is that many megabytes
1032 blocking the pores between your disk's sectors. A disk with more free
1033 space breathes freely; it's a fast, happy disk.
1034 </li>
1035 <li>
1036 You care about system security. All installed software is a potential
1037 source of vulnerabilities, and there's no excuse for unused software
1038 left lying around.
1039 </li>
1040 <li>
1041 You faithfully adhere to the <uri link="/main/en/philosophy.xml">Gentoo
1042 Way</uri>, and can't stand packages being bundled together and forced
1043 on the user. (Neither could we.)
1044 </li>
1045 </ul>
1046 </li>
1047 <li>
1048 Finally, the split ebuilds also allow more compile-time flexibility with
1049 USE flags.
1050 </li>
1051 </ul>
1052
1053 </body>
1054 </section>
1055 <section>
1056 <title>Split and monolithic ebuild interoperability</title>
1057 <body>
1058
1059 <p>
1060 Split and monolithic ebuilds can be mixed freely. The only restriction is that
1061 a monolithic ebuild can't be installed at the same time as a split ebuild
1062 deriving from it. There are blocking dependencies in the ebuilds that enforce
1063 this, so you can do anything emerge allows you to do.
1064 </p>
1065
1066 <p>
1067 Ordinarily, however, there's no reason to use such a mixed configuration. In
1068 fact, except for special cases like very slow-compiling boxes (mips), you should
1069 use the split ebuilds for all your needs.
1070 </p>
1071
1072 <p>
1073 The split ebuilds are also the default ebuilds. This means that when some other
1074 ebuild depends on a KDE application, it will want to install a split ebuild.
1075 However, the matching monolithic ebuild will also satisfy that dependency, so
1076 you can emerge the monolithic ebuild manually and then emerge the ebuild that
1077 depended on it.
1078 </p>
1079
1080 </body>
1081 </section>
1082 </chapter>
1083
1084 <chapter>
1085 <title>Performance issues</title>
1086 <section>
1087 <title>Why split ebuilds are slow</title>
1088 <body>
1089
1090 <p>
1091 It's been <uri link="http://bugs.gentoo.org/show_bug.cgi?id=11123">said</uri>
1092 before that split ebuilds would take much more time to emerge than the
1093 monolithic ones, due to the overhead of unpacking and running configure for
1094 every package. A complete <c>emerge kde-meta</c> could take 20-30% longer
1095 than a classic <c>emerge kde</c>, unacceptable in an already long compile.
1096 </p>
1097
1098 <p>
1099 Moreover, at present the split ebuilds always run <c>make -f
1100 admin/Makefile.cvs</c> (this means running autoconf, automake, etc. and several
1101 related kde-specific scripts). This adds an additional slowdown of
1102 approximately the same order as a configure run.
1103 </p>
1104
1105 <p>
1106 Finally, a split ebuild needs to extract specific files out of a large tarball.
1107 This is slower than extracting a dedicated, small tarball. However, creating
1108 such small tarballs for the autotools-based build system of KDE 3.x is
1109 difficult.
1110 </p>
1111
1112 <p>
1113 It is worth reiterating here that with the split ebuilds a KDE upgrade's
1114 compilation time can be greatly reduced by only upgrading the packages that
1115 actually changed. The benefit from a single such update often overshadows the
1116 overhead incurred during the original installation.
1117 </p>
1118
1119 <p>
1120 Finally, installing all of KDE makes sense if you want to explore the available
1121 packages or are setting up a multi-user environment; however, most people use
1122 only some of the 300+ KDE apps available. Anyone who really cares about
1123 compilation time, such as owners of older boxes, can gain more time by
1124 selectively installing packages than they might lose by the overhead incurred.
1125 </p>
1126
1127 </body>
1128 </section>
1129 <section>
1130 <title>How split ebuilds will be made faster</title>
1131 <body>
1132
1133 <p>
1134 Most or even all of the split ebuilds' performance issues are tied to autotools
1135 - autoconf, automake and other tools which manage the <c>./configure;make;make
1136 install</c> build system used in KDE 3.x.
1137 </p>
1138
1139 <p>
1140 KDE 4 will (as far as we can tell now) adopt a completely new build system,
1141 which among other things will greatly reduce the time its equivalent of a
1142 <c>make -f admin/Makefile.common; ./configure</c> will take. Hopefully, it will
1143 also make it much easier to create a small tarball for each split ebuild by
1144 lowering the cost of generating its equivalent of configure scripts (if any).
1145 </p>
1146
1147 </body>
1148 </section>
1149 </chapter>
1150
1151 <chapter>
1152 <title>Split ebuilds FAQ</title>
1153 <section>
1154 <title>Why are some split packages missing the newest ebuild versions?</title>
1155 <body>
1156
1157 <p>
1158 As explained above, not all applications are really updated between minor KDE
1159 releases, and so not all applications receive new ebuild versions. For
1160 instance, libkdenetwork wasn't updated in 3.5.0_beta2, so the latest ebuild
1161 available with that release was 3.5_beta1.
1162 </p>
1163
1164 <p>
1165 This is done purely to reduce compilation time during an upgrade. If we had
1166 made a libkdenetwork-3.5.0_beta2 ebuild, it would have installed precisely the
1167 same files as the 3.5_beta1 ebuild. The various dependencies are updated to
1168 work correctly (i.e. no ebuild will depend on libkdenetwork-3.5.0_beta2).
1169 </p>
1170
1171 </body>
1172 </section>
1173 <section>
1174 <title>Can't we do this already with DO_NOT_COMPILE?</title>
1175 <body>
1176
1177 <p>
1178 DO_NOT_COMPILE is an environment variable internal to the KDE build system. It
1179 allows selectively disabling subdirectories from compilation. Some people used
1180 to use it to compile subsets of the monolithic KDE ebuilds. For instance,
1181 running <c>DO_NOT_COMPILE=konqueror emerge kdebase</c> would install a kdebase
1182 without the <c>konqueror</c> application.
1183 </p>
1184
1185 <p>
1186 However, DO_NOT_COMPILE was never intended to be used to interfere with the
1187 operation of a package manager's automated builds. It does not work, it can
1188 break your system, and it was never supported. We request everyone to refrain
1189 from using it.
1190 </p>
1191
1192 <p>
1193 Here is a partial list of the problems with DO_NOT_COMPILE:
1194 </p>
1195
1196 <ul>
1197 <li>
1198 It completely breaks Portage's dependency tracking. Portage does not know
1199 about DO_NOT_COMPILE, and thinks the entire monolithic package has been
1200 installed and can satisfy other packages' deps. This can cause other
1201 packages not to emerge or not to run.
1202 </li>
1203 <li>
1204 It forces the user to know the names and meanings of all the different
1205 existing subdirs of the KDE modules. Very few users do know this, unless
1206 they're KDE developers, so they can't use DO_NOT_COMPILE properly.
1207 </li>
1208 <li>
1209 KDE module subdirs can have interdependencies between them, require a
1210 particular build order, require another dir to be present even if it does
1211 not have to be installed, and so forth. We put a lot of work into the split
1212 ebuilds to make them work properly in this regard. DO_NOT_COMPILE is not
1213 nearly a fine enough tool to achieve the same results, even given
1214 sufficient knowledge on the user's part. The only thing you can do with it
1215 is disable a few applications from compiling. It is practically impossible
1216 to use it to install only a few selected applications from modules like
1217 <c>kdebase</c> or <c>kdepim</c>.
1218 </li>
1219 <li>
1220 If I installed kmail yesterday and want to add korn today, using
1221 DO_NOT_COMPILE, it entails recompiling kmail as well. This means
1222 DO_NOT_COMPILE is always much slower than split ebuilds.
1223 </li>
1224 <li>
1225 DO_NOT_COMPILE can't be used to make precompiled packages (such as the GRP)
1226 containing individual KDE apps.
1227 </li>
1228 </ul>
1229
1230 </body>
1231 </section>
1232 <section>
1233 <title>Aren't you putting too big a load on the Gentoo KDE maintainers?</title>
1234 <body>
1235
1236 <p>
1237 Surprisingly, this question gets asked a lot. I'm glad users are so
1238 considerate of us maintainers. Let me take this opportunity to assure you that
1239 we're taking on the split ebuilds of our own free will; that we believe we'll
1240 be able to continue maintaining them well; and that there's no chance of
1241 talking us out of it :-)
1242 </p>
1243
1244 <p>
1245 For completeness' sake, I should mention that maintainers from other archs
1246 have in fact complained about the increased workload of testing and keywording
1247 so many separate ebuilds. We're working to resolve this and it's a major reason
1248 why monolithic ebuilds are in fact still available for KDE 3.5.
1249 </p>
1250
1251 </body>
1252 </section>
1253 <section>
1254 <title>Are you going to remove the old-style (monolithic) ebuilds?</title>
1255 <body>
1256
1257 <p>
1258 We intend to do so eventually. However, there will be both monolithic and split
1259 ebuilds for all the KDE 3.x releases.
1260 </p>
1261
1262 <p>
1263 If you prefer the monolithic ebuilds over the split ones, please
1264 <uri link="http://bugs.gentoo.org">tell us</uri> your reasons.
1265 </p>
1266
1267 </body>
1268 </section>
1269 <section>
1270 <title>There are too many ebuilds! How am I going to find the one I need?</title>
1271 <body>
1272
1273 <p>
1274 Well, first of all, if you know the package you're looking for came with
1275 kdebase, you can still <c>emerge kdebase-meta</c>, with much the same results
1276 as if you emerged the monolithic <c>kdebase</c>. So, things haven't actually
1277 become any worse due to the split ebuilds.
1278 </p>
1279
1280 <p>
1281 Of course, all the usual ways of locating a package also apply. How would you
1282 find your ebuild if it was a Gnome application? As a minimum, you do have to
1283 know the name of the application you're looking for.
1284 </p>
1285
1286 <p>
1287 The situation could, perhaps, be improved by introducing some more -meta
1288 ebuilds. They are merely lists of dependencies, so they don't cost us anything.
1289 This hasn't been decided yet. Also, it would be nice to have Portage sets
1290 functionality before we do this extensively.
1291 </p>
1292
1293 </body>
1294 </section>
1295 <section>
1296 <title>How can I list/unmerge all split ebuilds derived from a given package?</title>
1297 <body>
1298
1299 <p>
1300 The objective here is to list all split kde ebuilds derived from, say, the
1301 <c>kdebase</c> monolithic ebuild. Once again, the proper implementation (such as <uri
1302 link="/proj/en/glep/glep-0021.html">GLEP 21</uri>) would make this trivial.
1303 Today, however, you must become involved in the KDE eclasses' implementation
1304 details to some degree. So, if you use any of these approaches in a script
1305 that's not for private use, tell us about it.
1306 </p>
1307
1308 <p>
1309 kde-functions.eclass defines functions called get-parent-package() and
1310 get-child-packages() which do the translation for you. These two functions are
1311 the correct way to accomplish this task from an ebuild or an external bash
1312 script. Here is an example:
1313 </p>
1314
1315 <pre caption="Example usage of the kde-functions functions">
1316 $ <i>function die() { echo $@; }</i> <comment># called to report errors</comment>
1317 $ <i>source /usr/portage/eclass/kde-functions.eclass</i>
1318 $ <i>get-parent-package konqueror</i> <comment># won't work, you must specify full name</comment>
1319 Package konqueror not found in KDE_DERIVATION_MAP, please report bug <comment># error printed</comment>
1320 $ <i>get-parent-package kde-base/konqueror</i> <comment># fully qualified package name</comment>
1321 kde-base/kdebase <comment># result printed</comment>
1322 $ <i>get-child-packages kde-base/kdebase</i>
1323 <comment>(Long list of packages printed here)</comment>
1324 </pre>
1325
1326 <p>
1327 If your script isn't in bash, you can grep kde-functions.eclass to extract the
1328 (multiline) definition of the variable KDE_DERIVATION_MAP, which the
1329 aforementioned functions use. This variable contains a whitespace-separated
1330 list of words, and each two consecutive words map a parent package to a child
1331 split ebuild.
1332 </p>
1333
1334 </body>
1335 </section>
1336 </chapter>
1337 </guide>
1338
1339
1340
1341 --
1342 gentoo-commits@l.g.o mailing list