Fedora - Индикатор батареи не отображается на верхней левой панели.

Если вы посмотрите hostnamectlисходный код здесь , вы увидите, что hostnamectlбудет использовать функцию set_hostnameдля выполнения действия.

Комментарий к этому разделу гласит: (акцент мой):

Now that we set the pretty hostname, let's clean up the parameter and use that as static hostname. If the hostname was already valid as static hostname, this will only chop off the trailing dot if there is one. If it was not valid, then it will be made fully valid by truncating, dropping multiple dots, and dropping weird chars. Note that we clean the name up only if we also are supposed to set the pretty name. If the pretty name is not being set we assume the user knows what he does and pass the name as-is.

Действительно, если вы отметитеmethod_set_static_hostnameздесь , где он пытается установить статическое имя хоста, соответствующая часть выглядит следующим образом:

if (!hostname_is_valid(name, false))
    return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid static hostname '%s'", name);

Функциональная сигнатура функции hostname_is_validтакова:

bool hostname_is_valid(const char *s, bool allow_trailing_dot) _pure_;

Затем вы увидите, что hostname_is_validвызывается с аргументом allow_trailing_dotкак false -, поэтому systemd и hostnamectl не допускают завершающую точку в статическом имени хоста.


РЕДАКТИРОВАТЬ :Что ж, обсуждение systemd по этому вопросу можно найти здесь . Насколько я знаю, это работает «как задумано» -, точка в конце не является обязательной. Есть аргументы за и против, но я не буду вдаваться в это здесь.

Таким образом, -вы не можете сделать это с помощью инструмента systemd hostnamectl,...

Тем не менее, вы всегда можете просто добавить точку в конце файла /etc/hostname, и тогда это даже появится в выводе hostnamectl.

Конечно, если вы используете hostnamectlили любой другой инструмент для установки имени хоста в любой момент в будущем, он перезапишет его.

0
13.06.2019, 06:21
1 ответ

Проблема вызвана проблемой, описанной здесь.https://bugzilla.redhat.com/show_bug.cgi?id=1708991

Из-за проблем snapdи ``SELinux ```. Обновление вашей системы должно исправить это сейчас.

0
28.01.2020, 03:35

Теги

Похожие вопросы