টার্মিনালে কী দেখায় ওএস এক্স কম্পিউটারের নাম মেলে না


119

সিস্টেম পছন্দসমূহে আমার কম্পিউটারের নাম> ভাগ করে নেওয়া "আর্কোস" এ সেট করা হয়েছে তবে টার্মিনালে "আইফোন" হিসাবে প্রদর্শিত হচ্ছে। আইফোন বিকাশ করার জন্য আমি এক্সকোড লোড করার পরে এটি এটি করা শুরু করেছিল।

Last login: Mon Nov  7 14:46:55 on ttys001
iphone:~ travis$ 

কোন এই সৃষ্টি হতে পারে কি ধারনা?


কি আপনি প্রতিধ্বনি $ HOSTNAME এর টাইপ পেতে পারি
ড্যানিয়েল

1
এটি অদ্ভুত ... আমি প্রতিধ্বনি $ HOSTNAME- এর জন্য 'আরকোস.লোকাল' পাচ্ছি। আমি অফিসে থাকাকালীন প্রাথমিক লিখনআপ করেছি, তবে আমার হোম নেটওয়ার্কে এটি আবার স্বাভাবিক অবস্থায় ফিরে এসেছে। ভাবছি আমার কাজের নেটওয়ার্কের সাথে এর কিছু আছে কিনা?
ট্র্যাভিস নেলসন

উত্তর:


94

এটি হওয়ার পক্ষে এটি সম্পূর্ণ স্বাভাবিক; আপনি যখন টার্মিনালটিতে দূরবর্তীভাবে লগইন করেন তখন বিপরীত ডিএনএস লুক্কুল হয়। এটি কেবল একই রকম হবে যদি আপনি যে নেটওয়ার্ক থেকে সংযোগ করছেন সেই নেটওয়ার্কে হোস্টনাম নির্দিষ্ট না করা থাকে এবং DHCP সার্ভার থেকে কোনও উত্তর না পাওয়া যায়, বা দূরবর্তী ডিএনএস সার্ভারের বিপরীতে উল্টাপাল্টা সমাধান করতে ব্যর্থ হয়।

আপনি টার্মিনালে এই কমান্ডটি ব্যবহার করে সহজেই ডিফল্ট সেটিংসকে ওভার রাইড করতে পারেন:

# sudo scutil --set HostName archos

আপনি এটি ব্যবহার করে এটি পরীক্ষা করতে পারেন:

# nslookup nn.nn.nn.nn
( or )
# host nn.nn.nn.nn

(যেখানে এনএন আপনার ম্যাকের আইপি ঠিকানাটি প্রকাশ করে)


6
@ জিও / লাইব্রেরি / প্রিফারেন্স / সিস্টেমে কনফিগারেশন / প্রিফারিয়েন্স.পল্লিস্ট থেকে সিস্টেমের অধীনে হোস্টনাম কীটি মুছুন। এই উত্তর দেখুন ।
Lri

2
@ জিও: @ লরির পোস্টটিতে দুর্দান্ত পটভূমির তথ্য রয়েছে তবে আপনি যদি শর্টকাট চান: মুছতে, চালাতে sudo scutil --set HostName ''
mklement0

3
সেটিংটি HostNameপরামর্শ দেওয়া যায় না, কারণ এটি একটি পৃথক মান তৈরি করে যা পরে আপনি হোস্টনামের মাধ্যমে পরিবর্তনের চেষ্টা করার পরেও টিকে থাকে System Preferences > Sharing। বিপরীতে, সেটিংস LocalHostNameএকই মান আপডেট করে এবং সাধারণত শেল দ্বারা বাছাই হয় এবং hostname( মানটি আপডেটে আপডেট করা ComputerNameউচিত)। অথবা সেটিংটি HostNameএখানে সুবিধাজনক এমন উপায়ে আলাদা আচরণ করে ?
mklement0

1
হোস্টের নামটি পরীক্ষা করার জন্য আরেকটি হ'লhostname -f
এরিকান

2
আমার 2 টি মেশিনে এই অসুবিধা হয়েছিল এবং নীচে জেহুভারের উত্তরে প্রস্তাবিত ধারণাগুলি এবং উপরের mklement0 দ্বারা দেওয়া মন্তব্যে কাজ হয়নি। যেমন, আপনি উভয়ই পরামর্শ দিচ্ছেন যে কেবলমাত্র লোকালহোস্টনাম এবং কম্পিউটারনেম পরিবর্তন করুন, তবে এগুলি পরিবর্তন করে সিস্টেমের পছন্দগুলিতে উল্লিখিত কম্পিউটারের নামটি প্রতিফলিত করার জন্য টার্মিনালটি কখনই পরিবর্তন করা হয়নি। আমি বিশ্বাস করি এর কারণটি, আমার ক্ষেত্রে, উভয় মেশিনই টাইম মেশিনের ব্যাকআপ ছিল এবং পরবর্তী সময়ে আমার নাম পরিবর্তন করেও পুরাতন চিত্র থেকে স্থানীয়ভাবে সঞ্চিত শংসাপত্রগুলি ধরে রেখেছে। কেবলমাত্র হোস্টনামই আমার পক্ষে কাজ করেছিল। অন্যদের কাছে এফওয়াইআই
oemb1905

