Hacker News Digest

Тег: #terminal

Постов: 15

The terminal of the future (jyn.dev) 🔥 Горячее

Современные терминалы ограничены решениями, принятыми ещё в 1980-х, и состоят из четырёх компонентов: эмулятора терминала, псевдотерминала (PTY), оболочки (shell) и запускаемых программ. Автор отмечает, что внутренняя структура терминалов — это "куча", где многие решения невозможно изменить из-за исторического наследия. В качестве примера приводится цитата Джулии Эванс: "Внутренности терминалов — это беспорядок. Большая часть этого именно такая, потому что так кто-то решил в 80-х, и теперь это невозможно изменить".

В качестве альтернативы традиционному терминалу автор предлагает использовать Jupyter Notebook как модель для будущего терминала, предлагающую такие возможности, как высококачественное рендеринг изображений, функцию "перезапустить с начала" и возможность редактирования представлений кода и вывода. Статья описывает четыре этапа создания такого терминала: транзакционную семантику, постоянные сессии, структурированный RPC и интерфейс, похожий на Jupyter.

by miguelraz • 11 ноября 2025 г. в 20:11 • 282 points

ОригиналHN

#terminal#jupyter#pty#shell#rpc

Комментарии (146)

  • Обсуждение охватывает широкий спектр тем: от философских вопросов о том, что такое терминал и каким он должен быть, до конкретных технических деталей, таких как поддержка изображений, буферов и сессий.
  • Участники обсуждают, какие функции действительно необходимы, и какие являются излишеством, и как они могли бы быть реализованы без нарушения обратной совместимости.
  • Обсуждаются такие темы как встроенная поддержка редактора, возможность встроенной поддержки графики и мультимедиа, и как эти функции могли бы быть реализованы без нарушения существующих стандартов.
  • Участники также обсуждают, какие функции могли бы быть реализованы в будущем, и какие из них уже реализованы в других системах, таких как Jupyter и Emacs.
  • Обсуждается, какие функции могли бы быть реализованы в будущем, и какие из них уже реализованы в других системах, таких как Jupyter и Emacs.

Terminal Latency on Windows (2024) (chadaustin.me)

by bariumbitmap • 11 ноября 2025 г. в 18:07 • 98 points

ОригиналHN

#windows#terminal#performance#wsl#serial-communication#rs232

Комментарии (77)

  • Windows Terminal development focuses on improving throughput and performance, with recent updates significantly boosting speed.
  • Users compare terminal performance across platforms, noting macOS's Terminal.app and alternatives like Ghostty, with some pointing to benchmarks showing macOS may lag.
  • Feature requests include serial communication support (e.g., Serial/RS232) and better integration with tools like Tera Term, alongside discussions on handling output buffering.
  • Some users highlight Windows Terminal's advantages, like WSL integration, while others note limitations compared to Linux/macOS terminals.
  • Discussions acknowledge Windows as a multi-purpose OS, not just for gaming, with many developers using it daily for development, especially with WSL.

Ratatui – App Showcase (ratatui.rs) 🔥 Горячее 💬 Длинная дискуссия

Ratatui — библиотека для создания терминальных интерфейсов (TUI) на Rust, предлагающая инструменты для построения интерактивных консольных приложений. Она предоставляет богатый набор виджетов (таблицы, графики, календари, списки), гибкие системы компоновки и стилизации, а также поддержку различных архитектурных подходов, включая The Elm Architecture, Component и Flux. Библиотека работает с несколькими бэкендами, поддерживает обработку событий, работу с сырым режимом терминала и захват мыши.

Документация структурирована по разделам: от базовой установки и флагов возможностей до подробных туториалов (создание счётчика, JSON-редактора), примеров приложений и концепций. Особое внимание уделено рецептам решения конкретных задач: компоновка интерфейсов, рендеринг, кастомизация виджетов, тестирование и разработка приложений. Проект активно развивается, с активным сообществом в Discord, Matrix и других платформах.

by AbuAssar • 06 ноября 2025 г. в 02:50 • 662 points

ОригиналHN

#rust#tui#terminal#elm#flux#json

