Система - Fedora Core 24. Это недавнее обновление с fc23. С fc23 vncserver запустился без ошибок. Однако после обновления возникает следующая ошибка:
Unit vncserver@:2.service has begun starting up
vncserver: The HOME environment variable is not set
Не было никаких изменений ни в стартовых скриптах, ни в .vnc
файлы. Где vncserver будет искать HOME
переменная? Где бы команда для установки HOME
переменная быть вставлена? Как бы это выглядело?
В HOME
переменная окружения устанавливается автоматически при входе в систему. В обычных условиях вы не должны обнаружить, что ни один из сценариев входа в систему каким-либо образом изменяет ее.
Переменные среды обычно передаются в неизмененном виде программам, выполняемым в вашем сеансе входа в систему. И вряд ли когда-нибудь повод сбивать с толку HOME
, поэтому упомянутое вами состояние ошибки маловероятно.
Вы можете попробовать эту команду, чтобы увидеть текущие переменные среды:
tr '\0' '\n' </proc/$$/environ
И вы можете заменить $$
с pid любого процесса, переменные среды которого вы хотите видеть (хотя, очевидно, существуют ограничения безопасности, на какие процессы вам разрешено смотреть, если вы не являетесь пользователем root).
Если вы найдете это HOME
существует, когда вы вызываете указанное выше из своей оболочки, вы можете попробовать использовать strace
чтобы увидеть, в какой момент они исчезнут. Можешь попробовать:
strace -fve execve vncserver
Это будет работать vncserver
и покажем, какие переменные среды были переданы в vncserver
и все, что выполняется vncserver
.
Наконец, вы можете попробовать создать нового пользователя, чтобы увидеть, связана ли проблема с файлами конфигурации конкретного пользователя или является общесистемной.