Назад | Перейти на главную страницу

Сервер tigervnc выходит из строя, если не задана переменная HOME

Система - 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.

Наконец, вы можете попробовать создать нового пользователя, чтобы увидеть, связана ли проблема с файлами конфигурации конкретного пользователя или является общесистемной.