Комментарии (189)

  • Rust-разработчики выбирают TUI, потому что в Rust нет приемлемого GUI-решения, а Ratatui «просто работает».
  • Сообщество в основном согласно, что Qt в Rust нет и не предвидится, и что это не проблема, которую можно решить внешним крейтом.
  • Терминальные приложения в Rust-экосистеме в основном используют Ratatui, потому что он «просто работает» и не требует сложной настройки.
  • Несколько участников поделились ссылками на свои проекты, в которых используется Ratatui, включая игру Rebels in the Sky и чат-клиент termchat.
  • Обсуждение также коснулось того, что TUI-инструменты в Rust-экосистеме в основном используют Ratatui, потому что он «просто работает» и не требует сложной настройки.

Bat v0.26.0 (github.com)

К сожалению, в предоставленном тексте нет информации о содержимом релиза bat v0.26.0. Виден только заголовок страницы релиза, но отсутствует описание изменений, новых функций или исправлений, которые обычно публикуются в таких анонсах.

Чтобы предоставить точный пересказ, необходима информация о том, что нового в этой версии bat. Обычно такие релизы включают обновления подсветки синтаксиса для новых языков программирования, исправления ошибок или новые возможности утилиты.

by indentit • 20 октября 2025 г. в 06:49 • 108 points

ОригиналHN

#bat#cli#syntax-highlighting#terminal#git#github

Комментарии (50)

  • bat — улучшенный cat, который подсвечивает синтаксис, показывает git-изменения и имеет встроенный пейджер.
  • Пользователи отмечают, что bat делает чтение кода и логов в терминале более удобным и приятным.
  • Некоторые вспоминают, что bat — это единственный инструмент, который они устанавливают в первую очередь в новой системе.
  • Несколько человек вспомнили, что когда-то использовали cat и были удивлены, что bat — это не просто переработка cat, а полностью новый инструмент.

Run interactive commands in Gemini CLI (developers.googleblog.com)

В предоставленном фрагменте содержится только навигационная структура сайта Google Developers Blog и заголовок статьи "Say hello to a new level of interactivity in Gemini CLI", но отсутствует основной текст публикации.

Заголовок указывает на анонс обновлений для Gemini CLI, повышающих уровень интерактивности, но конкретные детали, функции или улучшения в тексте не раскрыты. Статья доступна на нескольких языках, включая английский, испанский, индонезийский, японский, корейский, португальский и китайский.

Для создания точного пересказа требуется полный текст статьи с описанием новых возможностей Gemini CLI.

by ridruejo • 16 октября 2025 г. в 14:31 • 191 points

ОригиналHN

#gemini#cli#google#mcp#terminal#git#logging

Комментарии (69)

  • Пользователи жалуются на ненадёжность Gemini CLI: модель часто отказывается читать файлы вне проекта, путает \n и \n\n, а иногда и вовсе не может запустить интерактивную оболочку без дополнительного убеждения.
  • Сообщество отмечает, что в отсутствии нормального MCP-протокола Gemini CLI уступает не только в UX, но и в надёжности: «по факту ты просто запускаешь процесс в псевдотерминале и смотришь стрим — без TUI-модели и без встроенного логгера снимков состояния».
  • Несколько участников подтверждают, что даже базовые сценарии вроде git log или git diff заставляют модель «залипать» и требуют ручного перезапуска.
  • Наблюдается общее чувство, что Google недооценивает как саму модель, так и экосистему вокруг неё: «Почему до сих пор нет нормального логгера, нормального MCP-сервера, нормального линтера или хотя бы нормального линтера?»
  • Наконец, вопрос о лицензии: «кто владеет "сериализованными" терминальными сессиями, которые Google выгружает в облако?»

Libghostty is coming (mitchellh.com) 🔥 Горячее 💬 Длинная дискуссия

Разработчик Mitchell Hashimoto анонсировал libghostty — библиотеку для встраивания полнофункционального терминала в любые приложения. Первым компонентом станет libghostty-vt: легковесная библиотека без зависимостей (включая libc) для парсинга терминальных последовательностей и управления состоянием терминала. Она извлечена из ядра Ghostty и предлагает оптимизированную обработку Unicode, поддержку SIMD и совместимость с продвинутыми протоколами вроде Kitty Graphics.

