plasma-desktop (KDE factory) acting up?

Duncan 1i5t5.duncan at cox.net
Mon May 9 09:25:03 BST 2011


Alex Schuster posted on Wed, 01 Dec 2010 01:50:32 +0100 as excerpted:

> Duncan writes:

OK, this is obviously a long-delayed reply, but I still had this post 
marked to followup on when I got the correctly rounded tuit, so here 
goes.  Obviously I'm deleting a lot of it as now rather dated, but there's 
still some nuggets to reply to...

>> FWIW, to keep control a bit tighter on access to /var/log/messages,
>> when I setup yasp-scripted to tail it, I setup a script that does a
>> tail -100 on it, to be run as root.  Then I configured sudo to allow my
>> user to run that script (passwordless) with no parameters, which should
>> be a /reasonable/ permission lockdown, I think/hope (at least given
>> that I'm specifically allowing the user to view the last 100 lines of
>> /var/log/ messages).  Then the yasp-scripted command can invoke that
>> command thru sudo, piping the output thru tail again to cut it down to
>> the specific number of lines I have space for, thru cut to cut down the
>> columns to the specific number I have space for... and then posting the
>> result in yasp- scripted.
> 
> Why only the last 100 lines? Security? But if the user can read the last
> 100 lines, he can >> them into his log file, and he gets everything. But
> maybe I'm getting this wrong.

While it's for security reasons I limit it, it's not because I'm worried 
about the log being available to be viewed by that user, for the obvious 
reasons you mentioned.  Rather, it has to do with nailing down the precise 
command I allow the user to sudo run as root, only the specific command 
(specified by absolute path so the user can't change it that way) with the 
specific parameters I want, and because tail -f wouldn't work here, so I 
had to choose some arbitrary value and 100 lines seemed more than I'd ever 
be likely to display at once, so that was it.

If you've worked with sudo at all, you probably know that the 
documentation takes some pains to warn about allowing not-fully-specified 
command-lines (including supplied parameters, etc), since a user could 
conceivably use that to abuse the command to some unanticipated end.  It 
was actually that security issue that I had in mind, especially since I 
was allowing this command to be run passwordless, and the 100 lines was 
simply a convenient value arbitrarily chosen to be more than I'd be likely 
to ever actually display in the plasmoid that was the whole purpose for 
this, while still being low enough that it'd be unlikely to create any 
sort of memory or performuse tab-completion at the CLI or the directory 
browse feature in ance issues, etc.

> I have the group set to wheel for the logs I want to be read by trusted
> users.

Well, that's sort of the point as well.  I don't consider my normal user 
login to be entirely trusted, as that's what I run as most of the time, 
including browsing the web, etc, so it'd be the most likely permissions 
used by any inadvertently executed malware, etc.  I have an admin login 
that gets full passwordless sudo rights, and one of the few sudo comands 
allowed to my ordinary user login is a password-ed sudo login to that 
user.  Other than that, my regular user login is pretty restricted, for 
the simple reason that it /is/ my regular user login.

Given the above viewpoint, I did have to consider whether lowering system 
security enough to allow my ordinary user syslog reading rights was wise, 
but decided that the benefits I gained from having the syslog more or less 
constantly visible, so I could see what was happening, outweighed the 
security negatives of exposing the log to be read, in 100-line chunks, as 
that only semi-trusted ordinary user.

FWIW, if you've not seen anything about it yet, reading up on QubesOS is 
something you might be interested in.  The idea is to partition the system 
off into a number of virtual machines with access between them carefully 
controlled.  Unfortunately, my main system is old enough that it doesn't 
have the hardware virtualization helpers that the newer CPUs normally 
have, so while I had actually thought about this sort of approach, it's 
not particularly viable for me at this point.  However, the idea is 
definitely on my list for further investigation once I upgrade to hardware 
virtualization supporting hardware.

Here's a review of the current QubesOS beta, with a diagram demonstrating 
how Joanna Rutkowska, the founder, partitions up her computer into various 
VMs.  (There's a piece of the diagram at the top, but the whole diagram is 
thumbnailed with a link to the full-size version, later.)  That's the sort 
of thing I have in mind, except probably a bit simplified as I don't have 
the work or security worries she does.  (Imagine the reputation a blackhat 
would have after cracking THAT!)

http://www.flaviostechnotalk.com/2011/05/01/is-there-a-blue-pill-for-qubes-
os/

(Watch the link-wrap.)

>> mpd (using qmpdclient when I'm in kde) for music here, as I didn't like
>> where amarok headed with kde4, and wanted the ability to have the music
>> continue uninterrupted regardless of whether I was in X/KDE or not.  I
>> do miss amarok-for-kde3's visualizations, but not enough to want to
>> deal with amarok's extremely heavy dependencies again (especially now
>> that akonadi works well with sqlite and I've thus been able to remove
>> mysql again), plus amarok for kde4 had done away with visualizations
>> when I left it, while adding all sorts of stupid features I didn't
>> really use or want, so it was simply not a good fit for me any more. 
>> Not that it really /ever/ was, given the dependencies in kde3, as well,
>> even if I tolerated them for the visualizations, etc, at that point.
> 
> I sort of like Amarok. It has its bugs, but I see progress, and find it
> very convenient. When Amarok took minutes to start, I tried Clementine,
> which has the look & Feel of Amarok 1.x, but soon I was missing many
> little things. Amarok is geat :)

