OSX Terminal hiển thị tên máy chủ không chính xác


30

Khi tôi mở Terminal, tôi hy vọng nó sẽ hiển thị những gì PS1 của tôi được đặt thành \h:\W \u\$.

Tuy nhiên, nó không hiển thị tên máy chủ của tôi Eriks-MacBook, như được hiển thị trong Tùy chọn hệ thống.

Thay vào đó, nó hiển thị một chuỗi ngẫu nhiên unknownb88d120cd4b2.

Làm thế nào điều này có thể được sửa chữa hoặc thiết lập lại?

Máy này hoàn toàn mới và tùy chọn / cài đặt chưa được thay đổi.


Nhập hostnamevào dấu nhắc và nhấn enter. Bạn được những gì?
Máy xay sinh tố

unknownb88d120cd4b2: ~ erik $ hostname unknownb88d120cd4b2 unknownb88d120cd4b2: ~ erik $

Nhưng đó không phải là tên máy tính của tôi trong System Prefs - Sharing. Tôi đã thay đổi nó từ mặc định thành "erik-mba" với hy vọng điều đó sẽ có ích, nhưng không có xúc xắc.

Câu trả lời:


25

Gordon đưa ra một câu trả lời tốt cho nguồn gốc của tên máy chủ của bạn.

Nếu bạn muốn tên mà bạn đặt trong Tùy chọn hệ thống -> Chia sẻ -> Tên máy tính hiển thị trong lời nhắc của bạn, hãy thay thế \hbằng $(scutil --get ComputerName). Ví dụ: lời nhắc của tôi được đặt với

PS1="[\u@:$(scutil --get ComputerName) \W]\\$ "

19

Terminal đang hiển thị cho bạn nhãn đầu tiên của tên máy chủ BSD của bạn (giả sử vỏ của bạn là BASH). Nếu tên máy chủ BSD của bạn là yourhostname.mynetwork.comTerminal sẽ chỉ hiển thị yourhostname-

Vậy tên máy chủ BSD đến từ đâu? Nó có thể đến từ một số nơi:

• từ tệp: /etc/hostconfig

• khác từ tệp: /Library/Preferences/SystemConfiguration/preferences.plist( Hệ thống ▸ Hệ thống ▸ Tên máy chủ )

• khác kết quả của một truy vấn DNS ngược cho địa chỉ IP chính của bạn (vì vậy bạn có thể nhận thấy một tên máy chủ hoàn toàn khác hiển thị khi bạn truy cập một quán cà phê internet so với khi được kết nối tại nhà)

• khác tên máy chủ "Bonjour" của bạn trong Tùy chọn hệ thống> Chia sẻ ( preferences.plistmột lần nữa ... Hệ thống ▸ Mạng Tên máy chủ LocalhostName )

• cuối cùng, nếu không có điều nào ở trên được đặt, tên máy chủ BSD sẽ chỉ đơn giản là localhost

Nhân tiện, tôi đã trả lời cùng một câu hỏi trước đây: Mac OS X Terminal - tên nhắc đến từ đâu


1
Có thể việc tra cứu DNS ngược được ưu tiên hơn tất cả các cấu hình khác trên hệ thống của tôi không?
caesarsol

Tôi đã kiểm tra trên hệ thống của riêng mình: / etc / hostconfig không tồn tại. Preferences.plist System ▸ System HostName không được xác định (mặc dù ComputerName là). Tra cứu DNS ngược trả về sự thay đổi mà tôi thấy trong cửa sổ đầu cuối của mình. Hệ thống ▸ Mạng ▸ Tên máy chủ ▸ LocalhostName được xác định. Vì vậy, nếu hệ thống của bạn hiển thị giống như của tôi, thì việc tra cứu DNS ngược là trận đấu đầu tiên và được ưu tiên hơn LocalhostName .
Edward Falk

12

OS X thử một số thứ để tìm "tên máy chủ" của nó. Thật không may, tôi không biết danh sách chính xác (và thứ tự), nhưng tôi nghĩ điều đang xảy ra ở đây là nó phát hiện ra một tên DNS được liên kết với địa chỉ IP của nó và sử dụng tên đó thay vì tên Bonjour mà nó tự quảng cáo (tên được xác định trong Chia sẻ sở thích).

Vậy tại sao nó lại tìm thấy một tên DNS? Tôi đoán là bộ định tuyến / máy chủ DHCP / máy chủ DNS cục bộ của bạn đang tự động gán cho nó một cái, dựa trên địa chỉ phần cứng ethernet của nó (có lẽ là b8: 8d: 12: 0c: d4: b2). Bạn có thể điều chỉnh các cài đặt của bộ định tuyến để ngăn nó thực hiện việc này hoặc có thể bạn có thể đặt ID máy khách DHCP của máy tính (trong Tùy chọn mạng, Cài đặt nâng cao) để kiểm soát tên mà nó gán cho bạn.


2
Điều này là hữu ích nhất đối với tôi. Máy của tôi đang hiển thị hành vi này, điểm mấu chốt, dường như nó đã thay đổi tên KHÔNG THỂ, vì tôi chưa bao giờ thấy một tên khác trước đây. Vì vậy, tôi chỉ lãng phí 90 phút để kiểm tra virus và các vấn đề về đĩa và như vậy. Vui mừng khi biết tôi có thể ngừng lãng phí thời gian một cách an toàn.
conspiritech

1

Không chắc bạn có còn gặp sự cố hay không, điều này dường như đã được khắc phục trong khoảng thời gian giữa Yosemite và Sierra.

Đối với máy tính mới, tôi bắt đầu với Tùy chọn hệ thống chia sẻ, nhập [tên mới] làm Tên máy tính mong muốn. Tôi cũng nhập [tên mới] trong tất cả các trường ID máy khách DHCP đang hoạt động cho mỗi giao diện mạng. Sau khi hoàn thành, tôi mở Terminal để xác nhận nó báo cáo một tên tương tự, một số ký tự không được phép để hệ thống sẽ sửa đổi tên nếu cần. Bạn có thể thay đổi tên bằng các bước bên dưới, chỉ cần thay thế khối [tên mới] bằng tên máy tính bạn muốn.

  1. Thiết bị đầu cuối mở
  2. Tại dấu nhắc, nhập thông tin sau - sudo scutil --set HostName [tên mới]
  3. Mở cửa sổ Terminal mới để xác nhận tên mới đã được chấp nhận.

Nếu tên không theo ý thích của tôi, tôi tiến hành như trên trước khi ràng buộc nó với Active Domain.

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.