Проблема в том, что многие проекты (редакторы, веб-консоли, хостинги) реализуют эмуляцию терминала с нуля, часто с ошибками и неполной функциональностью. Libghostty-vt устраняет эту избыточность, предоставляя единое корректное и быстрое решение. Библиотека будет портирована на macOS, Linux, Windows, embedded-устройства и WASM, что шире, чем охват самого Ghostty.

by kingori • 23 сентября 2025 г. в 13:56 • 768 points

ОригиналHN

#zig#libghostty#ghostty#terminal#unicode#wasm#embedded#kitty#tmux

Комментарии (239)

  • Пользователи высоко оценивают Ghostty за его производительность, минималистичный дизайн и поддержку Zig, но отмечают отсутствие некоторых ключевых функций, таких как поиск (Cmd+F) и проблемы с рендерингом шрифтов.
  • Многие выражают восхищение разработчиком Mitchell Hashimoto, его предыдущими проектами (Vagrant) и его подходом к созданию простых и эффективных систем.
  • Анонс библиотеки libghostty вызвал интерес для использования в embedded-сценариях (игры, кастомные приложения, веб-терминалы) и как потенциальная замена существующим библиотекам.
  • Некоторые пользователи столкнулись с проблемами совместимости, особенно с tmux и графическими протоколами, что мешает им полностью перейти с iTerm2 или других терминалов.
  • Обсуждаются технические детали, такие как лицензирование (MIT vs LGPL), поддержка Unicode и сравнение с другими терминалами (Kitty, Alacritty, WezTerm).

iTerm2 Web Browser (iterm2.com)

iTerm2 расширяет возможности терминала, добавляя встроенный веб-браузер, который интегрируется в стандартную иерархию окон, вкладок и разделённых панелей. Для активации нужно установить плагин и создать профиль с типом «Web Browser». Навигация и управление окнами работают аналогично терминальным сессиям, включая горячие клавиши, но с особенностями: например, ⌘-[ и ⌘-] выполняют навигацию «назад/вперёд», а не переключение панелей.

Браузер поддерживает умное выделение текста, режим копирования, поиск с регулярными выражениями, интеграцию с ИИ для обсуждения страниц и приватный режим /dev/null. Есть блокировка рекламы, поддержка прокси и менеджеров паролей. Дополнительные функции включают закладки, запись сессий, глобальный поиск и автоматизацию через триггеры и сниппеты. Это позволяет работать с веб-контентом прямо в терминале, сохраняя привычный интерфейс.

by danielfalbo • 19 сентября 2025 г. в 07:14 • 99 points

ОригиналHN

#iterm2#web-browser#terminal#macos#plugins#privacy#automation#security

Комментарии (75)

  • Пользователи обсуждают новую функцию веб-браузера в iTerm2, отмечая её необычность и потенциальную полезность для интеграции терминала и браузера.
  • Некоторые выражают скепсис, задаваясь вопросом о необходимости функции и предпочитая традиционные текстовые браузеры (например, lynx).
  • Поднимаются вопросы технической реализации, ограничений Apple (например, отсутствие поддержки passkeys) и проблем с настройкой/отображением функции.
  • Высказывается благодарность разработчику iTerm2 за качественный продукт и постоянные инновации, несмотря на наличие экстравагантных функций.
  • Обсуждаются корпоративные сценарии использования, вопросы безопасности и потенциальные угрозы от запуска браузера внутри терминала.

MapSCII – World map in terminal (github.com)

MapSCII — это инструмент для отображения карт мира прямо в терминале с использованием символов ASCII и Брайля. Для подключения на Mac и Linux достаточно выполнить команду telnet mapscii.me, предварительно установив telnet (например, через brew install telnet), а на Windows — использовать PuTTY.

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

by _august • 18 сентября 2025 г. в 18:12 • 194 points

ОригиналHN

#terminal#ascii#braille#telnet#putty#openstreetmap#command-line#github

Комментарии (20)

  • Обсуждение технических аспектов работы карты в различных терминалах и через Telnet, включая проблемы с отображением и поддержкой мыши.
  • Упоминание о возрасте проекта (более 8 лет) и его доступности для vintage-компьютеров через Telnet.
  • Сравнение проекта с другими известными работами, такими как Google Maps для NES и ежедневной игрой FoodGuessr.
  • Восторженные отзывы о визуальной реализации и использовании OpenStreetMap для детализации до уровня улиц.
  • Несколько комментаторов изначально спутали проект с чем-то связанным со StarCraft II из-за аббревиатуры SCII.

Oq: Terminal OpenAPI Spec Viewer (github.com)

oq — консольный просмотрщик OpenAPI-спецификаций.
Быстро открывает swagger.json|yaml в терминале, показывает эндпоинты, параметры, примеры ответов.
Установка: go install github.com/plutov/oq@latest.
Использование: oq spec.yaml.

by der_gopher • 12 сентября 2025 г. в 14:53 • 99 points

ОригиналHN

#openapi#swagger#yaml#json#go#terminal#api#spec-driven-development#http#github

Комментарии (12)

  • Утилита «oq» — терминальный просмотрщик OpenAPI-спецификаций, упрощающий навигацию по большим YAML/JSON.
  • Пользователи практикуют spec-driven development: спецификация = единый источник правды, из неё генерируют типизированный клиент и сервер.
  • Название «oq» уже занято другим проектом (homebrew-установка ставит не тот пакет); автор пока не переименовывает, предлагает брать бинарь с GitHub-релизов.
  • Поддержка OpenAPI 3.1 заявлена, но реализована поверх библиотеки kin-openapi, которая 3.1 пока не умеет; для простого листинга маршрутов и компонентов это работает.
  • В планах — добавить возможность делать реальные HTTP-запросы прямо из viewer.

Jiratui – A Textual UI for interacting with Atlassian Jira from your shell (jiratui.sh) 🔥 Горячее

JiraTUI — терминальный клиент Jira: ищи, создавай, обновляй задачи не отрываясь от кода.

Возможности

  • Поиск: быстрый фильтр по статусу, исполнителю, приоритету; продвинутый JQL с сохранением выражений.
  • Создание: новая задача из консоли — заголовок, описание, приоритет за секунды.
  • Обновление: статус, исполнитель, метки, дедлайн — всё правится командой.
  • Комментарии: добавляй/удаляй прямо из терминала.
  • Связи: линкуй/отвязывай подзадачи и зависимости без GUI.

Плюсы

  • Конфигурируем: хоткеи и настройки под себя.
  • Прост: команды понятны без мануала.
  • Быстр: действия выполняются мгновенно.
  • Удобен: минимум кликов, максимум фокуса.

GitHub | Документация

by gjvc • 10 сентября 2025 г. в 14:42 • 276 points

ОригиналHN

#jira#atlassian#tui#terminal#rust#go#api#cli#bash

Комментарии (68)

  • Пользователи в восторге от Jira-TUI: быстрый поиск, красивый интерфейс, спасение от тормозов веб-версии.
  • Просят аналоги для GitHub, Linear, Asana, Slack; ищут TUI-библиотеки Rust/Go такого же уровня.
  • Хотят кликабельные ссылки из почты/Slack сразу в TUI, но это требует кастомного URI-обработчика.
  • Кто-то просит CLI-версию для массового импорта задач, кто-то — классический Kanban-доску.
  • Поднимаются вопросы безопасности (API-ключ в стороннем проекте) и поддержки on-prem Jira API v2 (не поддерживается).

Show HN: Term.everything – Run any GUI app in the terminal (github.com) 🔥 Горячее

**term.everything** — запускай любые GUI-программы прямо в терминале.  
Проект на GitHub: mmulet/term.everything  
**term.everything** — запускай любые GUI-программы прямо в терминале.  
Проект на GitHub: mmulet/term.everything  

by mmulet • 09 сентября 2025 г. в 13:16 • 1011 points

ОригиналHN

#wayland#terminal#remote-access#vscode#discord#firefox#ssh#github

