Превращаем штатный терминал Astra Linux в мощный инструмент!
Часть 2
НАВИГАЦИЯ
Продолжаем превращать штатный терминал Astra Linux в мощный инструмент. Это вторая часть по данному превращению. Как и обещал ранее, я загрузил несколько видеороликов с демонстрацией работы spf (superfile) и lazyvim. Этими роликами, я хотел наглядно показать, что мышь не всегда нужна, как и графика, что на удаленном сервере, особенно если используете готовый VDS, поставив эти инструменты, вы сможете продуктивней на нем работать.
В данной статье мы не будем создавать стенд и делить машины на сервер и клиент, а просто сделаем все на одной машине. Данные утилиты в целом пригодятся как на клиенте, так и на сервере.
Сначала разберем оставшиеся утилиты, которые не уместились в первую часть, а потом продемонстрирую видеоролики.
Установка дополнительных утилит
Продолжить установку дополнительных пакетов я хотел бы с NeoHtop. Классная и очень удобная альтернатива утилитам: top, htop, btop. Я пользовался всеми перечисленными, больше и удобней конечно для меня htop среди терминальных (TUI) интерфейсов. Neohtop мне понравился больше как полноценный (GUI) интерфейс. Как вы уже догадались, neohtop - это мониторинг системы, улучшенная версия top. Минусы конечно тоже есть. Самый главный минус, это конечно же только GUI интерфейс. Почему минус? Потому что мы эти утилиты ставим на удаленный сервер где доступ только по ssh и без возможности использовать графику, по этому данная утилита нам не подходит. Лучше использовать улучшенный htop или btop если хотите навороты по типу neohtop. Но в теории (точнее даже не в теории, я так делал и это работает), можно запустить neohtop с пробросом графики. Тобишь подключиться по ssh с ключом -X. Если у вас на клиенте будет стоять neohtop и на сервере, то такая связка будет работать, да медленней, но зато работает. Второй вариант, это поднять htop в вебе. Когда искал neohtop на GitHub, нашел репозиторий, где подняли NeoHtop в вебе. Честно сказать сам не пробовал, но думаю это работает, ведь он собран на фреймворке Tauri node.js, по этому пересобрать в вебе не составит труда. Вот ссылка на репозиторий NeoHtop в вебе. Как я уже говорил ранее, мне он очень нравится и удобный, по этому все же поставлю его на астру, но есть нюансы, куда без них в астре. 😀
Вводную часть про NeoHtop закончили, теперь перейдем к установке. Как говорил ранее, без сюрпризов не обошлось. NeoHtop не встает из коробки на Astra Linux 1.8.4 из-за старой версии libc6. Либо использовать очень старую версию deb пакета neohtop, либо собрать из исходников под наши версии библиотек. Я пожалуй воспользуюсь вторым вариантом, ставить на астре из исходников уже стало дело обычное)). На всякий случай вот ссылка на официальный репозиторий NeoHtop на GitHub.
1. Установка NeoHtop на Astra Linux
Если поставить готовый deb пакет последней версии на нашу астру, то увидим ошибку при запуске.

![]()
Эта ошибка означает, что исполняемый файл NeoHtop, который мы скачали, был скомпилирован в среде с более новой версией стандартной библиотеки C (glibc версии 2.39).
glibc 2.39 используется в Debian 13 (Trixie), а Astra Linux 1.8 согласно официальной документации на wiki.astralinux разработана на основе Debian 12 (Bookworm)
В Debian 12 (Bookworm) используется glibc 2.36.

По этому будем ставить из исходников. Если вы уже поставили deb пакет neohtop, то удалим его.
sudo apt remove -y neo-htop

Для начало, открываем официальный репозиторий NeoHtop, находим справа Releases

Находим Assets

И ищем Source code (tar.gz)
![]()
Теперь для того, чтобы успешно собрать из исходников, нужно будет поставить ряд библиотек.
Обновим список пакетов
sudo apt update
Теперь установим все необходимое для сборки
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev

Теперь перейдем в /opt/sourcecode (если вы не знаете и не создавали sourcecode, то эта директория для собранных из исходников пакетов, чтобы не искать потом по всей системе их и если потребуется удалить утилиту, мы всегда сможем быстро найти исходники и через них удалить).
Если директория отсутствует, то создайте ее вручную.
Перейдем в директорию /opt/sourcecode
cd /opt/sourcecode
Скопируем последнюю версию (на момент написания 1.2.0, у вас может отличаться название архива).
cp ~/Загрузки/neohtop-1.2.0.tar.gz .
Разархивируем все
tar -xvf neohtop-1.2.0.tar.gz
Удалим не нужный архив
rm -rf neohtop-1.2.0.tar.gz
перейдем в распакованную директорию с neohtop
cd neohtop-1.2.0
Теперь установим nodejs и npm для работы neohtop.
sudo apt install nodejs npm

После установке, проверим версию node командой
node -v
если она 18.x или 20.x - все отлично.

Установка JS-зависимостей проекта
Перейдем в папку с распакованными исходниками и установим библиотеки для фронтенда:
cd /opt/sourcecode/neohtop-1.2.0
npm install

Сообщения про husky и git не являются критическими ошибками. husky - это инструмент для разработчиков, который настраивает автоматические проверки кода перед коммитом. Поскольку мы просто скачали исходники архивом (без скрытой папки .git), он не может найти репозиторий и пропускает этот шаг. На саму сборку программы это никак не влияет. Предупреждения об уязвимостях (vulnerabilities) тоже можно смело игнорировать.
Теперь переходим к самому главному - сборке приложения.
Теперь запускаем полную сборку. Эта команда сама вызовет cargo build для Rust-части, но предварительно соберет веб-интерфейс:
npm run tauri build

Сборка Tauri-приложений требует больше времени и ресурсов, чем обычных скриптов. Наберитесь терпения.

Если сборка прошла успешно и в конце вы увидели зеленые надписи об успешном завершении (Finished release [optimized]), готовый бинарный файл будет лежать по пути:
/opt/sourcecode/neohtop-1.2.0/src-tauri/target/release/NeoHtop

Скопируем его в системную папку, чтобы запускать из любого места
sudo cp src-tauri/target/release/NeoHtop /usr/local/bin/

Попробуем запустить NeoHtop
NeoHtop

Теперь мы можем просто ввести NeoHtop в терминале. Ошибки GLIBC_2.39 not found больше не будет, так как программа собрана специально под нашу версию библиотеки.
Но есть одно НО. При установке deb пакета, у нас появляются ярлыки для запуска. Давайте вручную тогда их создадим.
Подберем иконку для нашего ярлыка, посмотрим что там есть из иконок в исходниках.

Отлично, данная иконка отлично подойдет нам.
Создадим ярлык на панели задач
nvim ~/.fly/toolbar/NeoHtop.desktop
[Desktop Entry]
Name=NeoHtop
Type=Application
Comment=system monitor
Exec=NeoHtop
Icon=/opt/sourcecode/neohtop-1.2.0/src-tauri/icons/icon.png
Terminal=false
X-Fly-OriginFile=/usr/share/applications/NeoHtop.desktop
Обратите внимание, я прописал путь к инконки ярлыка в /opt/sourcecode.
![]()

Теперь создадим ярлык в системе чтобы можно было запускать и через пуск.
sudo nvim /usr/share/applications/NeoHtop.desktop
[Desktop Entry]
Categories=
Comment=system monitor
Exec=NeoHtop
Icon=/opt/sourcecode/neohtop-1.2.0/src-tauri/icons/icon.png
Name=NeoHtop
Terminal=false
Type=Application
![]()
После создание ярлыков можно либо перезагрузиться, либо выйти из учетной записи и зайти, либо перезапустить сессию (нас выкинет из учетной записи)
sudo systemctl restart fly-dm
После перезахода, мы увидим ярлык на панели задач.