I appreciate being mysql-free again, after akonadi-server switched to the 
sqlite backend for its default.  That's just one of amarok's way-too-heavy-
for-my-requirements dependencies I don't need installed now.  AFAIK, it 
still uses ruby as well, and I don't have that installed either.

I looked at clementine, but it has some circular dependencies I'd have to 
resolve to merge it.  Portage hints at the USE flags I'd have to change 
temporarily to do it, but it's definitely more of a hassle than it's worth 
to me, so...

I do miss amarok-for-kde3 visualizations, but if I ever get around to 
figuring it out, mpd has some visualizations available (obviously I don't 
know how good since I've yet to configure them), with output from mpd to 
the visualizer over a fifo.  And I **REALLY** like the mpd's daemon idea, 
with multiple front-ends available for CLI and curses outside X, kde/gnome/
qt/gtk and possibly more in X, and even a web-based-front-end available 
for remote control if desired.  Having the daemon start with the system 
services at boot, regardless of whether I bother running a front-end for 
it or not, is neat, and I now have a player available regardless of 
whether I'm in X or not.  Aside from the extremely heavy dependencies, 
that's another thing I disliked about amarok -- it was only available if I 
had X running.  (Of course there are many other ncurses and CLI based 
music players as well, but one reason I like mpd is because of the 
flexibility and native interfaces afforded by all those available front-
ends.)

>> And for file management I divide my tasks into sysadmin type tasks
>> (even as a user, config file editing, moving files in general around,
>> etc), where I use the ncurses based mc in either a text VT or a konsole
>> window, doesn't matter, and user type tasks (almost entirely media file
>> handling), for which I tend to use gwenview.  So while dolphin's on my
>> system and it does popup by default when I click on a dir in a
>> folderview or the like, I don't really tend to use it that much, except
>> very transitorily to access some function not particularly convenient
>> directly from a folderview or quickaccess plasmoid.
> 
> I also don't use dolphin _much_. But it's convenient to browse through
> my MPEG collection, and to sort my music. I can drag files or folders
> into Amarok, which won't work with mc. I can delete quickly with the
> 'Del' key, and have the files still in my Trash [*].
> For images I'm using Gwenview or Dolphin.

I really wish gwenview would handle sound files as well as it does images 
and can handle video, if so configured...  And that it could be configured 
to show all files, not just media files.  If so, I'd likely configure it 
as my default file manager and thus seldom use dolphin at all.

> Then this night I tried Digikam, and investigated this semantic desktop
> stuff. I don't use that much yet, but I think it's the way to go. locate
> is nice, but only when I know the file name. Sorting files is also good
> style, I do this, but this doesn't work too well. Which
> categories /folders should I choose? I easily find a specific cartoon in
> pix/fun /cartoons/<author>. But often multiple categories apply, and
> which one should I choose?

That's what links (either symlinks or hardlinks, depending on your need) 
are for. =:^)

I don't have much use for the semantic desktop, at least as I've seen it 
so far.  I've found it more buggy than useful, and thus, disabled it (tho 
I still have the USE flags on for it).  Saves me a WHOLE lot of headaches 
with the bugs, and... I've simply come to the conclusion that all this 
fancy semantic desktop stuff is for people who don't understand how to 
organize their stuff properly via directory, including usage of symlinks
or multiple-hardlink-files where appropriate.  (I remember when I first 
switched from MS and discovered symlinks.  They remain one of my favorite 
features not found on MS, or at least, not found by the time I switched, 
maybe they've added them since.  Of course, my /real/ favorite feature is 
simply freedomware!  I don't see MS matching Linux on that one any time 
soon!)