45

আপনি স্কিউটিল কমান্ডটি ব্যবহার করে কিছু অন্যান্য জিনিসও পরিবর্তন করতে চাইতে পারেন:

sudo scutil --set ComputerName "newname"
sudo scutil --set LocalHostName "newname"
sudo scutil --set HostName "newname"

2
সিস্টেম পছন্দসমূহ -> ভাগ করে নেওয়ার নাম পরিবর্তন করে এবং তারপরে scutilসেট করতে ব্যবহার করে HostNameউভয় ComputerNameএবং LocalHostNameইতিমধ্যে আমার জন্য নতুন নামটিতে সেট করা হয়েছিল (ম্যাভেরিক্সে)। যদিও এই অন্যান্য সেটিংস বিদ্যমান তা জেনে ভাল লাগছে।
জিম স্টুয়ার্ট

@ জিমস্টেওয়ার্ট: প্রকৃতপক্ষে, তাই এটি কখনও সেট করার চেয়ে ভাল HostName, কারণ আপনি যখন পরে সিস্টেম পছন্দসমূহের মাধ্যমে আপনার হোস্টের নাম পরিবর্তন করার চেষ্টা করবেন তখনও এটি করা এই মান বজায় রাখবে । বিপরীতভাবে, LocalHostName অর্থাৎ শেল দ্বারা কুড়ান এবং hostname, তাই HostNameপ্রয়োজন হয় না।
mklement0

আমার ক্ষেত্রে আমার একটি ভুল লোকালহস্টনাম মান ছিল। sudo scutil --set LocalHostName ''মোছা লোকালহোস্টনাম চালানো এবং এখন আমার প্রম্পটটি কম্পিউটার নাম ব্যবহার করছে, যার সঠিক মান রয়েছে।
চিহ্নিত করুন

14

সেখানে শেল (জন্য দুটি সম্ভাব্য কারণ আছে $HOSTNAMEপরিবর্তনশীল, '\h'মধ্যে $PS1) এবং hostnameউপযোগ একটি হোস্ট নাম যে দেখানো এক থেকে পৃথক প্রতিবেদন করতে System Preferences > Sharing:

  • sudo scutil --set HostName newNameহোস্ট-নেম পরিবর্তন নিরবচ্ছিন্নভাবে ব্যবহৃত হয় - দুর্ভাগ্যবশত, এই মান স্বাধীন এর LocalHostNameলোকচক্ষুর অন্তরালে সিস্টেম পছন্দসমূহ দ্বারা সেট মান - যদিও man hostnameএই পদ্ধতি প্রস্তাব দেওয়া হয়, এটি ব্যবহার করবেন না যে কারণে; এটিকে সরাতে দৌড়াওsudo scutil --set HostName '' , LocalHostNameআবার এই মুহুর্তে রিপোর্ট করা উচিত; ব্যাকগ্রাউন্ডের জন্য, @ লৌরি রন্তের পোস্টটি দেখুন ।

  • [ আপডেট: নিম্নলিখিতটি ওএসএক্স ১০.১০ অনুসারে আর সত্য নয় ] আপনার /etc/hostsফাইলটিতে যদি আপনার মেশিনের আইপি ঠিকানার সাথে মেলে এমন একটি এন্ট্রি থাকে, তবে সেই প্রবেশের নামটি জানানো হবে।

উপরের কোনটি সত্য না হলে কেবল শেল এবং hostnameসিস্টেম পছন্দসমূহের মাধ্যমে সেট মানটি প্রতিফলিত করবে।


আপনি যদি শেল থেকে আপনার হোস্টের নামটি পরিবর্তন করতে চান তবে নিম্নলিখিত দুটি চালান :

  • sudo scutil --set LocalHostName <newName>
  • sudo scutil --set ComputerName <newFriendlyName>

যেখানে <newFriendlyName>একটি বন্ধুত্বপূর্ণ সংস্করণ (স্পেস, যতিচিহ্ন) হতে পারে <newName>(কারাকাস এবং ড্যাশ শুধুমাত্র)।


দুর্ভাগ্যক্রমে, কেবলমাত্র তাদের দুজনকেই সেট করা
rogerdpack