При нажатии на него, мы так же получаем GUI окно с приложением NeoHtop.


Ниже я прикреплю скриншот с запущенным htop, под ним neohtop и справа btop.

LazyDocker - это отличный TUI инструмент по управлению и мониторингу docker контейнеров. Незаменимый инструмент если вы часто работает с docker.
Установка очень простая.
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
Единственное прописать в .zshrc путь на запуск lazydocker.

nvim ~/.zshrc
дописываем в конце файла
alias lzd="~/.local/bin/lazydocker"
для своего удобства я сократил команды lazydocker до lzd, но можно использовать и полное, просто замените lzd= на lazydocker=

Сам lazydocker представляет из себя.

Запущу docker compose

После запуска сразу видим статусы, порты, названия образов, контейнеров итд.

Следующим, очень удобным и полезным инструментом, я бы рекомендовал поставить lazyssh. Во-первых, можно настроить сервера для подключения. Во-вторых, подключить сразу ключи. В-третьих, проверить одной кнопкой доступность сервера итд. Очень удобная утилита. Пользуюсь всегда, особенно удобно когда не помнишь наизусть ip адрес сервера, забил его один раз и прописал ключ к нему, а потом просто выбираешь его из списка. Установка тоже несложная.
Установим jq для работы с json.
sudo apt install jq
Теперь выполним ряд команд согласно документации.
LATEST_TAG=$(curl -fsSL https://api.github.com/repos/Adembc/lazyssh/releases/latest | jq -r .tag_name)
curl -LJO "https://github.com/Adembc/lazyssh/releases/download/${LATEST_TAG}/lazyssh_$(uname)_$(uname -m).tar.gz"
tar -xzf lazyssh_$(uname)_$(uname -m).tar.gz
sudo mv lazyssh /usr/local/bin/
Теперь запустим lazyssh
lazyssh

Я думаю итак понятно, что это за инструмент и как он может пригодиться. Переходим к следующему.
duf очень информативно выводит место занятое на диске. Улучшенная версия df.

Выглядит она так же, как представлена на скриншоте выше. Ставится не сложно. Загружаем с официального репозитория на GitHub deb пакет и ставим его.
![]()
sudo dpkg -i ~/Загрузки/duf_0.9.1_linux_amd64.deb

Запуск ее командой
duf
Можно при желании через alias в .zshrc заменить обычный df на duf, тогда можно запускать обычным df.

ncdu - это улучшенная утилита du, которая позволяет узнать размер файла. Но du сложнее в использовании, так как нужно комбинировать ее с другими утилитами, а ncdu работает по принципу: просто запустил в корне какой-то папке и все. Можно проваливаться в папки и видеть в реальном времени самые большие файлы. Очень люблю эту утилиту, не раз помогала быстро определить очень большие файлы в системе.
Установка самая простая из нашего списка, данная утилита официально есть в репозиториях Astra Linux. Но если хотите, то можно и в GitHub взять с официального репозитория.
Ставим ее простой командой
sudo apt install -y ncdu


Запускается просто командой
ncdu

Linutil - это мощная TUI-утилита (с текстовым интерфейсом, похожим на mc или старый BIOS setup), созданная известным Linux-экспертом и блогером Chris Titus. По сути, это огромная коллекция готовых скриптов и автоматизаций, упакованная в удобное меню для настройки, оптимизации и обслуживания Linux-систем.
Она особенно полезна, когда вам нужно быстро выполнить рутинные задачи по настройке системы без необходимости гуглить команды и копировать их из разных источников.
Ссылка на репозиторий.
Ставится проще некуда, вернее она вообще не ставится, а выгружается в оперативную память.
curl -fsSL https://christitus.com/linux | sh
Или, если хотите использовать бинарный файл напрямую
curl -fsSL https://github.com/ChrisTitusTech/linutil/releases/latest/download/linutil -o linutil
chmod +x linutil
sudo ./linutil

Случайно запустил установку ollama, естественно она не встала))