FWIW, I don't have a *locate installed on my system for much the same 
reason.  It's far more hassle than it's worth to me, especially since my 
schedule isn't set enough for me to be able to reliably set a time for the 
index updating that won't disturb other stuff I might be trying to do at 
that time, and as you said, it's limited to filenames in any case.

If I need a file, most of the time I can point right to it, with only a 
bit of help from tab completion at the CLI or the browse-directories 
feature of open dialogs, etc.   If I DO need to search for a file, I know 
enough about where I've stored stuff to confine the real-time search 
sufficiently that doing it in real-time instead of hassling with some 
database intensive indexing tool is the vastly better trade-off.

OTOH, there's the horror stories of the folks with thousands of items 
directly in the default download dir of whatever tool they use, hundreds 
of items on their desktop, etc, and who will download something and then 
have to go back and download it again because they can't figure out where 
it downloaded to, because they simply fail to comprehend the value and 
method of organizing things by filesystem directory.  It's for /these/ 
folks that I expect the semantic desktop has the most value.

> [*] Doesn't KDE4's Trash suck?

Actually, it seems to work very well for me, as it obeys my configuring it 
to go away and not bother me! =:^)

Seriously.  Perhaps it's because I started with computers back on DOS and 
MS Windows 3.1, before 
delete-that-doesn't-actually-delete-the-file-and-free-the-space
became popular, but I've simply never had a whole lot of use for keeping 
trash around.

I remember back on MS WormOS 95, when the recycle bin first appeared, I 
hated the full trash icon and would always impulsively empty the trash as 
soon as something appeared there.  I quickly got in the habit of doing 
shift-delete, thus bypassing the trash. (I DID and still do keep the 
confirmation dialog around; that's enough protection for me.  I keep it 
around for send-to-trash too; if I do that by accident, I can cancel and 
delete properly, as I obviously intended.)

So I've taken advantage of KDE's keyboard shortcut customization features 
to have configured both dolphin and konqueror to remap real delete to the 
delete key, and fake delete (delete using shortcut for trash) to none, 
instead of shift-delete and delete, respectively.  As I said, I keep the 
real-delete warning dialog, but that's it, as it's quite sufficient.  And 
I keep the fake delete warning dialog precisely so if I ever do it by 
accident, I can cancel and do a real delete.  I did leave shift-delete 
mapped to delete in gwenview, tho, because I seldom enough actually delete 
there that I'm more likely to hit the delete button by itself by accident, 
and the added shift- , plus the confirmation dialog, protects me from that.

In both konqueror and dolphin I also have the trash set as small as it'll 
let me (0.001%), as well.  I have it set to warn if it gets bigger than 
that, not delete automatically, and don't have the auto-delete-after-N-
days checked either, because most likely, if something's there it's there 
entirely by accident, and I want to know about it.

Of course I don't have any trash plasmoids anywhere on my activities or 
panels either.  I remember hacking the MS WormOS 95 registry to remove the 
desktop icons and set the name to a single space, as well.

So yes, KDE's trash works very well for me, since it so nicely configures 
to get out of the way and not bother me any more! =:^)

> I'm curious how all this will evolve.
> 
> BTW, is there _any_ documentation on how to use this? I know some people
> who don't have a clue what this is for. The plasma handbook has half a
> page about activities, but real life examples would be nice.
> Well, not for me, I think I know what this is about, but I read some
> articles in blogs and am not a new user.

There's some, on kde userbase and the like, as well as blog posts and 
various presentations by the plasma devs, but really, activities have yet 
to come into their own and there's little practical use for them yet.  
Back in November/December when this thread was active, we were on kde 4.5, 
which was really quite limited in terms of real uses for activities, but 
there's just a hint of them in 4.6, with the ability to assign windows to 
specific activities (as well as the more traditional virtual desktops) via 
the windows menu now.  But that's little more than a crippled hint of 
what's coming as well.

Since at least 4.4, the forecast has been that activities wouldn't really 
mature until 4.7 or so.  That's still the case.  I'm certainly curious to 
see how it'll evolve as well, but knowing what they have in mind and what 
the potential is, playing with these crippled hints is a nice exercise in 
frustration.

