当我使用 登录远程服务器时user
,我看到终端名称:
user@someName
。我想修改someName
部分。
我想这可能与主机名有关。所以打开/etc/hostname
,它也被命名为someName
。但即使更改了hostName
,终端名称也没有改变(我尝试注销并重新登录)。
该用户也没有.bashrc
创建文件。
答案1
/etc/hostname
只会在启动时读取,因此除非您重新启动主机,否则它不会更新机器的主机名。
您可以通过运行以下命令来更新机器的主机名,而无需重新启动hostname
,如下所示:
mtak@rubiks:~$ sudo hostname otherhostname
mtak@rubiks:~$ bash
mtak@otherhostname:~$
或者让它读取文件/etc/hostname
:
mtak@otherhostname:~$ less /etc/hostname
rubiks
mtak@otherhostname:~$ sudo hostname -F /etc/hostname
mtak@otherhostname:~$ bash
mtak@rubiks:~$
更改主机名后,最好重新启动主机,因为所有使用该主机名的正在运行的守护程序都不会自动更新(例如,Apache 仍会显示Apache/2.4.10 (Debian) 服务器位于 someName 端口 80)。
答案2
在 Linux 上,计算机的名称存储在三个不同的位置:/etc/hostname、shell 使用的变量 $HOSTNAME 以及 X 从中拉取的某个与其他两个不同的位置。(几年前我曾经找到过它,但不记得在哪里找到它,除非我不得不仔细查看 startx 脚本。)
正如上面所说的,更改 /etc/hostname 是不够的。您还需要在 shell 中使用“hostname -F /etc/hostname”进行更改。或者重新启动计算机。