LINUX.ORG.RU

Программы на Rust, которые стоит попробовать. Часть №0.

 , ,


1

3
  • jless

    jless - это TUI просмотрщик JSON файлов.

  • eza

    eza - это мощный заменитель ls + tree с подсветкой и текстовыми значками (для которых нужен Nerd Font).

  • yazi

    yazi - это мощный TUI файловый менеджер с предпросмотром картинок, видео и PDF файлов. Текстовые форматы в области предпросмотра отображаются текстом. Всё это позволяет быстрее ориентироваться где что.

  • elio

    elio - это альтернатива yazi.

  • fish 4

    fish 4 - это мощная альтернатива bash с быстрыми автодополнениями и встроенной командой math, которая мощнее bc.

  • Wezterm

    Wezterm - это гибкий и мощный эмулятор терминала с конфигом на Lua, который перезагружается динамически после правок. При этом он также поддерживает полноценную графику наравне с kitty (не исключительно через sixel).

  • Niri

    Niri - это мощный и активно развивающийся скролл-тайлинговый Wayland-композитор. Рабочие столы расположены вертикально, при этом на любых рабочих столах при необходимости можно делать прокручивающуюся (горизонтально) ленту из окон.

  • ripgrep

    ripgrep - это мощная альтернатива grep'а заточенная на поиск в директориях, которая по дефолту учитывает правила gitignore, пропускает скрытые файлы и директории, а также пропускает бинарные файлы (это отключается через опции).

  • bat

    bat - это мощная альтернатива less с подсветкой исходников и номерами строк (также отключается через опции).

  • bottom

    bottom (команда - «btm») - это мощный TUI системный монитор.

  • difftastic

    difftastic - это мощная альтернатива diff для оценки изменений.

  • git-delta

    git-delta - это мощная альтернатива diff, которая через настройки git'а встраивается в его работу.

  • bookokrat

    bookokrat - это просмотрщик PDF и EPUB для эмуляторов терминала, которые полноценно поддерживают графику (как kitty и Wezterm). Да, он рендерит прямо в эмуляторе терминала не только текст, но и картинки.

Enjoy!

Перемещено hobbit из desktop

★★★★★

Последнее исправление: saahriktu (всего исправлений: 2)

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

> jless

+1 способ работать с JSON, кроме текстового редактора.

Лучше пофиксить текстовый редактор, если он не справляется.

> ripgrep

+1 новый синтаксис и +1 набор уникальных особенностей (вроде .gitignore).

«Мощная альтернатива» — это маркетинговая чушь. Скорее набор дефолтов, оптимизированный под определённый воркфлоу.

> bat

Read-only текстовый редактор.

Мне ещё особенно нравится, когда его ставят алиасом на cat. Это нарушает LSP [1].

> difftastic

Это не альтернатива diff. diff — инструмент общего назначения (и это хорошо, потому что справляется с новыми задачами), difftastic — более узкий домен для работы с синтаксисом. Оба имеют место быть, но не как один замена другому.

[1]: https://en.wikipedia.org/wiki/Liskov_substitution_principle

kaldeon ★★
()
Ответ на: комментарий от saahriktu

Зависит от контекста. Иногда отсутствие выбора лучше, чем его наличие. Например, когда есть хороший дефолт и цена альтернативы превышает выгоду.

Но я не об этом. Я про то, что если бездумно нахапать инструментов, то для решения одной задачи будет набор из N элементов. Это объективный вред продуктивности. И никто об этом не предостерегает, все только хвалятся фичами.

kaldeon ★★
()
Последнее исправление: kaldeon (всего исправлений: 2)

На статью не тянет. Просто перечисление разнокалиберных программ, которые ничего не объединяет, кроме выбранного авторами ЯП. Мощный, мощный, мощная, мощный.

А вот про diffstatic, кстати, можно было бы написать подробнее, если это то, о чём я думаю. :)

hobbit ★★★★★
()
Ответ на: комментарий от yvv1

Почему один просмотрщик PDF не мощный?

Я тоже удивился ;)

Странно, я хз что это за проги такие, зато юзаю единственную программу на rust которой нет в списке, uv.

anonymous
()

Это, конечно, всё круть, наверное, неимоверная, но на старости уже хорошо бы помнить в 15 командах сом строку... А тут еще это.

hbars ★★★★★
()

У этих инструментов на koi-8r мощности хватит?

anonymous
()
Ответ на: комментарий от Beewek

Зомбировался сам - зомбируй других, так это и работает.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)

Ты бы лучше указал в списке программы, которым альтернативы нет.

Например реализацию флеша на русте(которая круче остальных открытых), или игры. А так список не впечатляет...

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Странно, я хз что это за проги такие, зато юзаю единственную программу на rust которой нет в списке, uv.

Рекомендую pixi. Более универсальный ПМ, на экосистеме conda. PyPi поддерживает. Сам тоже на расте, поддерживает интеграцию проектов на расте (и других языках).

yvv1 ★★
()
Последнее исправление: yvv1 (всего исправлений: 1)
Ответ на: комментарий от CrazyAlex25
  • ls + tree

Это комбинация двух программ – слабая альтернатива eza. Из преимуществ, ls есть по умолчанию практически в любой Unix-like-системе.

  • bash

Это слабая альтернатива fish 4. Для автодополнения команд нужно докачивать пакет bash-completion.

  • less

Это слабая альтернатива bat без каких-либо цветов по умолчанию. Цвет может быть добавлен флажком -R.

  • grep

Это слабая альтернатива ripgrep. По умолчанию не пропускает никакие файлы. Пропуск бинарных файлов активируется флажком -I. В некоторых версиях можно пропускать директории флагом –exclude-dir=

  • diff

Это слабая альтернатива difftastic для оценки изменений.

  • git-diff

Это слабая альтернатива git-delta, которая по умолчанию встроена в git.

Jullyfish ★★
()

лучше наверное подредактировать и заменить слово «мощный» на «потужный». Чтоб более потужно было.

anonymous
()

встроенной командой math, которая мощнее bc

math мощнее чем qalculate.github.io ?

а если нет, то ненужно

x905 ★★★★★
()

Мощно, мощно!

Из перечисленного пользуюсь Niri, ripgrep, eza.

В списке яростно не хватает fd. «Мощная альтернатива find», если следовать стилю автора :D
Актино юзаю его.

Ещё из того, что помню, что на расте: hyperfine (удобная штука для бенчмарков, сравнения всякого), eww (панель, отлично сочетается с Niri). Наверняка ещё что-то юзаю, но в голову не приходит, или забыл, на каком оно языке написано.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от etwrq

давно уже есть https://github.com/uhub/awesome-rust https://github.com/awesome-rust-com/awesome-rust ну и подобные.

В больших списках много непонятного софта. Я же выделяю софт, который может подойти большому кругу людей, в т.ч. и старой школы, а не 3,5 любителям необычного.

saahriktu ★★★★★
() автор топика

broot - навигатор по файловой системе. Лично у меня непосредственно как навигатор не прижился, хотя командная строка совмещённая с поиском у него отличная, но он очень удобен чтобы посмотреть где что заняло место на диске.

neumond ★★
()
Ответ на: комментарий от saahriktu

Я же выделяю софт

а зачем Вы распространяете свои девиации неограниченному числу лиц посредством сети Интернет?

etwrq ★★★★★
()
Ответ на: комментарий от saahriktu

А нафига 2 одинаковых программы в списке - yazi и elio? Вы сами не смогли определиться, чем пользоваться?
Звучит как ненужно и альтернатива ненужно!
Лично у меня jless, eza, yazi, elio, bat, difftastic заменяет всего одна программа - mc (и ее алиасы mcview, mcedit, mcdiff)!

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 2)
Ответ на: комментарий от sigurd