While we're on the subject, 4.7's likely to be interesting for a number of 
reasons.  I've long stated that 4.2 and earlier were rather raw alphas, 
4.3 was but a beta, 4.4 finally reached reasonable functionality but still 
lacked polish and had enough bugs to make it reasonable for an rc, and 
only with 4.5 (and the later 4.5s at that, due to graphics bugs for many 
early on) did kde4 finally reach proper release quality -- what SHOULD 
have been 4.0.  But 4.5 did come and with it a properly functional 
release, now widely respected for its reasonable quality even if the 
journey had bumps the size of 100 meter cliffs!

It's in that context that we now have 4.6.  In a lot of ways 4.6 has 
almost been like a new development release.  It's the first to dump hal 
and use the replacement u* family.  The kde project is in the middle of 
switching from svn to git and that hasn't gone as smoothly as it might 
have, resulting in some regressions from 4.6.0 in what should have been 
bug-fix-only updates so should have been safe.  There's not a lot of real 
new functionality or features, tho as mentioned above, there's hints of 
future functionality.  So it's sort of a pause; a time to regroup, 
consolidating the current features and setting up kde4 for further 
developments in the future.

By 4.7 (even the feature-freeze for 4.7) one hopes the git transition will 
be pretty much done, and along with it will come a much more accessible 
source setup that's much easier for advanced users to participate in bug 
reporting and bisecting with, among other things.  I know I'm FAR more 
active and effective in my kernel testing than I was pre-git or could be 
today without it, and am looking forward to the same sort of thing for kde. 
(In fact, I've already done my first kde bug bisection down to the 
specific commit, based on the new git repos, while tracing a bug that 
appeared in 4.6.2 while 4.6.1 worked fine, so that's already at least one 
bit of fruit from the upgrade to git!)  In theory, that'll open kde to 
even faster development and more effective bug extermination, just as it 
has for the kernel, as the community participation rises dramatically, 
again, just as it has for the kernel.  But that's a development that'll 
happen over time... I'd guess we'll really begin to see what effects git 
has wrought by 4.9 or so, a year after 4.7, assuming the six-month-minor 
cycle continues.

But 4.7 is likely to bring the new kdepim, with kmail2, and get kdepim out 
of the bug-fix-only cycle it has been in since 4.4.  That's a heavily 
anticipated development tho it has its risks (but it /does/ seem that the 
kdepim guys learned from the kde4 mistakes and if anything, are being 
overly cautious about the upgrade this time =;^).

4.7 has likewise been long predicted to be when activities will finally 
begin to be useful as envisioned, altho there will be further development 
beyond that, obviously.  Again, that's been heavily anticipated.

4.7 was some time ago named the release at which all the printing 
improvements and bug fixing should finally come together.  I don't 
personally have a printer, but I *KNOW* that's heavily anticipated by many 
who use them regularly and are currently rather frustrated at kde's 
printing abilities.

>From what I've read, 4.7 should bring with it a marble with many new 
features.  There has been a mid-series marble release with some of them, 
but being mid-series, many distributions are unlikely to pick it up, and 
as it remained dependent on 4.6, I believe certain features had to wait or 
will be further improved for 4.7, since the kde libraries it depends on 
will then be upgraded as well.

Plus, with what seemed the pause for 4.6, there's likely to be some 
additional nice juicy features to play with too, hopefully without 
regressing /too/ much, and with the later 4.7 bugfix releases actually 
working better in that regard than the 4.6 bugfix releases have seemed to 
do.

[Gentoo specific]

>> Meanwhile, I've been rather unhappy about how the preserved-libs stuff
>> is going.  I'd rather let revdep-rebuild handle it in most cases, as
>> having packages own files they don't create upon rebuild can be
>> problematic, and there's various other issues. [...]

> Hmmm. I thought the big benefit of preserved-rebuild is that when a
> library is upgraded from version A to B, B ist installed, but A is kept,
> so all stuff that links to A still works. That is what I thought to be
> the biggest problem with Gentoo, that an upgrade of an important library
> (like libexpat) breaks much stuff, until this stuff is rebuilt. What if
> I need this stuff before it is recompiled? Now, this no longer happens.
> And doesn't emerge @preserved-rebuild delete A after it is no longer
> needed?

You are correct about the theory.  But in practice, at least as I use 
gentoo and portage, preserved-libs seems to "fix what wasn't broken" as 
they say, naturally breaking some of that which wasn't broken in the 
process.

The problem seems to be that that most people apparently didn't run revdep-
rebuild after every update, as I've long done and has to the best of my 
recollection been gentoo best-practice since before I switched to gentoo 
in 2004.

