Вывод K в Kubuntu: использование встроенного bash в Linux

Как получить информацию о дистрибутиве Kubuntu через командную строку

В мире операционных систем Linux, информация об используемом дистрибутиве может быть ключевой для выполнения различных задач. Если вы используете Kubuntu 22.04.5 LTS на 64-битной архитектуре, и вам необходимо получить информацию о системе, многие пользователи прибегают к программе neofetch. Однако, что делать, если вы хотите получить аналогичный результат, не прибегая к сторонним инструментам? В этой статье мы разберем, как получить информацию о вашем дистрибутиве и что делать, если требуется отображение Kubuntu вместо Ubuntu в выводе команд.

Вывод информации с помощью neofetch

Программа neofetch — это удобный инструмент, который предоставляет информацию о системе в красивом виде. Например, чтобы получить информацию о вашей системе, можно использовать команду:

neofetch --stdout | grep 'OS:'

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

OS: Kubuntu 22.04.5 LTS x86_64

Но возникает вопрос: как neofetch выводит букву "K" перед "Ubuntu"?

Как neofetch определяет дистрибутив

На самом деле, neofetch не использует никакой специальной команды для добавления буквы "K" к названию дистрибутива. Вместо этого, он получает данные о дистрибутиве из системы. Если neofetch обнаруживает, что вызывающая среда рабочего стола — это KDE Plasma, он заменяет "Ubuntu" на "Kubuntu". Эта логика заложена в его исходном коде, который доступен на GitHub.

Вот как это реализовано в коде:

if [[ $distro == "Ubuntu"* ]]; then
    case $XDG_CONFIG_DIRS in
        *"plasma"*)   distro=${distro/Ubuntu/Kubuntu} ;;
    esac
fi

Таким образом, налицо ручное добавление "K", и программа хранит логику выбора дистрибутива в своем коде.

Альтернативные команды для получения информации о дистрибутиве

Если вы хотите получить информацию о вашем дистрибутиве, не используя neofetch или дополнительные утилиты, вы можете использовать стандартные команды Linux. Вот примеры:

lsb_release -sd && lsb_release -sr && lsb_release -si

Однако, стоит отметить, что эта команда вернет вам результат:

Ubuntu 22.04.5 LTS  
22.04  
Ubuntu  

Как видно, буква "K" отсутствует, поскольку команде не хватает логики для определения того, что используется Kubuntu.

Как обойти это ограничение?

Вы можете использовать файл /etc/os-release, который содержит информацию о дистрибутиве. Однако, вся суть в том, что Kubuntu, как подмножество Ubuntu, будет все равно отправлять значение "Ubuntu". Другой подход заключается в использовании команд для обработки данных:

lsb_release -sd | sed 's/Ubuntu/Kubuntu/' && echo "$(uname -m)"

Данная команда заменит "Ubuntu" на "Kubuntu" в выводе, предоставляя вам желаемый результат:

Kubuntu 22.04.5 LTS  
x86_64  

Заключение

Использование термина Kubuntu вместо Ubuntu в командной строке — задача, которая требует применения специфических команд. В то время как neofetch делает это автоматически, самой командой Bash это сделать будет проблематично без некоторых манипуляций. Если вам нужно регулярное отображение информации о вашем дистрибутиве, использование sed или ручное редактирование вывода может стать вашим решением. Убедитесь, что вы изучили доступные вам инструменты, чтобы максимально эффективно использовать вашу систему Linux.

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *