Nama komputer saya di System Preferences> sharing diatur ke "archos" tetapi ditampilkan sebagai "iphone" di terminal. Itu baru mulai melakukan ini setelah saya memuat Xcode untuk melakukan pengembangan iPhone.
Last login: Mon Nov 7 14:46:55 on ttys001
iphone:~ travis$
Apakah anda mengetahui apa yang bisa menyebabkan ini terjadi?
Jawaban:
Ini sangat normal untuk ini terjadi; ketika Anda masuk Terminal bash jarak jauh melakukan pencarian DNS terbalik. Hanya akan sama jika nama host tidak ditentukan pada jaringan yang Anda hubungkan dan tidak ada balasan dari server DHCP, atau pencarian sebaliknya terhadap server DNS jauh gagal diselesaikan.
Anda dapat dengan mudah menaiki pengaturan default dengan menggunakan perintah ini di Terminal:
Anda dapat memeriksanya dengan menggunakan:
(di mana nn menandakan alamat IP Mac Anda)
sumber
sudo scutil --set HostName ''
.HostName
tidak disarankan, karena itu menciptakan nilai terpisah yang kemudian tetap ada bahkan ketika Anda kemudian mencoba mengubah nama host melaluiSystem Preferences > Sharing
. Sebaliknya, pengaturanLocalHostName
memperbarui nilai yang sama, dan biasanya juga diambil oleh shell danhostname
(ComputerName
nilai harus diperbarui bersama-sama). Atau apakah pengaturanHostName
berperilaku berbeda dengan cara yang menguntungkan di sini?hostname -f
Anda mungkin juga ingin mengubah beberapa hal lain menggunakan perintah scutil:
sumber
scutil
untuk mengaturHostName
, keduanyaComputerName
danLocalHostName
sudah diatur ke nama baru untuk saya (di Mavericks). Senang mengetahui bahwa ada pengaturan lain ini.HostName
, karena hal itu akan membuat nilai itu tetap ada bahkan ketika Anda kemudian mencoba mengubah nama host Anda melalui System Preferences . Sebaliknya,LocalHostName
yaitu dijemput oleh shell danhostname
, sehinggaHostName
tidak pernah diperlukan.sudo scutil --set LocalHostName ''
LocalHostName yang dihapus dan sekarang prompt saya menggunakan ComputerName, yang memiliki nilai yang benar.Ada dua alasan potensial untuk shell (
$HOSTNAME
variabel,'\h'
dalam$PS1
) danhostname
utilitas untuk melaporkan nama host yang berbeda dari yang ditunjukkan padaSystem Preferences > Sharing
:sudo scutil --set HostName newName
digunakan untuk secara terus-menerus mengubah nama host - sayangnya, nilai ini tidak tergantung padaLocalHostName
nilai yang ditetapkan oleh System Preferences di belakang layar - meskipunman hostname
menyarankan metode ini, JANGAN GUNAKANNYA karena alasan itu; jalankansudo scutil --set HostName ''
untuk menghapusnya , pada titik manaLocalHostName
harus dilaporkan lagi; untuk latar belakang, lihat posting ini oleh @Luriuri Ranta.[ Update: Berikut ini adalah tidak lagi benar sebagai OSX 10.10 ] Jika Anda
/etc/hosts
berkas memiliki sebuah entri yang cocok dengan alamat IP mesin Anda, bahwa nama entri akan dilaporkan.Hanya jika tidak satu pun di atas yang benar yang akan shell dan
hostname
mencerminkan nilai yang ditetapkan melalui System Preferences.Jika Anda ingin mengubah nama host Anda dari shell , jalankan kedua hal berikut:
sudo scutil --set LocalHostName <newName>
sudo scutil --set ComputerName <newFriendlyName>
di mana
<newFriendlyName>
bisa menjadi versi yang lebih ramah (spasi, tanda baca) dari<newName>
(hanya alfanumerik dan tanda hubung).sumber
sudo scutil --set HostName ''
lebih dulu (penting) dan memastikan tidak ada entri/etc/hosts
?scutil --get HostName
harus melaporkanHostname: not set
.scutil --get HostName HostName: not set
/ etc / hosts sepertinya jinak ...PS1
variabel Anda tidak memiliki nama host yang dikodekan daripada menggunakan\h
, bukan? Sebagai tambahan:/etc/hosts
tidak lagi dikonsultasikan pada OSX 10.10 (saya telah memperbarui jawaban saya).sudo scutil --set HostName ''
sekali lagi memungkinkan OS X untuk memetakan nama komputer ke alamat IP-nya (mis. Ini sekarang berfungsiping <computername>
).Selain tip Jeffrey J. Hoover (di atas) ,
Saya akan menambahkan dua langkah terakhir ini:
dscacheutil -flushcache
sumber
Saya setuju bahwa tip Jeffrey Hoover adalah jawaban yang benar. Membilas cache DNS dan memulai ulang Mac adalah langkah yang bagus juga. Ini adalah varian dari jawaban Jeff Hoover:
sumber
-
: itu pasti--set
bekerja. Juga, ketika saya mengomentari jawaban Jeff: mungkin lebih baik untuk tidak mengaturHostName
.Preferensi Sistem -> Berbagi -> Nama Komputer -> atur ke apa pun
Dan kemudian restart komputer Anda. Tidak ada perintah konsol yang diperlukan. Bekerja untuk OS X 10.10.2
sumber
hostname
mengembalikan "MacBook-Pro". Saya bahkan mengubahnya dan masih punya masalah. Saya belum pernah melihat masalah ini sebelumnya. Thescutil
perintah bekerja untuk saya. Saya bertanya-tanya di mana / bagaimana Anda seharusnya melakukan itu melalui antarmuka GUI.Seperti yang disebutkan dalam jawaban terpisah, opsi lain adalah mengganti prompt PS1 default, seperti mengeksekusi baris berikut (atau menambahkannya ke file ~ / .bash_profile Anda):
referensi:
https://superuser.com/a/414903/39364
http://www.cnet.com/news/keep-your-command-prompt-host-name-static-in-os-x-and-other-unix-systems/
sumber
Gunakan ini
sumber
Saya punya masalah hanya shell itu sendiri (
zsh
dalam kasus saya) gagal menunjukkan nama komputer yang benar. Cukup restart shell yang memecahkannya:sumber
Selain jawaban sebelumnya, ingatlah bahwa Anda dapat menggunakan alamat statis di router Anda. Anda harus memasukkan IP statis dan alamat MAC kartu jaringan Anda, kemudian Anda menetapkan nama untuk itu. Nama host akan secara otomatis diperbarui ke nama yang ditentukan. Itu dia.
sumber