1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-xterm.js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Логотип xterm.js

Xterm.js — это компонент фронтенда, написанный на TypeScript, который позволяет приложениям привносить полнофункциональные терминалы в браузеры своих пользователей. Он используется популярными проектами, такими как VS Code, Hyper и Theia.

Возможности

  • Терминальные приложения работают легко: Xterm.js работает с большинством терминальных приложений, таких как bash, vim и tmux, включая поддержку приложений на основе курсора и событий мыши.
  • Высокая производительность: Xterm.js действительно быстрый, он даже включает GPU-ускоренный рендеринг.
  • Развитая поддержка Юникода: Поддерживает CJK, эмодзи и IME.
  • Автономность: Требует нулевых зависимостей для работы.
  • Доступность: Поддержка экранной клавиатуры и минимального соотношения контрастности могут быть включены.
  • И многое другое: Ссылки, темизация, расширения, подробно документированное API и т.д.

Что такое xterm.js

  • Xterm.js не является терминальным приложением, которое можно скачать и использовать на вашем компьютере.
  • Xterm.js не является bash. Xterm.js может быть подключен к процессам, таким как bash, и позволять вам взаимодействовать с ними (предоставлять входные данные, получать выходные данные).

Начало работыСначала вам нужно установить модуль; мы распространяем его исключительно через npm, поэтому вам потребуется установленный npm. Затем добавьте xterm.js как зависимость, запустив:```bash

npm install @xterm/xterm


Чтобы начать использование xterm.js в вашем браузере, добавьте `xterm.js` и `xterm.css` в начало вашего HTML-страницы. Затем создайте `<div id="terminal"></div>`, на который xterm сможет закрепиться. В конце концов, создайте объект `Terminal` и вызовите функцию `open` с помощью DOM-объекта div.

```html
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="node_modules/@xterm/xterm/css/xterm.css" />
<script src="node_modules/@xterm/xterm/lib/xterm.js"></script>
</head>
<body>
<div id="terminal"></div>
<script>
var term = new Terminal();
term.open(document.getElementById('terminal'));
term.write('Привет от \x1B[1;3;31mxterm.js\x1B[0m $ ')
</script>
</body>
</html>

Импорт

Рекомендованный способ загрузки xterm.js — это через синтаксис ES6 модулей:

import { Terminal } from '@xterm/xterm';

Расширения

⚠️ Эта секция описывает новый формат расширений, введенный в версии v3.14.0, см. здесь для инструкций по старому формату. Аддоны — это отдельные модули, расширяющие возможности Terminal, используя API xterm.js. Чтобы использовать аддон, сначала его нужно установить в ваш проект:

npm i -S @xterm/addon-web-links

Затем импортируйте аддон, создайте экземпляр и вызовите Terminal.loadAddon:

import { Terminal } from '@xterm/xterm';
import { WebLinksAddon } from '@xterm/addon-web-links';

