Làm cách nào để tạo tramp + eshell sử dụng môi trường của tôi được tùy chỉnh trong điều khiển từ xa ~ / .bash_profile


9

Tôi đã thiết lập $ PATH tùy chỉnh trong ~ / .bash_profile của mình trên một máy từ xa (đối với các chương trình được người dùng cài đặt cục bộ bởi nixcabal).

Tôi sử dụng eshell và tramp để phát lệnh trên máy từ xa ( cd /remotehost:somedir; sau đó là lệnh). . lệnh trước khi kết nối bị gián đoạn.)

Thật không may, PATH tùy chỉnh của tôi không được vinh danh trong tình huống này và một số chương trình không được tìm thấy.

Điều gì sẽ là cách tốt nhất để giải quyết vấn đề này?


Câu trả lời:


6

Câu hỏi này đã được trả lời bởi rekado (cảm ơn!) (Như một câu trả lời cho một câu hỏi chung chung khác về eshell):

Bạn có thể định cấu hình TRAMP để tôn trọng biến PATH trên máy từ xa (đối với các phiên eshell từ xa) bằng cách thêm 'tramp-own-remote-pathvào danh sách 'tramp-remote-path:

(add-to-list 'tramp-remote-path 'tramp-own-remote-path)

Theo mặc định, eshell sẽ không áp dụng các cài đặt PATH từ xa.

Đối với các biến môi trường khác, không có cách tiếp cận đặc biệt nào như PATH: người ta có thể đặt chúng thông qua tramp-remote-process-environment(như được ghi lại trong https://www.gnu.org/software/emacs/manual/html_node/tramp/Remote- Processes.html ):

(add-to-list 'tramp-remote-process-environment
              (format "DISPLAY=%s" (getenv "DISPLAY")))

và tôi không biết một cách nào có thể đọc những cái được đặt trong điều khiển từ xa ~/.bash_profile. Vì vậy, bạn cần lặp lại chúng trong biến này ở phía cục bộ trong Emacs như một cách giải quyết, điều này không hoàn toàn thuận tiện vì các máy chủ từ xa khác nhau có thể cần các giá trị khác nhau.

Đối với EDITORcụ thể, tất nhiên, làm điều đó vớiwith-editor sẽ thuận tiện và thích hợp hơn.


2
Tôi không thấy rằng điều này hoạt động. Có lẽ, đó là vì tôi đã thiết lập và xuất một PATH tùy chỉnh ~/.bash_profile(trái với ~/.profile) mà tôi đã thấy trong một số tài liệu liên quan đến các tramp-*vars này ...
imz - Ivan Zakharyaschev

1
Điều này đã được sửa trong Tramp vào tháng 12 năm ngoái. Hãy thử phiên bản phát triển của Tramp.
Michael Albinus

1
Có thể đáng để chỉ ra trong câu trả lời này rằng việc thêm vào 'tramp-own-remote-pathsẽ tramp-remote-pathkhiến cho tramp mở shell đăng nhập (sử dụng -lđối số), từ đó tìm nguồn cung ứng ~/.profile- điều này có nghĩa là việc tùy chỉnh trên mỗi máy chủ có thể được thực hiện ~/.profilecho những việc khác ngoài PATH.
Noel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.