2

Когда я вхожу на удаленный сервер с моим user , я вижу имя терминала:user@someName . Я хочу изменить часть someName .

Я подумал, что это может быть связано с именем хоста. Итак, открыв /etc/hostname , он также получил имя someName . Но даже после изменения hostName имя терминала не изменилось (я попытался выйти из системы и войти обратно).

Также у этого пользователя нет созданного файла .bashrc .

2 ответа2

1

В Linux имя компьютера хранится в трех разных местах: есть /etc /hostname, переменная $ HOSTNAME, используемая оболочкой, и в каком-то месте, куда X извлекает его, отличается от двух других. (Я нашел его однажды, несколько лет назад, но не помню, где я его нашел, за исключением того, что мне приходилось просматривать скрипты startx.)

Как вы сказали выше, изменение /etc /hostname недостаточно. Вам также необходимо изменить его в оболочке с помощью «hostname -F /etc /hostname». Или перезагрузите компьютер.

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 Port 80).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .