guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Invoking user shepherd; Was: Re: Defining *user* services in Guix


From: Ludovic Courtès
Subject: Re: Invoking user shepherd; Was: Re: Defining *user* services in Guix
Date: Tue, 13 Jun 2017 18:06:34 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hello Danny,

Danny Milosavljevic <address@hidden> skribis:

> On Tue, 13 Jun 2017 10:06:16 +0200
> address@hidden (Ludovic Courtès) wrote:
>
>> The ‘delete-file’ was to avoid EADDRINUSE but I wonder if it’s really a
>> good idea.
>
> Not a good idea.
>
> We should just put the shepherd socket somewhere in /run/user/4711 where 4711 
> is the user id (the entire name is present in an environment variable called 
> XDG_RUNTIME_DIR).  That's a new tmpfs created by the login process (elogind) 
> on the first session of that user.  That way, this EADDRINUSE can never 
> happen except when it should (see below).  Everything else is a weird 
> workaround.

Yes, that makes sense, we should do that.

>> What’s the difference between a “user bus” and a “session bus”?  In
>> general, my understanding is that the user dbus-daemon (session bus?) is
>> started on demand.
>
> The user bus is started once per user.  The session bus is started once per 
> session.
>
> For example let's say you have a terminal server and log in as ludo on seat1 
> and also as ludo on seat2, then you have two session buses and one user bus. 
>
> Filesystem-based services usually run per-user because almost no one creates 
> extra directories for seats.  Many programmers don't even think about it and 
> so their services are per-user whether they want to or not.

I see.

Thanks for explaining, that makes a lot of sense to me!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]