Комментарии (137)

  • Проект запускает полноценные GUI-приложения (Wayland) прямо в терминале через escape-коды, чем восхищает и удивляет большинство комментаторов.
  • Некоторые сравнивают с устаревшими трюками вроде Xvfb + sixel или вспоминают заброшенный Chromium-в-терминале Carbonyl.
  • Находят практическое применение: удалённый доступ к браузеру/Discord при закрытых портах, CI-машины без VNC, аутентификация через Firefox по SSH, запуск VSCode с iPad.
  • Вопросы и шутки: «Потребляет ли больше ресурсов?», «Запустит ли DOOM?», «Работает ли под X11?» (нет, только Wayland).
  • Общий вердикт: «безумно круто», «бесполезно, но вдохновляет», «держу в закладках на чёрный день».

Forking Chrome to render in a terminal (2023) (fathy.fr)

  • Рисование
    Терминал умеет только моноширинные символы и escape-последовательности. Используем нижний полублок , задавая цвет фона (верхний пиксель) и символа (нижний).

    fn print_pixels_pair(top, bottom, (x, y)) {
        println!("\x1b[{};{}H\x1b[48;2;{t}m\x1b[38;2;{b}m▄", y+1, x+1, t=top, b=bottom);
    }
    
  • Текст
    Создаём TextCaptureDevice в Skia: перехватываем onDrawGlyphRunList, преобразуем glyph → Unicode, вызываем Rust-функцию draw_text.
    Добавляем очистку текста при заливке прямоугольников:

    if (paint.getStyle() == kFill_Style && paint.getAlphaf() == 1.0)
        clear_text(rect);
    
  • Ввод
    Читаем stdin, парсим escape-коды клавиш/мыши, передаём их в Chromium через DOM-события.

  • Pipe-режим
    carbonyl --pipe рисует в stdout, позволяя встраивать браузер в скрипты.

  • Mojo
    Заменяем GPU-процесс на заглушку, отключая лишние сервисы.

  • Layout
    Подгоняем device_scale_factor и viewport под размер терминала, чтобы 1 px = ½ клетки.

  • LoDPI
    На 1×-экранах включаем сглаживание, чтобы символы не «дребезжали».

  • Цвет
    Палитра 6×6×6 или 24-бит truecolor; приводим цвета к ближайшему доступному.

  • Заголовок
    ESC-операторы меняют заголовок окна и вкладки tmux.

  • Итог
    Carbonyl запускает весь веб в терминале без X11/Wayland: cargo install carbonyl.

by riddley • 05 сентября 2025 г. в 00:54 • 140 points

ОригиналHN

#rust#cpp#skia#chromium#mojo#terminal#unicode#pdf#podman#youtube

Комментарии (17)

  • Carbonyl — терминальный браузер на движке Chrome, удивительно шустрый и юзабельный, особенно с --zoom=300 --bitmap.
  • Пользователи просят добавить Kitty Graphics Protocol, sixel/chafa для нормального вывода картинок без ASCII-арта.
  • Проект вдохновлён browsh, но работает быстрее; автору даже помог получить работу.
  • Запускается в podman, показывает YouTube «кубиками» и почти справляется с капчей (могут помочь мультимодальные LLM).
  • Под капотом — Skia и Mojo из Chromium, что позволяет рендерить всё, включая PDF.

Show HN: Doxx – Terminal .docx viewer inspired by Glow (github.com)

doxx — утилита для просмотра содержимого .docx прямо в терминале.
Быстро, безопасно, без MS Office.

  • Установка
    cargo install doxx

  • Использование

    • Просмотр: doxx file.docx
    • Извлечение текста: doxx --text file.docx > out.txt
    • Показ метаданных: doxx --meta file.docx
  • Особенности

    • Чистый Rust, нет внешних зависимостей.
    • Поддержка кириллицы, таблиц, списков.
    • Режим «только чтение» — файлы не изменяются.

by w108bmg • 17 августа 2025 г. в 19:52 • 223 points

ОригиналHN

#rust#terminal#docx#tui#cargo#ooxml#cli#github

Комментарии (57)

  • Пользователи высоко оценили скорость и полезность TUI-утилиты для просмотра docx, но почти все согласились: название «doxx» вызывает негативные ассоциации с doxxing и требует смены.
  • Ключевое требование — любые «AI-фичи» должны быть полностью опциональными или вынесены в отдельный проект, иначе инструмент запретят в корпоративных и юридических средах.
  • Популярные пожелания: Docker-образ, бинарники для Windows, поддержка Track Changes/метаданных, отображение картинок через kitty/sixel, а также возможность «cat+grep» без промежуточных конвертаций.
  • Некоторые предложили использовать pandoc, LibreOffice или OOXML-Validator как дополнительные инструменты, а автор подтвердил, что скоро появятся релизы и улучшенная документация.

