How to learn about all those configuration file values?
Duncan
1i5t5.duncan at cox.net
Wed Apr 3 09:14:05 BST 2013
adrelanos posted on Tue, 02 Apr 2013 22:10:50 +0000 as excerpted:
> Hi!
>
> There is an Ubuntu Package kde-settings-lowfat. The creator of that
> package must have somehow learned how to configure and/or deactivate
> certain things to his liking in a clean way, i.e. not "just copy your
> whole ~/.kde folder". I plan on activating most changes from
> kde-settings-lowfat for my own distribution, but before doing so, I must
> understand (not just guess) what these settings actually do. So I am
> asking form a distro packager perspective, must use the text
> configuration files and can not just copy the whole ~/.kde folder.
>
> At the bottom is a list of settings I can hardly make head of tail of. I
> am not asking to tell me what each any any values do, I am just asking
> about the best approach to learn all those things.
That's an interesting question. As an advanced kde user, I know most of
these, but I can't exactly say how/where I picked up that knowledge. I
believe for the most part, however, that I've actually simply integrated
a factoid here and another there, combining that with the experience of
having run kde since the kde2 era, and done enough bisect-style
troubleshooting along the way so that I have a good idea where settings
are, and what they do, and can quickly back that up with a change-and-
test if I'm in doubt. =:^)
But you'll definitely want to pay attention to a couple sources, the kde
sysadmin's guide at techbase.kde.org, and, assuming your distro (Ubuntu,
it would seem) splits kde packages up and describes them well enough for
that to be useful, the package descriptions along with the files they
contain. I know gentoo's pretty good with this, and of course there, the
USE flags for each package along with their descriptions are of help.
Also useful are the list of dependencies, which can give a hint of actual
functionality.
Meanwhile, you mention search engines, but didn't specifically mention
wikipedia. It can be quite helpful as well. Take your example below,
dnssdwatcher. A quick wikipedia search on dnssd (wp:dnssd, entered in
krunner, if the appropriate web shortcut is enabled, as I believe it is
by default...) doesn't yield a direct hit, but returns some very useful
search results.
FWIW, dns-sd is a zeroconf-related technology, DNS service discovery (DNS
of course meaning the same thing it does in IP networking, domain name
system).
An educated guess, then, is that combining the wikipedia results with the
results of a few package management and package file queries will confirm
that dnssd-watcher is a kde daemon that "watches" for dns-sd events on
the network, keeping the kde core informed of what network-based services
are available, and where (on what machines).
So from wikipedia you can get a good idea what zeroconf and dns-sd are
all about. Now let's mine our package management database for useful
data. (The below example is of course gentoo-based since that's what I'm
on, but presumably you have similar queries you can run against your
package manager and package database. $>> indicates my command prompt,
thus distinguishing input from output.)
$>>esearch dnssd (general info about the package, whether it's installed,
its homepage, sources size, description, etc, listing the relevant hit,
of two)
* kde-base/kdnssd
Latest version available: 4.10.1
Latest version installed: 4.10.1
Size of downloaded files: 8,839 kB
Homepage: http://www.kde.org/
Description: A DNSSD (DNS Service Discovery - part of Rendezvous)
ioslave and kded module
License: GPL-2
$>>equery files kdnssd (files the package contains... if installed of
course)
* Contents of kde-base/kdnssd-4.10.1:
/usr
/usr/lib64
/usr/lib64/kde4
/usr/lib64/kde4/kded_dnssdwatcher.so
/usr/lib64/kde4/kio_zeroconf.so
/usr/share
/usr/share/apps
/usr/share/apps/remoteview
/usr/share/apps/remoteview/zeroconf.desktop
/usr/share/dbus-1
/usr/share/dbus-1/interfaces
/usr/share/dbus-1/interfaces/org.kde.kdnssd.xml
/usr/share/kde4
/usr/share/kde4/services
/usr/share/kde4/services/kded
/usr/share/kde4/services/kded/dnssdwatcher.desktop
/usr/share/kde4/services/zeroconf.protocol
$equery depends kdnssd (what else tha's installed depends on the package)
* These packages depend on kdnssd:
kde-base/kcontrol-4.10.1 (>=kde-base/kdnssd-4.10.1:4[aqua=])
$equery uses kdnssd (what USE flags, aka build-time-options, the package
exposes)
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
* Found these USE flags for kde-base/kdnssd-4.10.1:
U I
- - debug : Enable extra debug codepaths, like asserts and extra
output. If you want to
get meaningful backtraces see
http://www.gentoo.org/proj/en/qa/backtraces.xml
- - zeroconf : Support for DNS Service Discovery (DNS-SD)
$>>
(I did an equery depgraph as well, what kdnssd depends on, but the
results weren't particularly enlightening in terms of this discussion --
it was just the usual kdelibs/qt/X deps, plus the usual cmake/automake/
etc build-time deps.)
OK, the above confirms that dnssdwatcher is a shared object (*.so) and
desktop services file (*.desktop) provided by the kdnssd package.
A quick cat of the desktop file reveals these two lines (among others):
Name=DNS-SD Service Discovery Monitor
Comment=Monitors the network for DNS-SD services
That confirms what I stated above, that this service "monitors the
network for DNS-SD services". =:^)
> I can't understand each change in the kde-settings-lowfat package by
> putting them into a search engine one by one. For example when searching
> for "Module-dnssdwatcher", I find some bug discussions and can vaguely
> guess what it's about, but there is no real technical reference what
> this module does. Also searching for "site:kde.org dnssdwatcher" only
> brings unrelated bug reports and forum posts.
>
> My approach with search engines, reading random vaguely related bug and
> other discussions on random pages is really ineffective and
> non-authoritative.
>
> I also tried entering the search term "kwrited" into quickgit.kde.org,
> but to no avail. Also seaching for "site:quickgit.kde.org kwrited",
> didn't help. I assumed to phrase a configuration file which contains
> "[Module-kwrited]" you must somewhere use the word "kwrited" in the
> sources and at least by reading the source I should get an idea what it
> does, but I also don't find references for it in "kwrited", so I am
> really lost on how to find reliable information.
>
> Please tell me how I can find best information about these settings.
>
> Cheers,
> adrelanos
>
> /kde/share/config/kdedrc
You can find background on kded, kde-daemon, in the previously mentioned
sysadmin's guide on techbase.kde.org. Basically, it's the bit of kde
that coordinates all the different bits and pieces of kde. It starts
early in the kde startup process, collects the config information from
all the various text-based config files and generates a faster binary
cache thereof (ksycoca, KDE SYstem COnfig CAche), then monitors them for
config changes and notifies kde apps about them as kde runs.
Additionally, it has all these modules, collecting dynamic information
from various sources, integrating it with the previously collected config
information and again notifying kde apps of changes as appropriate.
It's also worth noting kcmshell4, kcm=kcontrol-module, kcontrol being the
more accurate kde3 term for what they now call system settings... except
that it's mostly user specific kde specific settings that have little to
do with non-kde operation of the system, so the old kcontrol name was
**FAR** more accurate.
Anyway, kcmshell4 is a handy way to run individual kcontrol modules from
the (konsole) command line. As with most kde executables (and indeed, as
standard across much of *ix-land, particularly GNU/Linux),
kcmshell4 --help yields a listing of options, etc. Take special note of
the --list option, which lists all available modules. If in doubt you
can then run them from the command line to see what each one actually is/
does. =:^)
And... kcmshell4 kcmkded (which is also available in kcontrol under
startup and shutdown, service manager)... is the GUI method of
configuring which kded modules start with kde... or of simply seeing
their descriptions! =:^)
> [Module-bluedevil]
> autoload=false
(Quick package-manager query...)
Bluetooth. Useful only for users who actually /have/ bluetooth hardware,
and who actually activate it. Otherwise, just a useless drain on memory
and initialization time.
> [Module-device_automounter]
> autoload=false
kcmshell4 --list | grep mount, gives me device_automounter_kcm, with a
description: "Configure automatic handling of removable storage media".
kcmshell4 device_automounter_kcm give me... well you can try it.
Of course that's the Removable Device Automounter, as listed in the
services configuration (kcmkded).
Without this module running the new removable device should still show up
in device-notifier, but the configured automount actions won't occur.
This one will strongly depend on whether the user is willing to jump thru
manual hoops to mount a newly plugged removable storage device, or would
prefer that kde handled it even at the expense of a bit of kde startup
speed and memory for the automounting service. Of course people like me
don't like kde mounting stuff behind their back anyway, so turning it off
is an easy choice here, but a lot of users want the system to handle
it... if they even know anything about mounting to begin with.
> [Module-dnssdwatcher]
> autoload=false
Dealt with in the initial examples above. If there's no zeroconf
services on the LAN in any case, might as well not load it.
> [Module-freespacenotifier]
> autoload=false
Is a warning when /home is getting low on space worth the memory and
startup cost?
> [Module-kwrited]
> autoload=false
The description in kcmkded says it all. Waits for messages from local
users sent with write/wall. If that doesn't apply, why run it?
> [Module-nepomuksearchmodule]
> autoload=false
FWIW, I install kde with USE=-semantic-desktop here, no nepomuk installed
at all... and no nepomuk search modules listed in kcmkded, either! =:^)
Talk about cutting the fat! Cutting out all the semantic-desktop fat is
a good start! But do note that at least on gentoo, akonadi is part of
semantic-desktop, thus disabled along with the semantic-desktop USE flag,
and of course pretty much all of kdepim is either already akonadified or
there's plans for it. So cutting the semantic-desktop fat may well mean
killing kmail, knode, korganizer, knotes, akregator... But FWIW I found
claws-mail a very good kmail and akregator replacement, here.
Considerably faster and more reliable than the akonadified kmail, for
sure, altho to be fair, I killed all of kdepim in the kde 4.7 era, and
they say it's much improved by now. IMO, still not worth resurrecting
the entire semantic-desktop for, however, and actually, I prefer claws-
mail to even the old pre-akonadified kmail, now that I'm familiar with
it, so...
> [Module-networkmanagement]
> autoload=false
I /think/ this is Network Status in kcmkded. But as I don't run network-
manager or the like at all, instead using initscripts for my network
management, I have absolutely no experience with this.
> [Module-obexftpdaemon]
> autoload=false
No idea at all as AFAIK I've never seen it, except that it would appear
to be a kde-integrated ftp daemon of some sort. Off would seem to be a
very sensible default, however.
> [Module-randrmonitor]
> autoload=false
kcmkded says display management change monitor. Probably useful for
laptop users that often plug external monitors or who frequently change
resolution, not so much for folks who always run the same monitor config
and resolution.
> [Module-remotedirnotify]
> autoload=false
Remote URL change notifier. For those with network folders this is
probably useful. Otherwise, not so much.
> /kde/share/config/krunnerrc
>
> [Plugins]
> PowerDevilEnabled=false
> bookmarksEnabled=false
> calculatorEnabled=false
> desktopsessionsEnabled=false
> installerEnabled=false
> killEnabled=false
> locationsEnabled=false
> nepomuksearchEnabled=false
> org.kde.windowedwidgetsEnabled=false
> placesEnabled=false
> plasma-desktopEnabled=false
> recentdocumentsEnabled=false
> servicesEnabled=true
> shellEnabled=true
> solidEnabled=false
> webshortcutsEnabled=false
> windowsEnabled=false
These correspond to the krunner modules. They can be configured and
their descriptions can be found in krunner. Click the wrench icon to
configure krunner. Of course krunner lets you quickly test them, too.
=:^)
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
___________________________________________________
This message is from the kde mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.
More information about the kde
mailing list