Subject: Re: bug#27386: offloading documentation and env

From: ng0 <[email-masked]>
Date: Tue, 27 Jun 2017 20:31:36 +0000

Ludovic Courtès transcribed 2.2K bytes:
> ng0 <[email-masked]> skribis:
> 
> > Ludovic Courtès transcribed 2.8K bytes:
> 
> [...]
> 
> >> >> The test is to run something like:
> >> >> 
> >> >>   $ ssh localhost env |grep GUILE_
> >> >>   GUILE_LOAD_COMPILED_PATH=/home/ludo/.guix-profile/lib/guile/2.2/site-ccache:/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
> >> >>   GUILE_LOAD_PATH=/home/ludo/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
> >> >> 
> >> >> and you should see /run/current-system/profile/share/guile/site/2.2.  If
> >> >> not, you’ll have to add it somehow.
> >> 
> >> What does the above give for you?
> >> 
> >> HTH,
> >> Ludo’.
> >
> > This is issued from computer A (abyayala) to computer B (shadownet).
> >
> > user@abyayala ~$ ssh shadownet env |grep GUILE_
> > GUILE_LOAD_COMPILED_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/lib/guile/2.2/site-ccache:/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2
> > GUILE_LOAD_PATH=/gnu/store/m91mxi586pi2qshzys9zfsmzij8nf547-profile/share/guile/site/2.2
> 
> The problem here is that
> /run/current-system/profile/share/guile/site/2.2, which is where the
> Guix modules are on GuixSD as I wrote above, is missing from the search
> path.
> 
> The session started when you run “ssh shadownet env” does not spawn a
> login shell; thus ~/.profile and similar are *not* sourced.  I’m using

I was aware of this, but I thought we had (guix) available nevertheless
and I was just pushing the wrong buttons.

> Bash, so on my accounts, I have this in .bashrc (‘.bashrc’ is for
> non-login shells):
> 
> --8<---------------cut here---------------start------------->8---
> if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
> then
>     # We are being invoked from a non-interactive SSH session
>     # (as in "ssh host command") but 'cat' cannot be found
>     # in $PATH.  Source /etc/profile so we get $PATH and other
>     # essential variables.
>     source /etc/profile
> fi
> --8<---------------cut here---------------end--------------->8---
> 
> That way, “ssh HOST COMMAND” effectively gets the same environment as a
> login shell.

I use the same on this computer, but at the end of it I source some
files, among them ~/.guix-profile/etc/profile

I would guess that sourcing ~/.guix-profile/etc/profile gets into
the way and that moving this to .bash_profile could fix the issue.

What do you think?

> If you’re using a different shell, then make sure its startup file does
> something similar.
> 
> HTH!
> 
> Ludo’.
> 
> 
> 
> 

-- 
ng0
OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
infotropique: https://www.infotropique.org
personal: https://ng-0.github.io https://krosos.org/