Стендап Сьогодні
📢
Канал в Telegram @stendap_sogodni
🦣
@stendap_sogodni@shevtsov.me в Федиверсі
20.10.2025
Робота із Windows по SSH
Є в мене домашній сервер на Windows. Точніше не так: в мене є ігровий компʼютер на Windows, але оскільки в ньому потужна відеокарта та й решта заліза, він чудово підходить для важких задач, як-от бібліотеки Plex. У 2023 я писав, як перекодовував фільмотеку у HEVC.
Тоді я робив всю роботу на макбуці, а на Windows потім тільки запускав bat-файл для перекодування. Для обмеженої задачі того вистачало. Але тепер стикнувся із тим, що читання файлів у випадковому порядку — з мережевого диска значно повільніше за локальне. Та аналіз кодеків утилітою Mediainfo не закінчився за декілька годин. Отже, вирішив запускати скрипти безпосередньо на Windows.
Але, власне працювати на Windows в мене не було бажання аж зовсім. Зате у Windows є вбудований сервер SSH. Це вже половина справи — можна відкривати термінал та щось там робити. Було б чудово, аби в Windows були нормальні команди оболонки, а не dir
замість ls
і так далі — але жити можна. От тільки ж Ruby немає.
Ну то й що, chocolatey робить встановлення Ruby в одну команду: choco install ruby mediainfo-cli
. Серйозно, без Chocolatey на Windows взагалі немає чого робити. (Також можна було встановити Mise, але поки потреби немає.)
Залишилося питання того, як доставити скрипт на компʼютер із Windows. Окрім того, що можна було змонтувати мережевий диск та редагувати файл прямо там, можна скористуватися звичайним scp
, бо він також працює без жодних проблем. Я чомусь про мережевий диск забув, а зробив собі скрипт по типу scp script.rb pc:. && ssh -tt -x 'ruby script.rb'
.
От, власне, і все, результату досягнено, те що мережею займало години, локально відбулося за хвилини. Також допомогла рівночасність та клас Thread::Queue
, але про то іншим разом.