const terminal = new Terminal();
// Установка аддона WebLinksAddon на терминал, этого достаточно для работы веб-ссылок в терминале.
terminal.loadAddon(new WebLinksAddon());
```Команда xterm.js поддерживает следующие аддоны, но любой может их создать:

- [`@xterm/addon-attach`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-attach): Подключение к серверу, запущенному процесс через WebSocket
- [`@xterm/addon-clipboard`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-clipboard): Доступ к буферу обмена браузера
- [`@xterm/addon-fit`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-fit): Адаптация терминала к содержащему его элементу
- [`@xterm/addon-image`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-image): Добавление поддержки изображений
- [`@xterm/addon-search`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-search): Добавление функциональности поиска
- [`@xterm/addon-serialize`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-serialize): Сериализация буфера терминала в последовательность VT или HTML
- [`@xterm/addon-unicode11`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-unicode11): Обновление ширин символов до значений Unicode 11
- [`@xterm/addon-web-links`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-web-links): Добавление обнаружения и взаимодействия с веб-ссылками
- [`@xterm/addon-webgl`](https://github.com/xtermjs/xterm.js/tree/master/addons/addon-webgl): Отображение xterm.js с использованием контекста WebGL2 элемента canvas

## Поддержка браузеров

Поскольку xterm.js обычно реализуется как инструмент для разработчиков, официально поддерживаются только современные браузеры. Конкретно последние версии Google Chrome, Microsoft Edge, Mozilla Firefox и Apple Safari.Xterm.js работает плавно в приложениях на основе [Electron](https://electronjs.org/) и может работать даже в более ранних версиях браузеров. Эти версии являются теми, которые мы стремимся поддерживать.### Поддержка Node.jsМы также публикуем [`xterm-headless`](https://www.npmjs.com/package/xterm-headless), который представляет собой сокращённую версию xterm.js, работающую в Node.js. Пример использования этого — это отслеживание состояния терминала, где процесс выполняется с помощью расширения сериализации, чтобы восстановить всё состояние при повторном подключении.

## API

Полная API для xterm.js содержится внутри файла объявлений TypeScript ([`xterm.d.ts`](https://github.com/xtermjs/xterm.js/blob/master/typings/xterm.d.ts)). Используйте выбор веток/тегов в GitHub (`w`), чтобы навигировать до правильной версии API.

Обратите внимание, что некоторые API помечены как *экспериментальные*. Эти API добавлены для экспериментов с новыми идеями без обязательства поддерживать их, как обычную [версионность semver](https://semver.org/). Обратите внимание, что эти API могут радикально меняться между версиями, поэтому обязательно читайте заметки выпусков, если вы планируете использовать экспериментальные API.

## Выпуски

Xterm.js следует ежемесячному циклу выпусков примерно.

Все текущие и прошлые выпуски доступны на странице [Выпусков](https://github.com/sourcelair/xterm.js/releases) этого репозитория. Вы можете просмотреть [общую дорожную карту на вики](https://github.com/xtermjs/xterm.js/wiki/Roadmap) и узнать, над чем мы работаем сейчас, просматривая [майлстоны](https://github.com/sourcelair/xterm.js/milestones).

### Бета-выпускиНаши сборки CI выпускают бета-версии на npm для каждого изменения, которое попадает в мастер. Установите последнюю бета-версию следующей командой:

```bash
npm install -S @xterm/xterm@beta

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

Вклад

