it-swarm-ja.com

端末名(コマンドラインプロンプト)がどこから来たのかを知る方法は?

userを使用してリモートサーバーにログインすると、ターミナル名[email protected]が表示されます。 someNameの部分を変更したい。

多分それはホスト名に関連していると思いました。したがって、/etc/hostnameを開くと、someNameという名前も付けられました。しかし、hostNameを変更した後でも、端末名は変更されませんでした(ログアウトしてから再度ログインしてみました)。

また、そのユーザーには.bashrcファイルが作成されていません。

2
Andrius

/etc/hostnameは起動時にのみ読み取られるため、ホストを再起動しない限り、マシンのホスト名は更新されません。

次のようにhostnameコマンドを実行すると、再起動せずにマシンのホスト名を更新できます。

[email protected]:~$ Sudo hostname otherhostname
[email protected]:~$ bash
[email protected]:~$ 

または、/etc/hostnameファイルを読み取らせることによって:

[email protected]:~$ less /etc/hostname
rubiks
[email protected]:~$ Sudo hostname -F /etc/hostname
[email protected]:~$ bash
[email protected]:~$ 

ホスト名を変更した後は、ホスト名を使用する実行中のすべてのデーモンが自動的に更新されないため、とにかくホストを再起動することをお勧めします(たとえば、Apacheは引き続き表示されますApache/2.4.10(Debian)Server someNameポート8)。

1
mtak

Linuxでは、コンピューターの名前は3つの異なる場所に格納されます。/etc/hostname、シェルが使用する変数$ HOSTNAMEがあり、Xがそれを取得する場所は他の2つとは異なります。 (私はそれを数年前に一度見つけましたが、startxスクリプトを調べなければならなかったことを除いて、どこで見つけたか覚えていません。)

上で述べたように、/ etc/hostnameを変更するだけでは十分ではありません。また、シェルで「hostname -F/etc/hostname」を使用して変更する必要があります。または、コンピュータを再起動します。

1
llywrch