From kde Wed Apr 03 08:14:05 2013 From: Duncan <1i5t5.duncan () cox ! net> Date: Wed, 03 Apr 2013 08:14:05 +0000 To: kde Subject: Re: [kde] How to learn about all those configuration file values? Message-Id: X-MARC-Message: https://marc.info/?l=kde&m=136497689725852 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.