[kde-solaris] dcopserver statup problem and /tmp/.ICE-unix

Alexander Velásquez avelasqu at euler.ciens.ucv.ve
Mon Mar 6 14:40:34 CET 2006


Thanks a lot Stefan!

This script fixed the problem in my system due to this issue on KDE ...

----- Original Message ----- 
From: "Stefan Teleman" <steleman at nyc.rr.com>
To: "KDE Solaris" <kde-solaris at mail.kde.org>
Sent: Saturday, February 11, 2006 9:09 PM
Subject: Re: [kde-solaris] dcopserver statup problem and /tmp/.ICE-unix


> On Saturday 11 February 2006 19:49, Avi Schwartz wrote:
> > > Is this a Blastwave related question ?
> >
> > It is a KDE related question.  The build is the Blastwave build.
> 
> And the build doesn't handle this particular problem correctly, which 
> a known problem, and has been known for years.
> 
> There are three directories under /tmp which need to have their 
> permissions set correctly by the startup script:
> 
> /tmp/.ICE-unix
> /tmp/.X11-unix
> /tmp/.X11-pipe
> 
> /* kchmod.c */
> 
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <unistd.h>
> #include <errno.h>
> 
> static const char* unixPath = "/tmp/.X11-unix";
> static const char* pipePath = "/tmp/.X11-pipe";
> static const char* icePath = "/tmp/.ICE-unix";
> static const char* fontPath = "/tmp/.font-unix";
> extern int errno;
> 
> int
> main (int argc, char* argv[])
> {
>     mode_t mode = 0;
>     uid_t uid = 0;
>     gid_t gid = 0;
> 
>     mode = (S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX);
> 
>     if (setuid (uid) != 0)
>     {
>       perror ("setuid"), strerror (errno);
>       return -1;
>     }
>     if (mkdir (unixPath, mode) != 0)
>     {
>       if (EEXIST != errno)
>       {
>         perror("mkdir"), strerror(errno);
>         return -2;
>       }
>     }
>     if (chmod (unixPath, mode) != 0)
>       perror ("chmod"), strerror (errno);
> 
>     if (chown (unixPath, uid, gid) != 0)
>       perror ("chown"), strerror (errno);
> 
>     if (mkdir (pipePath, mode) != 0)
>     {
>       if (EEXIST != errno)
>       {
>         perror("mkdir"), strerror(errno);
>         return -2;
>       }
>     }
>     if (chmod (pipePath, mode) != 0)
>       perror ("chmod"), strerror (errno);
> 
>     if (chown (pipePath, uid, gid) != 0)
>       perror ("chown"), strerror (errno);
> 
>     if (mkdir (icePath, mode) != 0)
>     {
>       if (EEXIST != errno)
>       {
>         perror("mkdir"), strerror(errno);
>         return -2;
>       }
>     }
>     if (chmod (icePath, mode) != 0)
>       perror ("chmod"), strerror (errno);
> 
>     if (chown (icePath, uid, gid) != 0)
>       perror ("chown"), strerror (errno);
> 
>     if (mkdir (fontPath, mode) != 0)
>     {
>       if (EEXIST != errno)
>       {
>         perror("mkdir"), strerror(errno);
>         return -2;
>       }
>     }
>     if (chmod (fontPath, mode) != 0)
>       perror ("chmod"), strerror (errno);
> 
>     if (chown (fontPath, uid, gid) != 0)
>       perror ("chown"), strerror (errno);
> 
>     return 0;
> }
> 
> // vim: ts=2 sw=2 et
> 
> /* kchmod.c */
> 
> Compile and install as ${KDE}/bin/kchmod, permissions 4755, owned 
> root:root and run it directly from startkde, somewhere near the top 
> before anything KDE-related starts happening.
> 
> Do not keep deleting these directories because that will not fix 
> anything.
> 
> --Stefan
> 
> -- 
> Stefan Teleman          'Nobody Expects the Spanish Inquisition'
> steleman at nyc.rr.com                          -Monty Python
> ___________________________________________________
> This message is from the kde-solaris mailing list.
> Account management:  https://mail.kde.org/mailman/listinfo/kde-solaris.
> Archives: http://lists.kde.org/.
> More info: http://www.kde.org/faq.html.


More information about the kde-solaris mailing list