unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#71267: [TRAMP] Tramp/Emacs does not pick up PATH from login shell via Distrobox method
@ 2024-05-30  0:16 Alexis Purslane via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-05-30 10:22 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 3+ messages in thread
From: Alexis Purslane via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-30  0:16 UTC (permalink / raw)
  To: 71267


[-- Attachment #1.1: Type: text/plain, Size: 12779 bytes --]


1. Start emacs -Q.
2. Evaluate the forms
    (require 'tramp)
    (load "path/to/tramp-2.7.1/tramp-container.el")
    (tramp-enable-distrobox-method)
3. `cd' to an `/distrobox:' location via eshell, or use find-file to
    open a file through a distrobox so that your default-directory is in
    it.
4. Observe the PATH according to Emacs
5. Then run sh -l in that distrobox (either by doing distrobox enter on
    an external shell, or via eshell). Obeserve the PATH according to
    distrobox.
6. Check the /etc/profile* files inside the distrobox to see which is
    correct.

Example, from inside emacs -Q:

    ~ $ cd /distrobox:rust-latest:.
    /distrobox:rust-latest:~ $ echo $PATH
    /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
    /distrobox:rust-latest:~ $ sh -l
    $ echo $PATH
    /usr/local/cargo/bin:/usr/local/cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    $ exit
    /distrobox:rust-latest:~ $ cat /distrobox:rust-latest:/etc/profile.d/00-restore-env.sh 
    export PATH=/usr/local/cargo/bin:/usr/local/cargo/bin:$PATH
    /distrobox:rust-latest:~ $ 

This is especially odd, since, looking at the code, I'm seeing that the
distrobox method /should/ be calling sh with -l too, and thus getting
the profile settings. So I'm suspecting something inside emacs is
overriding that.
    

In GNU Emacs 29.3 (build 1, x86_64-redhat-linux-gnu, GTK+ Version
 3.24.41, cairo version 1.18.0) of 2024-04-25 built on
 cabaf4098b994f6da8ef60f3f6652faa
System Description: Fedora Linux 40.20240529.0 (Silverblue)

Configured using:
 'configure --build=x86_64-redhat-linux-gnu
 --host=x86_64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-cairo --with-dbus --with-gif
 --with-gpm=no --with-harfbuzz --with-jpeg --with-json --with-modules
 --with-native-compilation=aot --with-pgtk --with-png --with-rsvg
 --with-sqlite3 --with-tiff --with-tree-sitter --with-webp --with-xpm
 --with-xwidgets build_alias=x86_64-redhat-linux-gnu
 host_alias=x86_64-redhat-linux-gnu CC=gcc 'CFLAGS=-DMAIL_USE_LOCKF -O2
 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches
 -pipe -Wall -Werror=format-security
 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64
 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
 -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
 LDFLAGS=-Wl,-z,relro
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig CXX=g++
 'CXXFLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g
 -grecord-gcc-switches -pipe -Wall -Werror=format-security
 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64
 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
 -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: ELisp/d

Minor modes in effect:
  eshell-syntax-highlighting-global-mode: t
  global-fish-completion-mode: t
  fish-completion-mode: t
  eat-eshell-mode: t
  gnus-desktop-notify-mode: t
  server-mode: t
  elisp-def-mode: t
  highlight-defined-mode: t
  electric-pair-mode: t
  hl-line-mode: t
  display-line-numbers-mode: t
  outline-minor-mode: t
  diff-hl-mode: t
  corfu-popupinfo-mode: t
  corfu-mode: t
  editorconfig-mode: t
  eldoc-box-hover-at-point-mode: t
  yas-minor-mode: t
  hl-todo-mode: t
  ligature-mode: t
  shell-dirtrack-mode: t
  nerd-icons-completion-mode: t
  mood-line-mode: t
  spacious-padding-mode: t
  global-treesit-auto-mode: t
  global-evil-collection-unimpaired-mode: t
  evil-collection-unimpaired-mode: t
  which-key-mode: t
  marginalia-mode: t
  evil-mode: t
  evil-local-mode: t
  general-override-mode: t
  recentf-mode: t
  icomplete-vertical-mode: t
  icomplete-mode: t
  override-global-mode: t
  savehist-mode: t
  winner-mode: t
  delete-selection-mode: t
  pixel-scroll-precision-mode: t
  cua-mode: t
  apheleia-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  prettify-symbols-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/var/home/alexispurslane/.emacs.d/elpa/transient-20240525.1118/transient hides /usr/share/emacs/29.3/lisp/transient
/var/home/alexispurslane/.emacs.d/elpa/jsonrpc-1.0.25/jsonrpc hides /usr/share/emacs/29.3/lisp/jsonrpc
~/.quake.d/load/tramp-container hides /usr/share/emacs/29.3/lisp/net/tramp-container

Features:
(shadow sort mail-extr emacsbug evil-collection-vc-git vc-git
mood-line-segment-vc face-remap mule-util pcmpl-unix company-oddmuse
company-keywords company-etags etags fileloop company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb esh-autosuggest evil-collection-company company em-term
em-script em-hist em-pred em-glob em-extpipe em-basic em-banner
eshell-syntax-highlighting em-alias esh-help evil-collection-man man
em-unix fish-completion em-cmpl eshell-prompt-extras em-dirs em-ls
evil-collection-eshell em-prompt eshell esh-var esh-mode
evil-collection-eat eat evil-collection-term term ehelp color esh-cmd
generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups
esh-util mood-line-segment-modal gnus-demon nntp gnus-desktop-notify
notifications evil-collection-gnus smtpmail-async async smtpmail
gnus-registry registry eieio-base gnus-art mm-uu mml2015 mm-view
mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg
dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap
nnmail mail-source nnoo gnus-spec gnus-win gnus-int gnus-range message
sendmail yank-media puny evil-collection-dired dired dired-loaddefs
rfc822 mml mml-sec evil-collection-epa epa derived epg rfc6068
epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev gmm-utils mailheader imap rfc2104 utf7
gnus nnheader gnus-util text-property-search mail-utils range mm-util
mail-prsvr server elisp-def evil-collection-ert ert
evil-collection-debug debug backtrace evil-collection-xref xref
find-func f s dash highlight-defined elec-pair hl-line
display-line-numbers evil-collection-outline noutline outline
evil-collection-diff-hl diff-hl evil-collection-log-view log-view
pcvs-util evil-collection-vc-dir vc-dir ewoc vc vc-dispatcher
evil-collection-diff-mode diff-mode corfu-popupinfo yasnippet-capf
nerd-icons-corfu evil-collection-corfu corfu editorconfig
editorconfig-core editorconfig-core-handle editorconfig-fnmatch
yasnippet eldoc-box hl-todo ligature project tramp-sh tramp-container
tramp-cache time-stamp tramp tramp-loaddefs trampver tramp-integration
files-x tramp-compat shell pcomplete evil-collection-comint comint
ansi-osc parse-time iso8601 format-spec ansi-color time
nerd-icons-completion evil-collection-dashboard dashboard
dashboard-widgets nerd-icons nerd-icons-faces nerd-icons-data
nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon
nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon
nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon ffap mood-line
spacious-padding doom-gruvbox-theme doom-themes doom-themes-base
treesit-auto evil-textobj-tree-sitter
evil-textobj-tree-sitter-thing-at-point evil-collection-unimpaired
evil-collection-which-key evil-collection-tabulated-list
evil-collection-tab-bar evil-collection-simple evil-collection-replace
evil-collection-process-menu evil-collection-package-menu
evil-collection-info evil-collection-indent evil-collection-help
evil-collection-elisp-mode evil-collection-eldoc evil-collection-custom
evil-collection-buff-menu evil-collection annalist which-key orderless
marginalia compat evil-textobj-tree-sitter-core evil evil-keybindings
evil-integration evil-maps evil-commands reveal evil-jumps
evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core comp comp-cstr warnings advice
evil-common thingatpt rect evil-vars treesit general
use-package-diminish recentf tree-widget icomplete edmacro kmacro
finder-inf use-package-bind-key bind-key disp-table savehist winner
delsel pixel-scroll cua-base ring cus-edit pp cus-load icons wid-edit
cl-extra help-mode time-date use-package-ensure use-package-core rx
apheleia-autoloads easy-mmode async-autoloads breadcrumb-autoloads
consult-notes-autoloads consult-autoloads corfu-autoloads dape-autoloads
darkroom-autoloads dashboard-autoloads denote-autoloads
diff-hl-autoloads doom-themes-autoloads eat-autoloads
editorconfig-autoloads eldoc-box-autoloads elisp-def-autoloads
elisp-demos-autoloads embark-autoloads esh-autosuggest-autoloads
company-autoloads esh-help-autoloads eshell-prompt-extras-autoloads
eshell-syntax-highlighting-autoloads evil-collection-autoloads
annalist-autoloads evil-org-autoloads evil-textobj-tree-sitter-autoloads
fish-completion-autoloads flymake-proselint-autoloads general-autoloads
gnus-desktop-notify-autoloads helpful-autoloads elisp-refs-autoloads
f-autoloads highlight-defined-autoloads hl-todo-autoloads
jsonrpc-autoloads latex-preview-pane-autoloads ligature-autoloads
magit-autoloads pcase git-commit-autoloads magit-section-autoloads
marginalia-autoloads markdown-mode-autoloads mood-line-autoloads
nerd-icons-completion-autoloads nerd-icons-corfu-autoloads
nerd-icons-autoloads orderless-autoloads org-mime-autoloads
org-static-blog-autoloads pandoc-mode-autoloads
spacious-padding-autoloads transient-autoloads treemacs-evil-autoloads
treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads
hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads
avy-autoloads s-autoloads dash-autoloads evil-autoloads
goto-chg-autoloads treesit-auto-autoloads which-key-autoloads
with-editor-autoloads info compat-autoloads yasnippet-capf-autoloads
yasnippet-autoloads package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads
xwidget-internal dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 555112 158275)
 (symbols 48 34237 8)
 (strings 32 135897 9989)
 (string-bytes 1 4706230)
 (vectors 16 68681)
 (vector-slots 8 1363880 92855)
 (floats 8 893 282)
 (intervals 56 2083 512)
 (buffers 984 25))

[-- Attachment #1.2: publickey - alexispurslane@pm.me - 0x41E61568.asc --]
[-- Type: application/pgp-keys, Size: 701 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#71267: [TRAMP] Tramp/Emacs does not pick up PATH from login shell via Distrobox method
  2024-05-30  0:16 bug#71267: [TRAMP] Tramp/Emacs does not pick up PATH from login shell via Distrobox method Alexis Purslane via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-30 10:22 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found]   ` <GjS8FW_Pw5njQHBxoQLh35jRfhZ-6IMq_OuSuxrMM23KTPTGPsSsVTEKVocTGAQjyCHMoRj5U0FwSBvkp60PnHm37rYFN8V7tbkQw1M9ss8=@pm.me>
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-30 10:22 UTC (permalink / raw)
  To: 71267; +Cc: alexispurslane

Alexis Purslane via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <bug-gnu-emacs@gnu.org> writes:

Hi Alexis,

> 1. Start emacs -Q.
> 2. Evaluate the forms
>     (require 'tramp)
>     (load "path/to/tramp-2.7.1/tramp-container.el")
>     (tramp-enable-distrobox-method)
> 3. `cd' to an `/distrobox:' location via eshell, or use find-file to
>     open a file through a distrobox so that your default-directory is in
>     it.
> 4. Observe the PATH according to Emacs
> 5. Then run sh -l in that distrobox (either by doing distrobox enter on
>     an external shell, or via eshell). Obeserve the PATH according to
>     distrobox.
> 6. Check the /etc/profile* files inside the distrobox to see which is
>     correct.

See the Tramp manual at (info "(tramp) Remote programs")

You need to add tramp-own-remote-path to tramp-remote-path as described there.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#71267: [TRAMP] Tramp/Emacs does not pick up PATH from login shell via Distrobox method
       [not found]   ` <GjS8FW_Pw5njQHBxoQLh35jRfhZ-6IMq_OuSuxrMM23KTPTGPsSsVTEKVocTGAQjyCHMoRj5U0FwSBvkp60PnHm37rYFN8V7tbkQw1M9ss8=@pm.me>
@ 2024-05-30 11:38     ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-30 11:38 UTC (permalink / raw)
  To: alexis purslane; +Cc: 71267-done

alexis purslane <alexispurslane@pm.me> writes:

Hi Alexis,

> Thank you, I'll check the manual more carefully next time. I had that
> variable in the wrong position in my config (before tramp was loaded),
> so it seemed like it was a NOP and got confused. Sorry for so many
> spurious bug reports in so short a time. I'll be more careful in
> future.

Reporting something which is not a bug is not a problem. What drives me
crazy is that you again and again remove the Cc. This makes my work
harder, because this Cc is also used to manipulate the bug status. It
takes me more time to correct this manually, than the answer itself.

Closing the bug.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-05-30 11:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-30  0:16 bug#71267: [TRAMP] Tramp/Emacs does not pick up PATH from login shell via Distrobox method Alexis Purslane via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-30 10:22 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]   ` <GjS8FW_Pw5njQHBxoQLh35jRfhZ-6IMq_OuSuxrMM23KTPTGPsSsVTEKVocTGAQjyCHMoRj5U0FwSBvkp60PnHm37rYFN8V7tbkQw1M9ss8=@pm.me>
2024-05-30 11:38     ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).