Может и для Astra Linux не полноценный инструмент, в виду особых подходов к установке тех или иных программ, но как дополнительный инструмент очень полезный.
В предыдущей части, мы ставили fastfetch и собирали его из исходников, так как он не вставал из коробки. Я попробовал установить на машину где установлен fastfetch из коробки с помощью утилиты linutil и я был приятно удивлен, когда она сама скачала, установила и настроила zshrc, что при запуске терминала запускается команда fastfetch. Из личного опыта хочу сказать, что это крутой инструмент, так как я сам разрабатываю по сей день похожий инструмент. Только я его разрабатываю для себя, для ускорения своей рутины, а тут для всех желающих.



Я запустил лишь linutil, выбрал из списка fastfetch и получил готовый результат. В linutil много всего есть, от браузеров, утилит, принтеров и заканчиваю даже рутинными командами по созданию пользователей итд.



Да-да, снова lazy 😃
Очень удобный инструмент по работе с Git. Да, написать пару-тройку команд: git add, git commit -m, git push не составит труда, но если нужно поработать с ветками, логами итд, то тут порой надоедает это писать. Так же, если вы работает не столь часто с гитом, но знаете что можно выполнить определенное действие с ним, то приходится гуглить команды. К сожалению без долгой практики, они часто забываются. С помощью данной утилиты, можно хоткеями не только создавать коммиты, но видеть ветки, ответвления их, коммиты итд. Официальный репозиторий здесь.
Установка не сложная.
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
LAZYGIT_ARCH=$(uname -m | sed -e 's/aarch64/arm64/')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_
{LAZYGIT_ARCH}.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit -D -t /usr/local/bin/


Запустим lazygit командой
lazygit



На этом установку дополнительных утилит закончим. На самом деле еще очень много полезных утилит, но я стараюсь не сильно использовать сторонние. Все очень просто, к хорошему быстро привыкаешь и когда ты попадаешь на сервер, где нету твоих любимых: lazyvim, nvim, neohtop, duf, ncdu, lazydocker итд, то порой сидеть и вспоминать, а как же пишется правильно синтаксис здесь или там доставляет неудобства. Так же гораздо приятней и быстрее работать, когда загружаешься в режиме восстановления астры, то там нет даже привычного мне vim, есть только старый vi. Классика - есть классика и с ней нужно уметь работать в первую очередь, а уже потом использовать для своего удобства новомодные утилиты. Я хотел донести, что не стоит сразу начинать к примеру с neohtop, не умея пользоваться обычным top.
Видео примеры использования lazyvim и superfile.
Быстрый пример с superfile
Три примера (долгих).
На этом цикл статей по улучшению терминал подошел к концу. Как вы заметили, с помощью нехитрых манипуляций мы можем превратить скучный терминал в мощный инструмент. Если честно сказать, то штатный fly-term от astra linux достаточно хорош. В нем есть все необходимые для успешной работы. Его даже можно из коробки делить, как это умеет делать tmux или terminator. Так если он неплох, то зачем же наводить тогда красоту и ставить сторонние терминалы? Ответ очень прост - в каждом линуксоиде со временем просыпается азарт поиграться с интерфейсом системы, изменить систему под себя любимого. Вот и мы, превратили из удобного, стандартного терминал, в полноценный, мощный инструмент для работы на каждый день.
Надеюсь что-то из этих двух статей вы возьмете или уже взяли на заметку. Удачи!

Будьте взаимовежливы и корректны.
Все сообщения проходят премодерацию.
Рекламные сообщения и комментарии с ссылками, не несущими смысловую нагрузку по тематике материала будут удаляться.