Compound that with the fact that formerly, far more than necessary was 
being rebuilt by default, because libraries were being linked in as 
dependencies that weren't actually even used (at least not directly), 
which the recent switch to --as-needed in the gentoo-default LDFLAGS fixes 
but which I've been using in my LDFLAGS for years.

Compound /that/ with the mess that *.la files creates, unnecessarily for 
the most part, on a standard dynamically linked system.   Often times 
they'd force a rebuild when an appropriate tweak to the text in the *.la 
file was all that was needed.  But that too is being cured, short term by 
the fixlafiles script and now the portage feature, longer term by the slow 
deletion of all these unnecessary but troublesome *.la files.  (That's 
what the USE=static-libs flag that's gradually being added to stuff is 
partially about.)  And again, altho it's a rather more recent development, 
I've been ahead of the pack, as I took the big step of INSTALL_MASKing 
(actually, PKG_INSTALL_MASKing, since I use FEATURES=buildpkg and didn't 
want them there either) *.la files entirely, with a single exception in /
etc/portage/env/sys-devel/libtool, unsetting the variable for that 
package, since it installs a *.la file that's actually needed, at least 
until configure scripts learn to live without it.

So at the same time, revdep-rebuild both forces far less rebuilds here 
than it does for people without --as-needed in LDFLAGS and with all the 
usual *.la files, **INCLUDING** reducing messes like expat by 3/4 or more 
in most cases, AND I run both it and emerge --depclean consistently after 
every update, thus keeping my system far more cruft and problem free.

The result is that even widely depended updates like expat cause **FAR** 
less breakage and revdep-rebuilds here than they do, or did until recently 
at least, for most users, meaning that the need for
FEATURES=preserved-libs is far lower than it is for most.

At the same time, because I DO run revdep-rebuild so faithfully after 
every update, packages broken by library updates get rebuilt properly, 
instead of staying broken until someone tries to actually use them at a 
critical time like during a presentation from their laptop.

Since the rebuilds are done right away, keeping the old libraries on the 
system only interferes with things, because it breaks revdep-rebuild's 
normal scan for broken library linkages because they aren't broken yet, 
requiring a MANUAL revdep-rebuild scan for that specific library.  That's 
a MAJOR pain in the rear because I often have to run revdep-rebuild 
MULTIPLE times, once per library I've picked out of the messages saying I 
need to do it, in ADDITION to the normal catch-all run, when if the 
libraries weren't kept around in the first place, the catch-all run would 
detect and fix the problem automatically.

In addition, if the upgrade was due to a security issue, guess what, I now 
have security-vulnerable libs still on the system with other packages not 
detected by a revdep-rebuild run because they ARE still on the system 
USING them, even when I've updated the package and by all rights SHOULD 
now be safe!

Now, there's certainly a time and a place for keeping critical libraries 
around.  But that time and place is when they're just that, critical to 
the toolchain, so the rebuild itself isn't broken, or to core system 
applications used to boot to the CLI, so a system is working well enough 
to complete the rebuilds.

Those libraries are few and far between.  The glibc package would contain 
most of them, save for the fact that it's so critical for /everything/ 
that upgrades of it have taken its critical nature into account since 
before the turn of the century, so there's nothing there that needs this 
new feature, either.  There is one package used by newer gcc versions now, 
tho, I forgot its name.   Still, none of the big problem libs like expat 
have been in this category -- booting to CLI and the package toolchain 
work fine with them broken, so revdep-rebuild itself works just fine, and 
that's what matters.  As long as that works, the rest can be rebuilt as 
necessary.

But meanwhile, that was back in November.  Back then, I was getting log 
messages for such deliberately retained libraries DESPITE my FEATURES=-
preserve-libs setting fairly frequently, often for several libraries in a 
single update, thus, as mentioned, requiring several separate manual 
revdep-rebuild runs.

Either the number of such libs with updates suddenly dropped off a cliff, 
or more likely, it was Gentoo developers playing with the new feature and 
learning how to use it properly, and now that they've done so, they've 
realized all these "critical" libs aren't so critical after all, and after 
some complaints and possibly some hassles of their own with it, they've 
returned their processing to normal so portage with
FEATURES=-preserve-libs removes them as it should and revdep-rebuild then 
catches the dependencies and rebuilds them as it should.

Whatever happened, it's working better now than it did, and I've not had 
one of those log notices unnecessarily for quite some time, perhaps since 
the turn of the year even.  But it sure was annoying while it was going on!

-- 
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