Вы можете прочитать руководство на вики, чтобы узнать, как вносить вклад и настраивать xterm.js для разработки.## Реальные применения Xterm.js используется во многих мировых приложениях для предоставления отличного опыта работы с терминалами.

  • SourceLair: Веб-IDE с полностью функциональными терминалами на основе Linux, использующими xterm.js.

  • Microsoft Visual Studio Code: Современный, многофункциональный и мощный открытый кодовый редактор с встроенным терминалом на основе xterm.js.

  • ttyd: Утилита командной строки для совместного использования терминала через Интернет с полной эмуляцией терминала на основе xterm.js.

  • Eclipse Che: Сервер рабочих пространств для разработчиков, облачный IDE и следующее поколение IDE от Eclipse.

  • Codenvy: Облачные рабочие пространства для команд разработчиков.

  • CoderPad: Онлайн-платформа для проведения собеседований программистов. Выполнение кода на многих языках программирования с выводом результатов с помощью xterm.js.

  • WebSSH2: Веб-клиент SSH2, использующий xterm.js, Socket.IO и ssh2.

  • Spyder Terminal: Полностью функциональный системный терминал, встроенный в Spyder IDE.

  • Cloud Commander: Ортодоксальный веб-менеджер файлов с консолью и редактором.

  • Next Tech: Онлайн-платформа для интерактивного обучения программированию и веб-разработке.Живой терминал, поддерживающий контейнеры, использует xterm.js.

  • RStudio: RStudio — это среда интегрированного развития (IDE) для языка R.

  • Terminal for Atom: Простой терминал для текстового редактора Atom.

  • Eclipse Orion: Современная открытая система разработки программного обеспечения, работающая в облаке. Кодирование, развертывание и запуск в облаке.

  • Gravitational Teleport: Гравитационный Teleport — современный сервер SSH для удалённого доступа к кластерам Linux через SSH или HTTPS.

  • Hexlet: Практические курсы по программированию (JavaScript, PHP, Unix, базы данных, функциональное программирование). Постоянный путь от первой строки кода до первого места работы.

  • Selenoid UI: Простое графическое окружение для масштабируемого Go-реализации Selenium Hub под названием Selenoid. Мы используем xterm.js для передачи логов через WebSockets из контейнеров Docker.

  • Portainer: Простое графическое окружение управления для Docker.

  • SSHy: Веб-клиент на основе HTML5 для SSHv2 с шифрованием от конца до конца, использующий xterm.js, SJCL и вебсокеты.

  • JupyterLab: Расширяемая вычислительная среда для Jupyter, поддерживающая интерактивный анализ данных и научные вычисления на всех языках программирования.

  • Theiacom/theia-ide/theia): Theia — это облачная и десктопная IDE-фреймворк, реализованный на TypeScript.

  • Opshell: Инструмент для работы с AWS экземплярами в нескольких организациях.

  • Proxmox VE: Proxmox VE — это полная платформа для корпоративной виртуализации открытого исходного кода. Она использует xterm.js для терминалов контейнеров и командной строки хоста.

  • Script Runner: Выполнение скриптов (или командной строки) в Atom.

  • Whack Whack Terminal: Эмулятор терминала для Visual Studio 2017.

  • VTerm: Расширяемый эмулятор терминала, основанный на Electron и React.

  • electerm: electrem — это клиент терминала/SSH/SFTP (macOS, Windows, Linux), основанный на Electron/node-pty/xterm.

  • Kubebox: Консоль терминала для кластеров Kubernetes.

  • Azure Cloud Shell: Azure Cloud Shell — это управляемое Microsoft устройство для администрирования Azure.

  • atom-xterm: Плагин для Atom для предоставления терминалов внутри рабочего пространства Atom.

  • rtty: Доступ к вашим терминалам из любой точки мира через веб.

  • Pisth: Клиент SFTP и SSH для iOS.

  • Abstruse: Abstruse CI — это платформа непрерывной интеграции, основанная на Node.js и Docker.

  • Azure Data Studio:com/Microsoft/azuredatastudio)): Инструмент управления данными, который позволяет работать с SQL Server, Azure SQL DB и SQL DW на Windows, macOS и Linux.

  • FreeMAN: Бесплатный, многоплатформенный файловый менеджер для опытных пользователей.

  • Fluent Terminal: Эмулятор терминала, основанный на UWP и веб-технологиях.

  • Hyper: Терминал, созданный на основе веб-технологий.

  • Diag: Лучший способ быстрого устранения проблем. Записывайте, делитесь и повторно используйте знания по устранению неполадок, чтобы сосредоточиться на решении действительно важных задач.

  • GoTTY: Простой командный инструмент, который позволяет делиться вашим терминалом как веб-приложением на основе xterm.js.

  • genact: Генератор бессмысленной деятельности.

  • cPanel & WHM: Выбор платформы хостинга.

  • Nutanix: Нутаникс Корпоративное Облако использует xterm в функциональности webssh внутри Nutanix Calm, а также рассматривает возможность перехода старых функций noserial (termjs) на xterm.js.

  • SSH Web Client: Веб-клиент SSH с использованием PHP.

  • Juno: Гибкий IDE для языка Julia, основанный на Atom.

  • webssh: Веб-клиент SSH.

  • info-beamer hosted: Использует xterm.js для управления устройствами цифрового вывесочного оборудования через веб-панель управления.- Jumpserver: Проект Jumpserver Luna, Jumpserver — это проект бастайонного сервера, Luna использует xterm.js для эмуляции веб-терминала.

  • LxdMosaic: Использует xterm.js для предоставления доступа к терминалу контейнерам через LXD.

  • CodeInterview.io: Платформа для проведения кодовых собеседований на Yöntemleri 25+ языках программирования и многих веб-фреймворках. Использует xterm.js для предоставления доступа к шеллу.

  • Bastillion: Bastillion — это открыто-источниковое веб-приложение для управления административным доступом к системам.

  • PHP App Server: Создает легковесные, установочные приложения почти-нативного типа для операционных систем рабочего стола. ExecTerminal (красиво оборачивает Terminal xterm.js), TerminalManager и RunProcessSDK — это автономные, переиспользуемые компоненты на JavaScript ES5+.

  • NgTerminal: NgTerminal — это веб-терминал, который использует xterm.js на Angular 7+. Вы можете легко добавить его в свое приложение, добавив тег <ng-terminal></ng-terminal> в свой компонент.

  • tty-share: Очень простой способ совместной работы над терминалом через Интернет.

  • Ten Hands: Одно место для выполнения ваших командных задач.

  • WebAssembly.sh: Веб-терминал с использованием WebAssembly и WASI

  • GusОбщедоступная платформа для совместной работы над кодом, где можно запустить Python с помощью xterm.js.

  • Linode: Linode использует xterm.js для предоставления пользователям веб-консоли для управления своими экземплярами Linode

  • FluffOS: Активно поддерживаемый драйвер LPMUD с поддержкой WebSocket

  • x-terminal: Плагин для Atom, предоставляющий терминалы внутри рабочего пространства Atom

  • CoCalc: Большое количество свободного программного обеспечения, установленного заранее, чтобы общаться, сотрудничать, разрабатывать, публиковать, исследовать, делиться, преподавать на C++, HTML, Julia, Jupyter, LaTeX, Markdown, Python, R, SageMath, Scala и других языках

  • Dank Domain: Открытая многопользовательская средневековая игра, поддерживающая эмуляцию старых и новых терминалов

  • DockerStacks: Локальная студия разработки LAMP/LEMP

  • Codecademy: Использует xterm.js в своих курсах по Bash

  • Laravel Ssh Web Client: Инвентарь сервера Laravel с веб-клиентом SSH для подключения к серверу с использованием xterm.js

  • Replit: Коллаборационная браузерная IDE со поддержкой более чем 50 различных языков программирования

  • TeleType: Клиентская утилита командной строки, которая позволяет вам легко делиться своим терминалом онлайн.Показывайте свои навыки работы с командной строкой, помогите коллеге, преподайте или отладьте проблемы.

  • Interview: Параллельное программирование для собеседований. Поддерживаются несколько языков программирования, результаты которых отображаются с помощью xterm.js

  • TRASA: Без доверия доступ к веб-сервисам, SSH, RDP и базовым службам данных

  • Commas: Commas — это взломываемый терминал и исполняющий команды движок

  • Devtron: Потоки выполнения для доставки программного обеспечения для Kubernetes

  • NxShell: Простой в использовании новый терминал для SSH

  • gifcast: Преобразование записи asciinema в анимированную GIF-изображение

  • WizardWebSSH: Терминал с виджетом PyQt5 для встраивания, который может использоваться как клиент SSH для подключения к вашим серверам SSH. Написан на Python, основан на Tornado, Paramiko и xterm.js

  • Wizard Assistant: Оракул Ассистент приходит с продвинутыми средствами автоматизации, заранее загруженными общими и специальными командами для экономии времени, а также встроенным SSH терминалом. Теперь вы можете легко администрировать, диагностировать и анализировать любую систему удалённо.- ucli: Командная строка для всех :family_man_woman_girl_boy: на www.ucli.tech.

  • Tess: Простой полностью настраиваемый терминал для всех. Узнайте больше на tessapp.dev

  • HashiCorp Nomad: Контейнерный оркестратор с возможностью подключения к удалённым задачам через веб-интерфейс с использованием websockets и xterm.js.

  • TermPair: Визуализация и контроль терминалов из вашего браузера с конечной-конечной шифтровкой

  • gdbgui: Браузерная версия gdb (gnu debugger)

  • goormIDE: Выполнение практически любого языка программирования с реальным временем работы, живым парным программированием и встроенным мессенджером.

  • FleetDeck: Удалённый рабочий стол и виртуальный терминал

  • OpenSumi: Фреймворк для быстрого создания продуктов облачных или настольных IDE.

  • KubeSail: Компания самонаправленного хостинга — использует xterm для доступа пользователей к контейнерам Kubernetes и сбора GitHub приложений.

  • WiTTY: Веб-интерактивный эмулятор терминала, который позволяет пользователям легко записывать, делиться и воспроизводить сессии консоли.

  • libv86 Terminal Forwarding: Парная SSH для веба, используя WebRTC через Bugout для передачи данных и v86 для веб-виртуализации.- hack.courses: Интерактивные курсы Linux и командной строки с использованием xterm.js для предоставления настоящего терминала доступного для всех.

  • Render: Платформа как услуга для ваших приложений, сайтов и баз данных с использованием xterm.js для предоставления командного промта для пользовательских контейнеров и потока сборочных и рабочих логов.

  • CloudTTY: Дружественная веб-версия Kubernetes CloudShell.- Go SSH Web Client: Простой SSH веб-клиент, использующий Go, WebSocket и Xterm.js.

  • web3os: Распределённая операционная система для следующего поколения веба.

    • Cratecode: Учитесь программировать бесплатно с помощью интерактивных онлайн-уроков. Cratecode использует xterm.js для предоставления пользователям доступа к собственной среде Linux.
    • Super Terminal: Это HTTP-основанный терминал для разработчиков, которые не любят повторяться и экономят время.
    • graSSHopper: Простой клиент SSH с файловым менеджером, историей и множеством других возможностей.
    • DomTerm: Вкладки и вкладки. Отсоединяемые сессии (как tmux). Удалённые соединения с использованием удобной обёртки для SSH с предиктивным эхо. Qt, Electron, Tauri/Wry или браузеры рабочего стола. Выберите между движком xterm.js (быстрее) или нативным DomTerm (более функционально и графически) — или обоими.
    • Cloudtutor.io: Инновационная платформа онлайн-обучения, которая предлагает пользователям доступ к интерактивному лабораторному оборудованию.
    • Helix Editor Playground: Онлайн-площадка для терминального редактора Helix.
    • Coder: Самостоятельно размещённая среда удалённого развития.
    • Wave Terminaldev): Открытый исходный код, AI-направленный терминал, созданный для плавных рабочих процессов.
    • eva: Eva — это веб-приложение для удаленного входа через SSH, созданное на языке Go.
    • OpenSFTP: Сверхкрасивое рабочее пространство клиента для SSH и SFTP.
    • balena: Balena — это полное решение для разработки, развертывания, обновления и устранения проблем устройств Интернета вещей. Мы используем xterm.js для управления и отладки устройств на balenaCloud.
    • Filet Cloud: Легкий и мощный персональный облачный сервис ⛅.
    • pyTermTk: Python Terminal Toolkit — специализированная кросс-платформенная библиотека TUI 🌶️, использует xterm.js для экспорта в HTML5.
    • ecmaOS: Ядро и набор приложений, связывающий современные веб-технологии в браузерную операционную систему.
    • LabEx: Интерактивная платформа обучения с практическими лабораториями и xterm.js онлайн-терминалами, ориентированными на подход «обучение через действие».
    • И многое другое... Вы используете xterm.js в вашем приложении? Пожалуйста, отправьте Pull Request, чтобы включить это здесь. Мы будем рады видеть его в нашем списке.Примечание: пожалуйста, добавляйте любые новые вклады только в конец списка.## Лицензионное соглашение

Если вы делаете вклад в виде кода в этом проекте, вы явно разрешаете распространение вашего кода под лицензией MIT. Вы также подтверждаете, что весь предоставленный код является вашим оригинальным трудом.

Авторское право © 2017–2022, Авторы xterm.js (Лицензия MIT)
Авторское право © 2014–2017, Sourcelair, Частная компания (www.sourcelair.com) (Лицензия MIT)
Авторское право © 2012–2013, Christopher Jeffrey (Лицензия MIT)

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

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-xterm.js.git
git@api.gitlife.ru:oschina-mirror/mirrors-xterm.js.git
oschina-mirror
mirrors-xterm.js
mirrors-xterm.js
master