Dấu hỏi (và các mục menu bật lên bị vô hiệu hóa) cho biết Terminal nghĩ rằng thư mục làm việc nằm trên một máy tính từ xa, và do đó bạn không thể điều hướng đến nó trong Finder bằng menu bật lên. Nếu bạn nhìn vào mục cuối cùng trong menu bật lên (Nhấp chuột vào biểu tượng proxy proxy), bạn sẽ thấy máy tính / máy chủ mà Terminal nghĩ rằng thư mục làm việc đang bật. Bạn sẽ thấy rằng đó không phải là tên hiện tại của máy tính.
Nếu bạn đang sử dụng bash (shell mặc định trên macOS), theo mặc định, nó sẽ gửi một chuỗi điều khiển đến thiết bị đầu cuối tại mỗi dấu nhắc để báo cho Terminal thư mục làm việc hiện tại. Do các chuỗi điều khiển có thể đến từ các máy tính cục bộ hoặc từ xa, nên nó sẽ gửi một tệp tin: URL lược đồ có tên là máy chủ lưu trữ và Terminal xác minh rằng tên ánh xạ tới máy hiện tại. Nếu không, Terminal sẽ vô hiệu hóa các mục menu bật lên đường dẫn, vì chúng không tương ứng với các thư mục cục bộ.
Bạn có thể thấy mã gửi chuỗi điều khiển trong /etc/bashrc_Apple_Terminal
(hoặc /etc/bashrc
trên các phiên bản cũ hơn của macOS).
[Lưu ý rằng nếu bạn không sử dụng bash hoặc bạn đã tùy chỉnh nó để hành vi mặc định không xảy ra, nhưng trình bao của bạn (hoặc một số chương trình khác bạn đang chạy) đang gửi các chuỗi điều khiển để đặt cửa sổ hoặc tab ( biểu tượng) tiêu đề, Terminal sẽ kiểm tra xem nó có chứa tên giống như tên đường dẫn hay không, và sau đó nó kiểm tra xem nó có tương ứng với tên đường dẫn cục bộ hợp lệ hay không. Nếu không, nó hoàn toàn không hiển thị biểu tượng proxy cửa sổ.]
Một tình huống trong đó Terminal có thể không nhận ra rằng tập tin: URL URL nằm trên máy chủ hiện tại là nếu bạn thay đổi cấu hình mạng của mình trong khi trình bao đang chạy. Một trường hợp phổ biến là đặt một máy tính xách tay để ngủ và di chuyển đến một vị trí khác, sau đó đánh thức nó. Tên và địa chỉ máy chủ lưu trữ cục bộ sẽ thay đổi, nhưng $HOSTNAME
biến môi trường của shell vẫn có tên máy chủ cũ và đó là những gì nó gửi trong chuỗi điều khiển. Để khắc phục điều này, hãy cập nhật biến môi trường với:
HOSTNAME=$(hostname)
Một kịch bản khác là bạn thoát Terminal, thay đổi cấu hình mạng, sau đó mở Terminal khi bật Resume. Terminal sẽ khôi phục các cửa sổ và tab, cùng với URL thư mục làm việc cuối cùng mà mỗi URL được gửi. Nếu bạn gặp phải trường hợp này, $HOSTNAME
sẽ cập nhật liên tục vì nó bắt đầu một shell mới, nhưng Terminal vẫn có thể có một URL cũ cho đến khi bạn có được shell để cập nhật lại. Nếu hiển thị dấu nhắc lệnh không giải quyết được vấn đề, hãy thử thay đổi thư mục cd
để lấy shell để cập nhật nó.