On Mon, Aug 02, 2004 at 10:08:54PM +0200, Frank Lichtenheld wrote: > On Mon, Aug 02, 2004 at 02:33:13PM -0500, Nik A. Melchior wrote: > > I probably should have filed a report against sudo, but this bug can be > > reassigned if the original reporter believes this is the source of his > > problems. It seems to me that sudo needs to export $USER or $HOME or > > $LOGNAME > > in order to make this work properly. > > It's a feature, not a bug ;) > At least there is a -H switch to sudo to export $HOME >
Interesting. I'll probably be using this option from now on, but I'll also need to educate anyone who uses sudo on systems I administrate so I don't need to troubleshoot these DCOP errors everytime they use a KDE app in sudo. Why isn't -H the default behavior? I can't think of any time I'd want the other behavior. Also, this still won't solve the problem. It may take care of ~/.ICEauthority, but there are still files in /tmp and /var/tmp that have incorrect ownership. I've just tried the procedure again (viewing a bug log in a browser during `apt-get install' in X), and I received some error messages that I've never seen before (cypher's uid is 1000): ====== What do you want to do now? [N|o|r|b|q|?]? b Error: "/tmp/ksocket-cypher" is owned by uid 1000 instead of uid 0. Link points to "/tmp/ksocket-root" QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used Error: "/tmp/ksocket-cypher" is owned by uid 1000 instead of uid 0. Link points to "/tmp/ksocket-root" Error: "/tmp/kde-cypher" is owned by uid 1000 instead of uid 0. Link points to "/tmp/kde-root" QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used kbuildsycoca running... Error: "/var/tmp/kdecache-cypher" is owned by uid 1000 instead of uid 0. Link points to "/var/tmp/kdecache-root" Reusing existing ksycoca Error: "/tmp/kde-cypher" is owned by uid 1000 instead of uid 0. Link points to "/tmp/kde-root" Error: "/var/tmp/kdecache-cypher" is owned by uid 1000 instead of uid 0. Link points to "/var/tmp/kdecache-root" Error: "/var/tmp/kdecache-cypher" is owned by uid 1000 instead of uid 0. Link points to "/var/tmp/kdecache-root" Error: "/tmp/kde-cypher" is owned by uid 1000 instead of uid 0. Link points to "/tmp/kde-root" Error: "/tmp/ksocket-cypher" is owned by uid 1000 instead of uid 0. Link points to "/tmp/ksocket-root" Error: "/var/tmp/kdecache-cypher" is owned by uid 1000 instead of uid 0. Link points to "/var/tmp/kdecache-root" Error: "/var/tmp/kdecache-cypher" is owned by uid 1000 instead of uid 0. Link points to "/var/tmp/kdecache-root" Error: "/var/tmp/kdecache-cypher" is owned by uid 1000 instead of uid 0. Link points to "/var/tmp/kdecache-root" Error: "/tmp/ksocket-cypher" is owned by uid 1000 instead of uid 0. Link points to "/tmp/ksocket-root" Error: "/var/tmp/kdecache-cypher" is owned by uid 1000 instead of uid 0. Link points to "/var/tmp/kdecache-root" ====== Now konqueror gives the following error when cypher starts it: ====== kbuildsycoca: ERROR creating database '/var/tmp/kdecache-cypher/ksycoca'! kbuildsycoca: Wrong permissions on directory? Disk full? ====== Everything seems to work fine, but I could possibly run into the same problems that the original reporter had. Perhaps KDE needs to modify the way it treats these temporary files, or do I need to do something differently?