Ketika saya membuka Terminal, saya berharap untuk menunjukkan apa yang diatur PS1 saya \h:\W \u\$
.
Namun itu tidak menampilkan nama host saya Eriks-MacBook
, seperti yang ditampilkan di System Preferences.
Sebaliknya, ini menunjukkan string acak unknownb88d120cd4b2
.
Bagaimana ini bisa diperbaiki atau diatur ulang?
Mesin ini baru, dan preferensi / pengaturan belum berubah.
hostname
ke prompt dan tekan enter. Mendapatkan apa?Jawaban:
Gordon memberikan jawaban yang bagus untuk asal usul nama host Anda.
Jika Anda ingin nama yang Anda atur di System Preferences -> Sharing -> Computer Name muncul di prompt Anda, ganti
\h
dengan$(scutil --get ComputerName)
. Misalnya prompt saya diatur dengansumber
Terminal menunjukkan Anda label pertama dari nama host BSD Anda (dengan asumsi shell Anda adalah BASH). Jika nama host BSD Anda
yourhostname.mynetwork.com
maka Terminal hanya akan menampilkanyourhostname
-Jadi dari mana datangnya nama host BSD? Itu bisa datang dari beberapa tempat:
• dari file:
/etc/hostconfig
• lain dari file:
/Library/Preferences/SystemConfiguration/preferences.plist
( Sistem ▸ Sistem ▸ Nama Host )• selain itu hasil dari kueri DNS terbalik untuk alamat IP utama Anda (sehingga Anda mungkin melihat nama host yang sama sekali berbeda muncul ketika Anda mengunjungi warung internet daripada ketika terhubung di rumah)
• lain nama host "Bonjour" Anda di Preferensi Sistem> Berbagi (
preferences.plist
lagi ... Sistem ▸ Jaringan ▸ Nama Host ▸ LocalHostName )• akhirnya, jika tidak ada di atas yang ditetapkan, nama host BSD akan sederhana
localhost
Ngomong-ngomong, saya menjawab pertanyaan yang sama beberapa waktu lalu di sini: Terminal Mac OS X - dari mana nama prompt datang
sumber
OS X mencoba sejumlah hal untuk menemukan "nama host" -nya. Sayangnya saya tidak tahu daftar persis (dan urutan), tapi saya pikir apa yang terjadi di sini adalah bahwa ia menemukan nama DNS yang terkait dengan alamat IP-nya, dan menggunakan itu alih-alih nama Bonjour itu iklankan untuk dirinya sendiri (yang ditentukan dalam Preferensi berbagi).
Jadi mengapa menemukan nama DNS? Dugaan saya adalah bahwa router / server DHCP / server DNS lokal Anda secara dinamis menetapkannya, berdasarkan alamat perangkat keras ethernetnya (mungkin b8: 8d: 12d: 12c: d4: b2). Anda mungkin dapat menyesuaikan pengaturan router untuk menghentikannya melakukan hal ini, atau Anda mungkin dapat mengatur ID klien DHCP komputer (dalam Preferensi Jaringan, Pengaturan lanjutan) untuk mengontrol nama yang diberikannya kepada Anda.
sumber
Tidak yakin apakah Anda masih mengalami masalah atau tidak, ini tampaknya telah diperbaiki antara Yosemite dan Sierra.
Untuk komputer baru saya mulai dengan Preferensi Sistem Berbagi, memasukkan [nama baru] sesuai dengan Nama Komputer yang diinginkan. Saya juga memasukkan [nama baru] di semua bidang ID Klien DHCP yang aktif untuk setiap antarmuka jaringan. Setelah selesai saya membuka Terminal untuk mengonfirmasi bahwa ia melaporkan nama yang sama, beberapa karakter tidak diizinkan sehingga sistem akan mengubah nama jika perlu. Anda dapat mengubah nama menggunakan langkah-langkah di bawah ini, cukup ganti blok [nama baru] dengan nama komputer yang Anda inginkan.
Jika namanya tidak sesuai dengan keinginan saya, saya melanjutkan dengan yang di atas sebelum mengikatnya ke Domain Aktif.
sumber