GNU bug report logs - #42600
/etc/profile not being sourced from interactive non-login shell

Previous Next

Package: guix;

Reported by: Kyle Andrews <kyle.c.andrews <at> gmail.com>

Date: Wed, 29 Jul 2020 15:19:02 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 42600-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Kyle Andrews <kyle.c.andrews <at> gmail.com>
Cc: 42600-done <at> debbugs.gnu.org
Subject: Re: bug#42600: /etc/profile not being sourced from interactive
 non-login shell
Date: Wed, 13 Jul 2022 22:52:06 -0400
Hello Kyle,

Kyle Andrews <kyle.c.andrews <at> gmail.com> writes:

> Despite what it says in my ~.bashrc~, if I start a shell from Emacs with
> the elisp below, then `guix describe` does not work:
>
>   (let ((default-directory "/ssh:me <at> remote:/home/me"))
>       (shell "*shell<remote>*"))

It works for me:

/ssh:raisin:/home/mcournoyer/ #$ guix describe
  guix 598f728
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 598f7289db9955584457ffc11c8504f3938a1618

The remote machine is a Guix System though.  If it as something else, it
could be more tricky, as then the shell used may not be Bash *compiled
with a non-default option* [0] to source ~/.bashrc on SSH connections.

[0]  https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/bash.scm#n109

To force interactive mode, you could also use 'ssh remote bash -l'.
I've also written script with the shebang:

#/usr/bin/env -S bash -l

This works where 'env' is new enough to accept -S.  Useful in Jenkins
shell snippets for example.

Anyway, I hope that helps.  I don't see a bug here.

Closing.

Maxim




This bug report was last modified 2 years and 310 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.