Show HN: Lue – Terminal eBook Reader with Text-to-Speech (github.com)

lue — терминальный ридер ePub с TTS.

  • Основное: читает ePub, воспроизводит речью, работает в консоли.
  • Управление: клавиши Vim-стиля, навигация по главам, закладки.
  • Настройка: темы, голоса, скорость, горячие клавиши.
  • Установка: cargo install lue или brew install lue.
  • Системы: Linux, macOS, Windows.
  • Лицензия: MIT.

by superstarryeyes • 16 августа 2025 г. в 18:00 • 79 points

ОригиналHN

#rust#epub#text-to-speech#vim#terminal#python#mit#cross-platform#espeak#github

Комментарии (22)

  • Пользователи тестируют новый инструмент lue для чтения/озвучки epub в терминале: TTS-часть ценят за «просто закинул и слушай», но чтение в моноширинном шрифте вызывает сомнения.
  • Основная боль — внешние зависимости (espeak, antiword) и требование Python ≥ 3.10; автор уже пообещал поднять минимальную версию.
  • Прогресс и состояние озвучки сохраняются в системных логах; серверный запуск позволит синхронизировать закладки.
  • Сноски, колонтитулы и служебные символы вырезаются, чтобы не мешать TTS; возможно появится опция оставлять их для обычного чтения.
  • Автор собрал адаптеры для Kitten TTS, Gemini и др., но пока не опубликовал их, размышляя о выделении отдельного репозитория.
  • Вопросы о запуске из Termux/Android и безопасности кода пока без ответа; автор приветствует аудит и обратную связь.

Progress towards universal Copy/Paste shortcuts on Linux (mark.stosberg.com)

На Linux Ctrl-C/Ctrl-V в терминале не работают, потому что Ctrl нужен для управляющих кодов. Приходится жать Ctrl+Shift+C/V. К 2025 году появится универсальное решение без лишнего ПО: старые коды клавиш Copy и Paste, которые Linux «знает» с древности.

Как это работает

  1. Клавиатура
    Программируемые клавиатуры (System76 Launch, Framework 16, ZSA Moonlander, Keychron Q10 и др.) позволяют назначить на любую клавишу слой, где C = Copy, V = Paste. Для активации слоя удерживается модификатор (например, «Raise» на моей Corne).

  2. Прошивка и конфигураторы
    Производители дают свои утилиты (System76 Keyboard Configurator), а Vial поддерживает множество моделей. В слое можно вывести Copy/Paste на C/V, стрелки на домашний ряд и прочие удобства.

  3. ПО Linux
    Приложения опираются на GUI-тулкиты GTK и Qt.

    • GTK добавил поддержку Copy/Paste-кодов в январе 2025.
    • Qt внедрит их в версии 6.10 (сентябрь 2025).

Совокупность программируемого «железа» и обновлённых тулкитов даст единые горячие клавиши Copy/Paste во всех приложениях Linux без дополнительных твиков.

by uncircle • 12 августа 2025 г. в 12:00 • 112 points

ОригиналHN

#linux#terminal#keyboard#vim#tmux#x11#keyboard-shortcuts

Комментарии (135)

  • Участники жалуются на разнообразие клипбордов в Linux (X11, Vim, tmux) и их несогласованность.
  • В терминалах приходится добавлять Shift к Ctrl-C/Ctrl-V, что ломает мышечную память и вызывает ошибки.
  • Apple решает конфликт отдельным Cmd-ключом, но даже там приложения перехватывают сочетания непредсказуемо.
  • Многие используют альтернативы: Ctrl/Shift-Insert, выделение + средняя кнопка мыши, ремап клавиш, покупку программируемых клавиатур.
  • Единого механизма объявления и настройки шорткатов в Linux нет, поэтому Chrome и другие приложения игнорируют системные привязки.