Если нужен Word или Excel на Linux, обычно выбор невелик: настроить Wine с его танцами с бубном, поднять полноценную ВМ или смириться с LibreOffice.
winpodx предлагает другой путь — запустить Windows-приложение прямо из меню рабочего стола, как обычную Linux-программу.Что это такое
winpodx поднимает Windows-контейнер через Podman или Docker на базе и пробрасывает приложения на рабочий стол через FreeRDP. Каждое приложение открывается в отдельном окне без полного десктопа Windows. Написан на Python 3.11+, без внешних зависимостей.Проект молодой: первый релиз
v0.1.0 вышел в апреле 2026 года.Что умеет
Из коробки поддерживаются 14 приложений: встроенные в Windows (
Notepad, Explorer, Paint, PowerShell) и те, что нужно установить вручную (Word, Excel, PowerPoint, VS Code, Teams). Можно добавить любое своё приложение через TOML-конфиг.Помимо базового запуска:
• Буфер обмена и звук работают по умолчанию через RDP.
• USB-накопители монтируются автоматически: подключаете флешку на Linux,
PowerShell-скрипт на стороне Windows присваивает ей букву диска.• HiDPI определяется сам, поддерживаются GNOME, KDE, Sway, Hyprland, Cinnamon.
• Контейнер паузится при простое и возобновляется при следующем запуске.
• Каждые 7 дней RDP-пароль меняется автоматически.
• Qt6-трей для управления контейнером прямо из панели задач.
Как установить:
git clone https://github.com/kernalix7/winpodx.git
cd winpodx
./install.sh
Скрипт сам определит дистрибутив и установит нужные зависимости с подтверждением перед каждым шагом. После этого все 14 приложений появятся в меню рабочего стола.
Как запустить:
winpodx app run word # открыть Word
winpodx app run word ~/doc.docx # открыть конкретный файл
winpodx app run desktop # полный десктоп Windows
При первом запуске
winpodx сам сгенерирует конфиг, поднимет контейнер и настроит RDP. Ничего делать вручную не нужно.Добавить своё приложение:
mkdir -p data/apps/myapp
cat > data/apps/myapp/app.toml << 'EOF'
name = "myapp"
full_name = "My Application"
executable = "C:\\Program Files\\MyApp\\myapp.exe"
categories = ["Utility"]
mime_types = []
EOF
winpodx app install myapp
Конфигурация
Файл живёт в
~/.config/winpodx/winpodx.toml с правами 0600. Основные параметры:[rdp]
scale = 100 # масштаб, определяется автоматически
password_max_age = 7 # дней до ротации пароля
[pod]
backend = "podman"
win_version = "11" # 11 | 10 | ltsc10 | tiny11 | tiny10
cpu_cores = 4
ram_gb = 4
idle_timeout = 0 # секунды до автоприостановки, 0 = выкл.
winpodx делает то же, что winapps и LinOffice, но идёт дальше: нулевая ручная настройка, поддержка любых приложений (не только Office), автоматическая ротация пароля, работа с USB и звуком из коробки.📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Релизы недели
Много кто обновился за прошедшую неделю, собрали самое интересное.
— LXQt 2.4.0
— Git 2.54
— nxs-universal-chart 3.0
— Теневой бан на hh
— Ghostty уходит с GitHub
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#дайджест_недели
Много кто обновился за прошедшую неделю, собрали самое интересное.
— LXQt 2.4.0
— Git 2.54
— nxs-universal-chart 3.0
— Теневой бан на hh
— Ghostty уходит с GitHub
📍 Навигация: Вакансии • Задачи • Собесы
#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
IT-рынок изменился: конкуренция за вакансии выросла в 3–5 раз, зато крупные компании всё равно ужесточают отбор. Психологические тесты, стресс-интервью, ИИ-собеседник в Telegram и проверка на «культурный фит» — это уже реальный процесс найма в 2026-м.
Почему так происходит и что с этим делать
📍 Навигация: Вакансии • Задачи • Собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 apt 3.3.0: что изменилось
Вышел новый релиз
Убрали предупреждение о нестабильном CLI
Раньше
Исправления багов
Закрыли багу, что при отмене транзакции загрузки
Также починили разбор паттернов
Улучшения кода
Несколько участников почистили внутренности. Заменили
Интерфейс
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Вышел новый релиз
apt версии 3.3.0. Это пакетный менеджер, которым пользуется каждый, кто работает с Debian или Ubuntu.Убрали предупреждение о нестабильном CLI
Раньше
apt предупреждал, что его интерфейс командной строки может меняться. Теперь это предупреждение убрали. Причина простая: появился флаг --cli-version, который позволяет явно указать нужную версию CLI. Старые версии будут устаревать по расписанию, а не внезапно.Исправления багов
Закрыли багу, что при отмене транзакции загрузки
pkgAcqMetaClearSig не прерывал её корректно, а pkgAcqMetaBase мог зафиксировать InRelease раньше других элементов транзакции.Также починили разбор паттернов
apt patterns для зависимостей типа pre-depends. Раньше они могли парситься некорректно.Улучшения кода
Несколько участников почистили внутренности. Заменили
std::basic_string_view на std::span в модуле хешей, перевели часть кода на range-based for loop, emplace_back, make_unique и устранили несколько мелких утечек памяти. Это не меняет поведение снаружи, но делает код чище.Интерфейс
history-list теперь масштабируется по ширине экрана, а ShortenCommand стал чуть быстрее.📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🦾 Почему ваши AI-продукты на базе LLM ломаются (и как это чинить)?
Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало».
🗓️ Когда: 14 мая в 19:00 МСК
⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы
🧑🏻💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы.
🎁 Главный бонус для онлайна:
Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps.
👉 Занять место на вебинаре
Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало».
🗓️ Когда: 14 мая в 19:00 МСК
⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы
🧑🏻💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы.
🎁 Главный бонус для онлайна:
Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps.
👉 Занять место на вебинаре
❤1
Вы знаете, что хотите сделать, но не помните точную команду. Лезете в Google, копируете что-то с Stack Overflow, правите под себя.
cf делает это так: описываете задачу словами прямо в терминале и получаете список подходящих команд с интерактивным выбором.Что делает
cf принимает запрос на естественном языке и возвращает shell-команды, которые этому запросу соответствуют. Выбранная команда вставляется прямо в строку ввода терминала — её можно сразу отредактировать или выполнить.Пример:
$ cf find large files older than 30 days
> find . -size +100M -mtime +30 -type f
find / -size +100M -type f
find . -mtime +30 -type f -delete
[arrows: navigate] [enter: select] [q: cancel]
Поиск работает через векторные эмбеддинги: запрос превращается в вектор через модель
all-MiniLM-L6-v2, потом ищет ближайшие совпадения в базе через sqlite-vec. В базе 389 команд и 1909 паттернов — у каждой команды несколько описаний разными словами, чтобы поиск находил нужное при разных формулировках.Как установить
git clone https://github.com/stvkoch/Command-Finder ~/codes/cf
cd ~/codes/cf
./install.sh
Скрипт создаст виртуальное окружение, установит зависимости, скачает модель ~80 МБ, заполнит базу и добавит симлинк
cf в ~/.local/bin/. В конце предложит добавить интеграцию с zsh.Как пользоваться
Базовый поиск:
cf "compress a directory"
Несколько режимов вывода:
cf "query" # вставить в буфер zsh
cf --print "query" # вывести в stdout
cf --copy "query" # скопировать в буфер обмена
cf --tmux "query" # отправить в текущую панель tmux
После установки shell-интеграции можно нажать
Ctrl+F прямо в терминале — откроется виджет поиска. Если строка пустая, появится приглашение ввода. Если на строке уже есть текст, он используется как запрос.Деструктивные команды
Команды, которые удаляют файлы, убивают процессы или перезаписывают историю, помечены символом
⚠️. Перед вставкой такой команды cf попросит явно ввести yes.Добавить свои команды
База данных расширяется через JSON-файлы в
src/cf/data/commands/.Структура:
{
"category": "my_tools",
"commands": [
{
"name": "mytool",
"synopsis": "mytool [options] <arg>",
"description": "What mytool does",
"patterns": [
{
"type": "example",
"text": "natural language description",
"command": "mytool --flag value",
"explanation": "brief explanation",
"destructive": false
}
]
}
]
}После добавления пересобираем базу:
cf --seed --force
📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Управлять инфраструктурой через Ansible значит писать YAML.
pyinfra убирает это из уравнения: деплой описывается обычным Python-кодом, без DSL и без новых концепций для изучения.pyinfra решает именно это: вы описываете деплой обычным Python-кодом, без DSL и без новых концепций для изучения.Что делает pyinfra
Превращает Python-скрипты в shell-команды и выполняет их на серверах по SSH, в Docker-контейнерах или локально. Работает без агентов, на целевых машинах ничего устанавливать не нужно.
Операции идемпотентны: если пакет уже установлен, повторный запуск ничего не сломает.
Установка:
pip install pyinfra
Быстрый старт прямо из CLI
Установить пакет на удалённый сервер или в Docker-контейнер в одну строку:
# На удалённый сервер
pyinfra my-server.net apt.packages iftop update=true _sudo=true
# В Docker-контейнер
pyinfra @docker/ubuntu apt.packages iftop update=true _sudo=true
Полноценный деплой-скрипт
Те же операции, оформленные в файл
deploy.py:from pyinfra.operations import apt, systemd
apt.packages(
name="Установить nginx",
packages=["nginx"],
update=True,
_sudo=True,
)
systemd.service(
name="Запустить и включить nginx",
service="nginx.service",
running=True,
restarted=True,
enabled=True,
)
Инвентарь описывается в Python-файле
inventory.py:targets = ["web-1.example.com", "web-2.example.com", "@docker/ubuntu"]
Запуск:
pyinfra inventory.py deploy.py
Что важно знать
В скриптах доступен весь Python-экосистем: циклы, условия, импорт любых библиотек вроде
boto3 или requests. Можно получать инвентарь из Terraform, работать с Docker и Vagrant. Перед реальным применением изменений можно сделать dry-run через флаг --dry.Запуск с выводом всех команд для отладки:
pyinfra inventory.py deploy.py -v
pyinfra хорошо подходит командам, которые уже пишут на Python и хотят управлять инфраструктурой без перехода на отдельный язык конфигурации.📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Fedora Project выпустила очередной релиз. В этот раз обновилось сразу несколько крупных компонентов, и часть изменений потребует внимания перед обновлением.
Что изменилось
Anaconda теперь создаёт сетевые профили только для тех устройств, которые настраивались при установке. Раньше профили создавались для всех интерфейсов по умолчанию и это часто приводило к лишним записям и путанице в конфигурации после установки.Загрузка
OpenSSL ускорилась: добавлена поддержка directory-hash для ca-certificates. Для большинства задач это незаметно, но на серверах с частыми SSL-операциями разница будет ощутима.Fedora 44 включает Ansible 13. Если вы используете плейбуки, проверьте руководство по миграции, часть синтаксиса изменилась.
MariaDB перешла на версионированную схему пакетов: теперь пакет называется mariadb11.8. При обновлении стоит проверить, что скрипты и конфиги ссылаются на правильные пути.Для тех, кто запускает Windows-приложения через Wine или Steam: в ядро добавлен модуль
NTSYNC. Он улучшает совместимость и производительность. Установите пакет wine-ntsync, и он будет подключаться автоматически при каждой загрузке.Рабочие окружения
Workstation-версия идёт с GNOME 50. Улучшения в accessibility, управлении цветом и remote desktop. Также обновились стандартные приложения: просмотрщик документов, файловый менеджер, календарь.
KDE-версия получила Plasma 6.6 с новым менеджером входа и мастером настройки. Fedora KDE теперь полностью поддерживается в Fedora Ready.
В облачной версии раздел
/boot заменён на btrfs-субтом — образы стали меньше и лучше используют дисковое пространство.Как обновиться
Если уже используете Fedora, обновитесь через стандартный механизм:
sudo dnf upgrade --refresh
sudo dnf install dnf-plugin-system-upgrade
sudo dnf system-upgrade download --releasever=44
sudo dnf system-upgrade reboot
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
runit это минималистичная система инициализации с автоматическим надзором за процессами. Сервис упал, runit его перезапустит без лишних настроек.runit работает в три этапа: инициализация системы, надзор за сервисами и корректное завершение работы. Основа это runsvdir, который следит за директориями сервисов и запускает runsv для каждого из них.Конфигурация сервиса это shell-скрипт. Без YAML, без XML, без многостраничной документации.
Установка:
# Debian/Ubuntu
sudo apt-get install runit
# Arch Linux
sudo pacman -S runit
# CentOS/RHEL
sudo dnf install runit
Создать сервис
Структура минимальная: директория с исполняемым файлом
run.sudo mkdir -p /etc/sv/webserver
sudo tee /etc/sv/webserver/run << 'EOF'
#!/bin/sh
exec 2>&1
cd /var/www/html
exec python3 -m http.server 8080
EOF
sudo chmod +x /etc/sv/webserver/run
# Включить сервис
sudo ln -s /etc/sv/webserver /etc/service/
Два ключевых правила в
run-скрипте: использовать exec вместо запуска в фоне и перенаправлять stderr через exec 2>&1. Программа должна работать на переднем плане, runit сам управляет процессом.Основные команды через
sv:sv start webserver # запустить
sv stop webserver # остановить
sv restart webserver # перезапустить
sv status webserver # статус
Пример вывода статуса:
run: nginx: (pid 1234) 3600s
down: mysql: 120s, normally up
Логирование через `svlogd`
runit поставляется с собственным логгером. Он умеет в ротацию, фильтрацию и временны́е метки.sudo mkdir -p /etc/sv/webserver/log
sudo tee /etc/sv/webserver/log/run << 'EOF'
#!/bin/sh
exec svlogd -tt /var/log/webserver
EOF
sudo chmod +x /etc/sv/webserver/log/run
sudo mkdir -p /var/log/webserver
Как выглядит миграция с systemd
Типичный unit-файл
systemd:[Service]
Type=simple
User=webuser
WorkingDirectory=/opt/webapp
ExecStart=/opt/webapp/bin/server
Restart=always
Эквивалент в
runit:#!/bin/sh
exec 2>&1
cd /opt/webapp
exec chpst -u webuser /opt/webapp/bin/server
chpst — утилита из runit для запуска процессов от другого пользователя и с ограничениями по ресурсам.Это не замена
systemd в полноценном десктопном окружении, но для серверных задач вполне рабочий вариант.📍 Навигация: Вакансии • Задачи • Собесы
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
HashiCorp объявила о публичном превью HCP Terraform powered by Infragraph на конференции IBM Think 2026. Доступ откроется с 8 мая для квалифицированных US-клиентов HCP Terraform.
Какую проблему решает
Команды, работающие с гибридными и мультиоблачными инфраструктурами, хорошо знают эту боль: данные о ресурсах разбросаны по разным инструментам, нет единой картины того, что происходит в AWS, Azure, GCP и on-prem одновременно.
Когда нужна актуальная информация, её приходится собирать вручную из разных источников. К моменту, когда данные готовы к анализу, они уже устарели.
Что такое Infragraph
Infragraph это централизованный граф знаний с событийно-ориентированным обновлением данных. Он подключается напрямую к вашим облачным провайдерам и собирает актуальное состояние инфраструктуры в одном месте. Для более глубоких или кастомных потоков данных доступен Terraform Search.Зачем это нужно:
• Единый источник правды по всему estate: AWS, Azure, GCP, on-prem
• Запросы к инфраструктуре на естественном языке для CloudOps и security-команд
• Актуальная информация о том, кто владеет ресурсами и за что отвечает
• Основа для будущей автоматизации через AI-агентов
Первые шаги после входа:
1. Добавьте подключение к AWS,
HCP Terraform и HCP Packer — увидите, как ваш cloud estate связан с инфраструктурой как кодом2. Запросите неуправляемые ресурсы или ресурсы со старой версией Terraform
# Пример: вход в HCP-консоль
https://portal.cloud.hashicorp.com/sign-in
→ Infragraph → Connections → Add connection
Пока это превью с ограниченным доступом, но направление понятное: единый граф данных как фундамент для автоматизации и работы AI-агентов с инфраструктурой.
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎤 Ваши знания по ИИ-агентам + наша аудитория в 1 млн человек = профит
Мы в Proglib активно качаем тему ИИ-агентов. Если вы в теме, то у нас есть предложение 👇
Что с нас?
- Огромный охват: пропиарим ваши соцсети и продукты на 1 000 000+ айтишников.
- Личный бренд: станете узнаваемым экспертом в самой горячей нише 2026 года.
- Никакой рутины: наши редакторы сами упакуют ваши мысли в крутые посты.
Что с вас?
Любой экспертный контент по ИИ-агентам: кейсы из прода, шпаргалки, статьи, наработки по стеку (LangGraph, CrewAI, AutoGen и др.) или просто мысли по архитектуре.
👉 Стать экспертом и заявить о себе
Мы в Proglib активно качаем тему ИИ-агентов. Если вы в теме, то у нас есть предложение 👇
Что с нас?
- Огромный охват: пропиарим ваши соцсети и продукты на 1 000 000+ айтишников.
- Личный бренд: станете узнаваемым экспертом в самой горячей нише 2026 года.
- Никакой рутины: наши редакторы сами упакуют ваши мысли в крутые посты.
Что с вас?
Любой экспертный контент по ИИ-агентам: кейсы из прода, шпаргалки, статьи, наработки по стеку (LangGraph, CrewAI, AutoGen и др.) или просто мысли по архитектуре.
👉 Стать экспертом и заявить о себе
DevOps / Platform Engineer — до 220 000 ₽ на удалёнке
DevOps-инженер — удалёнка
Senior DevOps Engineer — от 300 000 ₽, гибрид/удалёнка в Москве или СПб
#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 pyinfra 3.8.0. Крупный релиз с фиксами безопасности и новыми Docker-операциями
Вышла новая версия инструмента для автоматизации инфраструктуры на чистом Python. Заодно проект перешёл на полный semver: теперь версии будут выглядеть как
Безопасность
Пожалуй, самое важное в этом релизе. Все пользовательские значения теперь экранируются при построении команд, это закрывает потенциальные векторы command injection в коннекторах, операциях и утилитах.
Docker стал полноценным
Добавили целый блок новых операций:
•
•
•
Плюс новые факты: версия Docker, детали контейнеров, образов и сетей.
Новые факты и операции
•
•
•
•
•
•
Поддержка uv
Добавлены факты и операции для работы с
APT и пакетные менеджеры
•
•
•
Прочее
•
•
• Поддержка
Обновиться:
➡️ Тэг на GitHub
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
Вышла новая версия инструмента для автоматизации инфраструктуры на чистом Python. Заодно проект перешёл на полный semver: теперь версии будут выглядеть как
3.8.0 вместо 3.8.Безопасность
Пожалуй, самое важное в этом релизе. Все пользовательские значения теперь экранируются при построении команд, это закрывает потенциальные векторы command injection в коннекторах, операциях и утилитах.
Docker стал полноценным
Добавили целый блок новых операций:
•
operations.docker.compose — управление через Docker Compose•
operations.docker.build — сборка образов•
operations.docker.login / logout — аутентификация в реестреПлюс новые факты: версия Docker, детали контейнеров, образов и сетей.
Новые факты и операции
•
facts.server.Ports — список всех портов в состоянии LISTEN на хосте.•
facts.server.Processes + server.kill — получить список процессов и завершить нужный.•
facts.server.AuthorizedKeys — чтение authorized_keys, операция user_authorized_keys стала идемпотентной.•
operations.files.unarchive — распаковка архивов как отдельная операция.•
operations.files.download — теперь поддерживает limit_rate для ограничения скорости загрузки.•
operations.git.repo — добавили параметр depth для shallow clone.Поддержка uv
Добавлены факты и операции для работы с
uv — Python-пакетным менеджером. Пример использования стал стандартным для проекта: все примеры в репозитории теперь запускаются через uv run pyinfra.APT и пакетные менеджеры
•
facts.apt.AptSources теперь понимает формат deb822 — современный способ записи источников в Debian/Ubuntu.•
apt.packages получил параметр purge для полного удаления пакетов вместе с конфигами.•
apt.key обновлён под современный подход без устаревшей команды apt-key.Прочее
•
config.INHERIT_ENV — новый параметр для передачи переменных окружения локального процесса во все операции.•
dzdo — добавлена поддержка как альтернативы sudo для повышения привилегий.• Поддержка
paramiko v4, совместимость с Python 3.14, ленивая загрузка модулей фактов и операций для ускорения старта.Обновиться:
pip install --upgrade pyinfra
📍 Навигация: Вакансии • Задачи • Собесы
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM