[Top][All Lists]

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

bug#48974: closed (A possible shepherd bug (it's very minor))

From: GNU bug Tracking System
Subject: bug#48974: closed (A possible shepherd bug (it's very minor))
Date: Tue, 06 Jul 2021 00:01:01 +0000

Your message dated Mon, 05 Jul 2021 19:59:43 -0400
with message-id <87zgv01fdc.fsf@dismail.de>
and subject line Re: bug#48974: A possible shepherd bug (it's very minor)
has caused the debbugs.gnu.org bug report #48974,
regarding A possible shepherd bug (it's very minor)
to be marked as done.

(If you believe you have received this mail in error, please contact

48974: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=48974
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: A possible shepherd bug (it's very minor) Date: Sat, 12 Jun 2021 09:26:23 -0400

I've had this issue every since I enabled automatic login on my guix
system like so:

#+BEGIN_SRC scheme
(define %my-desktop-services
    (mingetty-service-type config =>
                            (inherit config)
                            ;;auto login as joshua
                            (auto-login "joshua")))))

   (services (list %my-desktop-services)))

This is the "error message"

This is the GNU system.  Welcome
dobby login: joshua (automatic login)
This is the GNU operating system, welcome!

Cannot make/remove an entry for the specified session

Essentially, mingetty tries to auto log me in, but I am using desktop
services.  So mingetty tries to log me in, before many of the desktop
services are started.  However, I guess this doesn't work.  Meaning,
my autostart sway script is NOT run, until AFTER all of the desktop
services are started.  WHICH IS PROBABLY A GOOD IDEA.  I would rather
log in, when my desktop services have started, not before.

BUT the minor issue is that after I log in, =users= reports:

joshua@dobby ~> users
joshua joshua joshua joshua joshua joshua

So it looks like 6 versions of myself are logged in by the time I am
officially logged in and I auto start sway via .bash_profile:

# Honor per-interactive-shell startup file
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

# shepherd

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
    export GUIX_PACKAGE_PATH=/home/joshua/prog/gnu/guix/guix-packages/
    # this may fix a bug that I have with termite confusing backspace as space 
in guix environment
    # export TERM=linux
    shepherd -c /home/joshua/.config/shepherd/init.scm &
    exec dbus-run-session sway

I'm guessing the root cause is that the shepherd starts most services
sequentially at the moment.  Anyway, I thought I'd share a minor issue
with you all!


Joshua Branson

--- End Message ---
--- Begin Message --- Subject: Re: bug#48974: A possible shepherd bug (it's very minor) Date: Mon, 05 Jul 2021 19:59:43 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Leo Prikler <leo.prikler@student.tugraz.at> writes:

> Hi,
> Am Freitag, den 02.07.2021, 18:57 -0400 schrieb Joshua Branson:
>> Leo Prikler <leo.prikler@student.tugraz.at> writes:
>> > Am Freitag, den 25.06.2021, 14:06 -0400 schrieb Joshua Branson:
>> > > Leo Prikler <leo.prikler@student.tugraz.at> writes:
>> > > 
>> > > > Hi,
>> > > > 
>> > > > Am Freitag, den 25.06.2021, 05:31 -0400 schrieb Joshua Branson:
>> > > > > Leo Prikler <leo.prikler@student.tugraz.at> writes:
>> > > 
>> > > Thanks again!  The current code doesn't quite work for me
>> > > yet.  I'll
>> > > try using match-lambda to define it.  I'll post again when I have
>> > > a
>> > > free moment.  When i get it working, I'll send a patch to the
>> > > manual
>> > > via guix-patches and CC you.  Is that ok?  Or would you rather
>> > > that
>> > > documentation be in the cookbook?
>> > Did I make a mistake or does it do the job only in a somewhat
>> > inelegant
>> > way?  I'm perfectly fine with the latter as I'm not the one using
>> > the
>> > code :P
>> I've got some code now that works!
>> #+BEGIN_SRC scheme
>> (define (auto-login-to-tty tty user config)
>>   (if (string=? tty (mingetty-configuration-tty config))
>>         (mingetty-configuration
>>          (inherit config)
>>          (auto-login user))
> Why do you need to inherit the config, when it doesn't change?  Seems
> like a pointless allocation to me.
>>         (mingetty-configuration
>>          (inherit config))))
>> ;; allegedly %desktop-services now contains network-manager-
>> applet...?  Can I remove that?
> Not with modify-services, but there's some filter example in the manual
> as well.
>> (define %my-desktop-services
>>   (modify-services %desktop-services ;;end of remove services
>>     (mingetty-service-type config =>
>>                            (auto-login-to-tty "3" "joshua" config))))
>> #+END_SRC
>> > I think the cookbook is a better destination for stuff like this.
>> I agree, but we should also probably fix the manual:
>> 10.1 Using the Configuration System
>> ===================================
>> System Services
>>    For example, suppose you want to modify ‘guix-daemon’ and Mingetty
>> (the console log-in) in the ‘%base-services’ list (*note
>> ‘%base-services’: Base Services.).  To do that, you can write the
>> following in your operating system declaration:
>>      (define %my-services
>>        ;; My very own list of services.
>>        (modify-services %base-services
>>          (guix-service-type config =>
>>                             (guix-configuration
>>                              (inherit config)
>>                              ;; Fetch substitutes from example.org.
>>                              (substitute-urls
>>                                (list "https://example.org/guix";
>>                                      "https://ci.guix.gnu.org";))))
>>             ;; it looks like the manual is telling you to set up
>>             ;; auto login on ALL ttys.
>>          (mingetty-service-type config =>
>>                                 (mingetty-configuration
>>                                  (inherit config)
>>                                  ;; Automatially log in as "guest".
>>                                  (auto-login "guest")))))
>>      (operating-system
>>        ;; ...
>>        (services %my-services))
>> How about I delete that section in the manual about automatic login
>> and
>> instead add this to the cookbook?
> No.  Read on, the manual clearly states that this affects *all* TTYs. 
> Presumably the guest user only has access to su and logout, maybe guix,
> but in any case they ought not to have access to anyone's $HOME, not
> even their own.
> The thing we've coded up here is a more involved process to solve a
> particular problem rather than a general demo of what services can do
> and thus belongs to the cookbook.
> Regards,
> Leo

Joshua Branson (joshuaBPMan in #guix)
Sent from Emacs and Gnus
  "You can have whatever you want, as long as you help
enough other people get what they want." - Zig Ziglar

--- End Message ---

reply via email to

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