Затем, что разным людям может понравиться разное.

Лично мне больше нравится elio.

saahriktu ★★★★★
() автор топика

Wezterm - это гибкий и мощный эмулятор терминала с конфигом на Lua, который перезагружается динамически после правок. При этом он также поддерживает полноценную графику наравне с kitty (не через sixel).

Так как пользуюсь WezTerm много лет, то не мог пройти мимо такого унизительного безобразия. :)

с конфигом на Lua, который перезагружается динамически после правок.

Не самое великое достижение. Lua в WezTerm позволяет делать намного больше: https://github.com/michaelbrusegard/awesome-wezterm.

также поддерживает полноценную графику наравне с kitty (не через sixel).

WezTerm поддерживает все три популярных протокола: iTerm2, Kitty, Sixel. Как и Konsole, например.

dataman ★★★★★
()

Wezterm

Всё же, он помер или нет? Вроде коммиты есть, но релизов уже 2,5 года не было, да и автор вроде уходил из проекта.

PS: Сам я на Ghostty перешел.

Loki13 ★★★★★
()
Ответ на: комментарий от dataman

Подправил. Я подразумевал, что ряд эмуляторов терминала (включая тот же xterm) поддерживают графику исключительно через sixel. А Wezterm в этот ряд не входит.

saahriktu ★★★★★
() автор топика

это TUI просмотрщик JSON файлов.

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

wandrien ★★★★
()

Разрешите дополнить список!

PWSP(PipeWire SoundPad) - православный(потому что единственный) линуксовый саундпад, с маленьким гуём и возможностью проигрывать аж звук с видеофайлов. Работает как юзерспейсный демон. Создаёт новое звуковое устройство, в которое сливаются звук с микрофона и звук из аудио-/видеофайла. Хорошая штука, чтобы побесить народ в голосовых чатах

https://github.com/arabianq/pipewire-soundpad

Tyse_EX ★
()

Если преимущественно работать в консоли на одном хосте - выбор это хорошо. А если есть регулярный разбор сиуаций по месту на множестве разнообразных (часто специфически-хардварных) тестовых окружений, то удобным становится тот набор тулзов, который для всего этого зоопарка максимлаьно быстро доступен, причём без рутовых прав. То есть то что предустановлено.

У меня ровно по этой причине даже bat не прижился, хотя концепт «Read-only текстовый редактор» мне кажется хорошим. К слову не только мне, уже очень давно есть команда view, основанная догадайтесь на каком редакторе, переведённом в readonly.

GPFault ★★★★
()
Последнее исправление: GPFault (всего исправлений: 6)
Ответ на: комментарий от hobbit

RustDesk супер, я его использую как VNC для прямых соединений без использования каких-либо исхордящих соединений (чтоб не добавлять поверхность атаки, начать подключениме может только тот кто может достучатсья до целевого хоста)

Для этого в конфиг /root/.config/rustdesk/RustDesk2.toml прописал

rendezvous_server = '127.0.0.1:21116'
nat_type = 1
serial = 0
unlock_pin = ''
trusted_devices = ''

[options]
verification-method = 'use-permanent-password'
direct-server = 'Y'
custom-rendezvous-server = '127.0.0.1'
key = 'http://127.0.0.1'
relay-server = '127.0.0.1'
direct-access-port = '4000'
av1-test = 'Y'
api-server = 'http://127.0.0.1'

И, всё, внешние клиенты прекрасно подключаются по ip:4000 на целевом хосте он показывает что он offline (то есть не смог подключить ни на какой удалённый сервер и слава богу).

В результате один и тот же внешний клиент как для прямых подключений, так и для косвенных в тех случаях когда это допустимо. Нравится больше чем vnc. Жаль что галочки «не стучаться вообще ни на какие внешние сервера» нет в параметрах и пришлось костылить конфиг.

GPFault ★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария