Как установить переменные окружения VULKAN_SDK в Debian/Raspberry Pi OS?

Вопрос или проблема

Прежде всего, я новичок в Linux и не понимаю многих вещей. Я работаю на Raspberry Pi OS, которая основана на Debian.

Есть файл с переменными окружения: “setup-env.sh”.

Выполните код в терминале:

source ~/vulkan/1.x.yy.z/setup-env.sh

И мы в деле.
Кроме того, что после перезагрузки, очевидно.

Итак, как я могу настроить эти переменные окружения автоматически при загрузке?

Я нахожу много ответов, которые говорят: sudo ~/.bashrc. Но это дает мне ошибку “команда не найдена”. В документации Vulkan они советуют внедрить это в .profile. Но опять же sudo ~/.profile — команда не найдена в моей Raspberry Pi OS.

И я выяснил трудным путем, что добавление PATH в /etc/environment определенно не делает вас счастливее. Это кажется таким простым, но большинство людей/учебников пропускают это с упоминанием “вы на Linux, поэтому, вероятно, знаете как.

Это документация Vulkan, если хотите взглянуть:
https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html

Итак, каков правильный способ настройки переменных окружения VULKAN_SDK из файла setup-env.sh при загрузке?

Спасибо искренне!

Вот содержимое файла setup-env.sh:

# Copyright (c) 2015-2023 LunarG, Inc.

# source this file into an existing shell to setup your environment.
#
# See docs for in depth documentation:
# https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html

ARCH="$(uname -m)"
VULKAN_SDK="$(dirname "$(readlink -f "${BASH_SOURCE:-$0}" )" )/$ARCH"
export VULKAN_SDK
PATH="$VULKAN_SDK/bin:$PATH"
export PATH
LD_LIBRARY_PATH="$VULKAN_SDK/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export LD_LIBRARY_PATH
VK_ADD_LAYER_PATH="$VULKAN_SDK/share/vulkan/explicit_layer.d${VK_ADD_LAYER_PATH:+:$VK_ADD_LAYER_PATH}"
export VK_ADD_LAYER_PATH
if [ -n "${VK_LAYER_PATH-}" ]; then
    echo "Unsetting VK_LAYER_PATH environment variable for SDK usage"
    unset VK_LAYER_PATH
fi

Когда вы входите в систему, читается ряд файлов. Если вы используете оболочку bash, как и вы, то один из этих файлов обычно ~/.bashrc

Всё, что вы можете напечатать, также может быть добавлено в этот файл. Таким образом, решение вашей текущей проблемы заключается в добавлении строки source ~/vulkan/1.x.yy.z/setup-env.sh в конец этого файла.

Обратите внимание, что это

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

Команда sudo, найденная вами в другом месте, является неправильным подходом. Я бы посоветовал вам не полагаться на этот источник информации.

Быстрый простой ответ

nano ~/.profile

Затем добавьте:

. /path/to/vulkan/1.x.yy.z/setup-env.sh

Дело закрыто

.

Ответ или решение

Установка переменных окружения для VULKAN_SDK на операционной системе Raspberry Pi OS (основанной на Debian) — это задача, с которой может столкнуться новичок в Linux. Хотя процесс может показаться запутанным, с правильными инструкциями вы сможете успешно настроить вашу систему.

Теоретическая часть

Проблема: Вы хотите, чтобы переменные окружения, необходимые для VULKAN_SDK, автоматически устанавливались при загрузке системы, а не каждый раз вручную с помощью команды source ~/vulkan/1.x.yy.z/setup-env.sh.

Переменные окружения в Linux — это параметры, которые определяют рабочее окружение для приложений и процессов. Примеры таких переменных — PATH, LD_LIBRARY_PATH, и другие, которые вы видите в вашем setup-env.sh файле.

Некоторые файлы, такие как ~/.bashrc, ~/.profile, и /etc/environment, используются для автоматического задания этих переменных при запуске сеанса. Однако, важно отличать их использование:

  • ~/.bashrc: Этот файл читается всякий раз, когда вы открываете новый терминал или сеанс оболочки bash.
  • ~/.profile: Этот файл читается при запуске входного сеанса (логина); подходит для однократной установки переменных во время входа в систему.
  • /etc/environment: Этот файл используется для задания переменных окружения для всех пользователей, без спецификации команд оболочки или сложных выражений.

Практическая часть

Пример

Предположим, что ваш setup-env.sh находится в каталоге ~/vulkan/1.x.yy.z/. Содержимое этого файла должно быть добавлено в один из файлов для автоматического чтения их при входе в систему.

Применение

Шаг 1: Откройте файл ~/.profile в вашем любимом текстовом редакторе. Так как вы используете командную строку, рекомендуем воспользоваться nano, так как интерфейс этого редактора прост для понимания новичку.

nano ~/.profile

Шаг 2: В конец этого файла добавьте следующую строку:

source ~/vulkan/1.x.yy.z/setup-env.sh

Эта команда указывает системе загружать переменные, определенные в setup-env.sh, каждый раз, когда начинается сеанс пользователя. Это значит, что вам не нужно самостоятельно вручную выполнять эту команду каждый раз.

Шаг 3: Сохраните и выйдите из редактора. В nano это делается путем нажатия клавиши CTRL + X, затем Y для подтверждения сохранения изменений и Enter для выхода.

После выполнения этих шагов переменные окружения будут автоматически устанавливаться при каждом входе в систему, без необходимости ручного выполнения команды.

Заключение

Настройка переменных окружения в Linux — важный шаг для обеспечения корректной работы программного обеспечения, зависящего от определенных настроек среды. В случае VULKAN_SDK, корректная настройка этих переменных позволяет инструментам, входящим в SDK, правильно работать, что в свою очередь гарантирует стабильность и функциональность ваших приложений, работающих на Vulkan.

Если вы в дальнейшем будете сталкиваться с подобными задачами или необходимостью настройки окружения для других инструментов или библиотек, знание, которое вы приобрели, будет весьма полезно. Не стесняйтесь экспериментировать с другими файлами настроек, такими как ~/.bashrc или /etc/environment, но всегда помните о различиях в их применении и последствиях изменений. Однако, как правило, для пользовательских настроек, которые должны применяться по входу пользователя, ~/.profile — это более чем достаточное решение.

Оцените материал
Добавить комментарий

Капча загружается...