2012-05-05 27 views
6

Tôi đang sử dụng Aquamacs (biểu tượng emacs đồ họa cho OSX sử dụng emacs 24 và tramp phiên bản 2.2.3) để chỉnh sửa một số tệp trên máy chủ từ xa. Tramp được thiết lập để sử dụng ssh và hoạt động tốt trong điều khoản chỉnh sửa tệp.Tramp sử dụng ssh không có nguồn .bash_profile/.profile

Không thành công khi biên dịch vì trình biên dịch không nằm trong đường dẫn. Dường như tramp không nguồn bất kỳ tệp hồ sơ nào như .profile hoặc .bash_profile. /bin/sh là một liên kết đến/bin/bash nên bash phải là shell được sử dụng bởi tramp. Một trình bao bắt đầu trong các emacs trên máy chủ từ xa cũng sẽ không có nguồn gì cả. Kết nối ssh từ trình mô phỏng thiết bị đầu cuối thông thường (đã thử Thiết bị đầu cuốiX11 trên OS X) hoạt động như mong đợi (mọi thứ có nguồn chính xác).

Bất kỳ ý tưởng nào?

+0

Một vấn đề có liên quan tại http://emacs.stackexchange.com: [Làm thế nào để làm cho kẻ lang thang + eshell sử dụng của tôi môi trường được tùy chỉnh trong ~/.bash_profile từ xa] (http://emacs.stackexchange.com/q/7673/5165). –

Trả lời

2

/bin/sh là liên kết đến/bin/bash nên bash phải là vỏ được sử dụng bởi tramp.

Nó không giống nhau. Khi được gọi là "sh", nó sẽ hoạt động như sh và không phải là bash, do đó các tệp bash/hồ sơ cụ thể của bash (ví dụ: ~/.bash_profile, ~/.bashrc) sẽ không được lấy nguồn. Tuy nhiên ~/.profile sẽ được đọc. Vấn đề của bạn có thể là bạn đang sử dụng cú pháp bash để thiết lập nội dung trong ~/.profile của bạn.

này sẽ không làm việc:

export PATH=/some/path:$PATH 

Nhưng điều này sẽ:

PATH=/some/path:$PATH 
export PATH 
+8

Trong trường hợp của tôi, hồ sơ hoàn toàn bị bỏ qua. Tìm nguồn cung ứng bằng tay khi được gọi/bin/sh thực tế dẫn đến một đường dẫn chính xác nhưng trên tramp của nó có vẻ không phải là nguồn ~/.profile. – Julian

+0

Tôi không chắc liệu đặt 'xuất PATH' trên một dòng riêng biệt trong' ~/.profile' hoặc '~/.bash_profile' sẽ làm cho tramp hiểu nó, nhưng tôi đã cố gắng để làm cho' EDITOR' được đặt bởi tramp trong một tương tự như vậy, và nó không hoạt động trong '~/.profile' hay' ~/.bash_profile', vì vậy tôi đã thiết lập lại nó một lần nữa thông qua 'tramp-remote-process-environment', như tôi đã nói trong https: //emacs.stackexchange.com/a/7685/5165, 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. –

Các vấn đề liên quan