@ আরগারডপ্যাক: এবং আপনি sudo scutil --set HostName ''প্রথমে দৌড়েছেন (কেস সম্পর্কিত বিষয়গুলি) এবং নিশ্চিত করেছেন যে সেখানে কোনও প্রবেশ নেই /etc/hosts? scutil --get HostNameরিপোর্ট করা উচিত Hostname: not set
mklement0

হ্যাঁ scutil --get HostName HostName: not set/ ইত্যাদি / হোস্টগুলি সৌম্য বলে মনে হচ্ছে ...
রজারডপ্যাক

1
@ আরগারডপ্যাক: নির্বোধ প্রশ্ন: আপনার PS1পরিবর্তনশীলটি ব্যবহারের পরিবর্তে হার্ড-কোডেড হোস্টনামের সাথে ঘটে না \h, তাই না? অন্যদিকে: /etc/hostsওএসএক্স 10.10 হিসাবে আর পরামর্শ করা হয় না (আমি আমার উত্তর আপডেট করেছি)।
mklement0

2
সুন্দর। হোস্টনামটি অপসারণ (আপনার পরামর্শ অনুসারে খালি স্ট্রিংটিতে সেট করে sudo scutil --set HostName '' :) ওএস এক্সকে আবার তার আইপি ঠিকানায় কম্পিউটারের নাম ম্যাপ করতে দেয় (যেমন, এটি এখন কাজ করে ping <computername>)।
ব্রেন্ট ফাউস্ট


5

আমি সম্মত হই যে জেফ্রি হুভারের পরামর্শটি সঠিক উত্তর ছিল। ডিএনএস ক্যাশে ফ্লাশ করা এবং ম্যাকটি পুনরায় চালু করা খুব সুন্দর পদক্ষেপ। এটি জেফ হুভারের জবাবের বৈকল্পিক:

sudo -i
Password:

for n in HostName ComputerName LocalHostName; do
    scutil --set $n new_hostname
done

exit

1
আপনি একটি অনুপস্থিত -: এটি --setকাজ করা আবশ্যক । এছাড়াও, আমি জেফের উত্তরে যেমন মন্তব্য করেছি: সেট না করাটাই সম্ভবত ভাল HostName
mklement0

4

সিস্টেম পছন্দসমূহ -> ভাগ করে নেওয়া -> কম্পিউটারের নাম -> যা কিছু সেট করুন

এবং তারপরে আপনার কম্পিউটার পুনরায় চালু করুন। কোনও কনসোল কমান্ডের প্রয়োজন ছিল না। ওএস এক্স 10.10.2 এর জন্য কাজ করে


10.14.6 এ, আমার একটি পরিস্থিতি ছিল যেখানে ভাগ করে নেওয়া -> কম্পিউটার নামটি যেভাবে চাইছিল সেট করে সেট করা হয়েছিল এখনও এটি hostname"ম্যাকবুক-প্রো" ফিরে এসেছে। এমনকি আমি এটি পরিবর্তন করেছি এবং এখনও সমস্যা ছিল। আমি এই সমস্যাটি আগে কখনও দেখিনি। scutilকমান্ড আমার জন্য কাজ করেন। আমি ভাবছি আপনি কোথায় / কীভাবে জিইআইআই ইন্টারফেসের মাধ্যমে তা করতে অনুভব করছেন।
পেডজ

3

পৃথক উত্তরে যেমন উল্লেখ করা হয়েছে, অন্য বিকল্পটি হ'ল ডিফল্ট PS1 প্রম্পটটিকে ওভাররাইড করা যেমন নীচের লাইনটি কার্যকর করা (অথবা এটি আপনার ~ / .Bash_profile ফাইলটিতে যুক্ত করা):

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

refs:

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/



2

আমার সমস্যা ছিল যে কেবল শেল নিজেই ( zshআমার ক্ষেত্রে) সঠিক কম্পিউটারের নামটি প্রদর্শন করতে ব্যর্থ হয়েছিল। কেবল শেলটি পুনরায় চালু করা এটি সমাধান করেছে:

exec /bin/zsh

2

পূর্ববর্তী উত্তর ছাড়াও, মনে রাখবেন যে আপনি আপনার রাউটারে একটি স্থির ঠিকানা ব্যবহার করতে পারেন। আপনাকে আপনার নেটওয়ার্ক কার্ডের স্ট্যাটিক আইপি এবং ম্যাক ঠিকানা প্রবেশ করতে হবে, তারপরে আপনি এটির জন্য একটি নাম সেট করবেন। হোস্টের নামটি স্বয়ংক্রিয়ভাবে নির্দিষ্ট নামের সাথে আপডেট হবে। এটাই.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.