Заметка как сделать себе удобно в windows

Темы, которые НЕ подходят по объему под префикс "Статья"

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
для многих этот заголовок может прозвучать странно... ;)
Разверну тезис:
- часто в windows не хватает инструментов разработки, а их установка связана с риском поиска и разгребания разного... . И это при том - что инструменты бесплатны и легко устанавливаются в линукс
- консольные утилиты в виндовс существуют в нескольких ипостасях и их настройка/управление очень разнится, я про ПШ (PowerShell) и cmd (всё что в них доступно)
- сам "терминал" винды (любой встроенный), при доступе к линуксовым хостам (через ssh) может давать неожиданные эффекты ;) (предположу - разная обработка спец символов)
- доступ к удаленным хостам, в винде, принято осуществлять через... РДП (RDP) + СМБ (SMB) что не всегда удобно/безопасно (через интернеты разные)

Какие уже наработаны кастыли (из того с чем я сталкивался):
- cygwin
- mingw
- wsl

некоторые утилиты под виндой могут "тянуть" те или иные зависимости (выше перечисленные)
Для меня очевидно, что более-менее полноценное использование, ч-л близкого к линуксу, возможно только в wsl

существует в двух вариантах розлива: 1 и 2 (различие по ссылке)
рекомендую не морочится и ставить 2-ую реинкарнацию
Доступ к ФС внутри wsl будет вида
1669134969113.png

в проводнике будет отображаться как
1669135021943.png

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

Где виндоюзер может столкнутся с wsl?:
- очевидно - docker
- желание иметь полноценный терминал/ноду(хотя это )/perl/python...
- получить графическое отображение (через ssh -XYC user@server и далее команду как на скрине) с линукс хоста (например для установки/настройки первого сервера). Это происходит через java и выглядеть может так
1669135738656.png


- управлять домино консолью без виндосвитоперделок, тупо по ssh , см.
- к пункту выше - можно снимать "статистику" с домины, по ssh
- запуск нативных сервисов линукса, с нек. оговорками - это возможно в wsl

Штатно в винде есть (клиент и сервер, сервер надо попыхтеть поставить), но из-за особенности консолей винды я не захотел пользоваться таким образом (клиентом) и использую mobaXterm (он Xserver, для удалённой графики, предоставляет, в т.ч.). К тому же я часто предпочитаю
Можно "монтировать" (это привычное слово для линуксоидов) удалённые ресурсы по ssh, использую GitHub - winfsp/sshfs-win: SSHFS For Windows . Некий аналог видовых шар, но не нужен ВПН ;) (если упрощать)
так выглядит
1669285036117.png
 
Последнее редактирование:
  • Нравится
Реакции: aameno2

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
Никогда не понимал, да и сейчас для меня загадка - зачем эта штука (WSL) вообще нужна.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
Никогда не понимал, да и сейчас для меня загадка - зачем эта штука (WSL) вообще нужна.
докер (в шинде он использует wsl), сервисы..., которые работают нормально только в линуксах
утилиты..., для шинды либо пересборки (которые ещё должен кто-то сделать) ли неполноценные аналоги
если коротко - разработка (современная) в винде часто сопряжена с неудобствами и wsl - способ МС это нивелировать, чтобы разрабы не сбегали
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
докер (в шинде он использует wsl), сервисы..., которые работают нормально только в линуксах
утилиты..., для шинды либо пересборки (которые ещё должен кто-то сделать) ли неполноценные аналоги
если коротко - разработка (современная) в винде часто сопряжена с неудобствами и wsl - способ МС это нивелировать, чтобы разрабы не сбегали
Ну, MS понятно хочет чтобы "стильно, молодёжно", но разработчикам зачем этот геморрой, не проще ли использовать полноценный Linux? А MS давно надо было Bash или Zsh вместо cmd замутить + консольных припампасов, аналогичных линуксовым понаписать. А они вдруг PowerShell родили, где каждая команда не менее километра длиной.
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
Писать чисто под линух например. Находясь в винде. В wsl2 это стало намного лучше.
Ужас! Звучит как "удалять гланды через... с помощью нашего инструмента теперь намного удобнее", как будто бы никто не знает как это правильно делать надо.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
Ужас! Звучит как "удалять гланды через... с помощью нашего инструмента теперь намного удобнее", как будто бы никто не знает как это правильно делать надо.
ну моё отношение ты знаешь ;)
здесь речь - если ты уже в винде
да, я могу удалённо залезть в ВМ/контейнер и сделать всё что надо "нативно", но в организациях "обычно" нет таких вариантов (и знаний у виндоюзверей)
ощутимая часть разрабов не знает - что такое докер (под капотом)
 

aameno2

Lotus Team
27.01.2009
783
195
BIT
424
Ужас! Звучит как "удалять гланды через... с помощью нашего инструмента теперь намного удобнее", как будто бы никто не знает как это правильно делать надо.
Типо того, но было дело, писал так)
Если писать под консоль, без гуи, то тогда проще msys2 и вообще разницы нет. Два креста рулят ваш сиятельство)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
есть очередная затычка для терминала (хотя он только консолидирует терминалы)
там со шрифтами получше и профайлы управляемые/вкладки... (что давно уже есть в konsole например)
и момент про mosh - его "только" через wsl (понятно - установить сперва) запуск из ПШ (ПоверШел)
Bash:
bash ~ -c "mosh user@server"
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
ещё немного про "шары"
выше указан sshfs как метод для доступа, при монтировании в винде получаем "диск", НО в проводнике с него не получалось (у меня) запустить инсталятор (экзешник), хотя с командной строки - всё норм

для автоматизации
с командной строки, для ключа, можно так
net use S: "\\sshfs.kr\user@server\local\torrernt\hcl\Domino 12.0.2"
где sshfs.kr - ури для использования ключа (из .\ssh\id_rsa) и пути относительно рута
для создания пары ключей
ssh-keygen
публичный ключ .\ssh\id_rsa.pub
cat .\ssh\id_rsa.pub
все команды есть штатно в винде (в ПШ - ПоверШел)
текст из результата нужно внести в .ssh/authorized_keys на сервере (в хомяк соответствующего user)

бенчи ядл различных видов шар (я про винда<-> линух) - дабы не было соблазна залезать на SMB
 
Последнее редактирование:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
для многих этот заголовок может прозвучать странно... ;)
Разверну тезис:
- часто в windows не хватает инструментов разработки, а их установка связана с риском поиска и разгребания разного... . И это при том - что инструменты бесплатны и легко устанавливаются в линукс
- консольные утилиты в виндовс существуют в нескольких ипостасях и их настройка/управление очень разнится, я про ПШ (PowerShell) и cmd (всё что в них доступно)
- сам "терминал" винды (любой встроенный), при доступе к линуксовым хостам (через ssh) может давать неожиданные эффекты ;) (предположу - разная обработка спец символов)
- доступ к удаленным хостам, в винде, принято осуществлять через... РДП (RDP) + СМБ (SMB) что не всегда удобно/безопасно (через интернеты разные)

Какие уже наработаны кастыли (из того с чем я сталкивался):
- cygwin
- mingw
- wsl

некоторые утилиты под виндой могут "тянуть" те или иные зависимости (выше перечисленные)
Для меня очевидно, что более-менее полноценное использование, ч-л близкого к линуксу, возможно только в wsl

существует в двух вариантах розлива: 1 и 2 (различие по ссылке)
рекомендую не морочится и ставить 2-ую реинкарнацию
Доступ к ФС внутри wsl будет вида
Посмотреть вложение 64579
в проводнике будет отображаться как
Посмотреть вложение 64580
про скорость обмена упомянуто по ссылке выше
ещё из особенностей - разрешение - это даёт доп. профит , т.к. нек. пакеты в дистре убунты (например) могут быть "старыми", а snap позволит их установить более новые (бывает нужно)

Где виндоюзер может столкнутся с wsl?:
- очевидно - docker
- желание иметь полноценный терминал/ноду(хотя это )/perl/python...
- получить графическое отображение (через ssh -XYC user@server и далее команду как на скрине) с линукс хоста (например для установки/настройки первого сервера). Это происходит через java и выглядеть может так
Посмотреть вложение 64581

- управлять домино консолью без виндосвитоперделок, тупо по ssh , см.
- к пункту выше - можно снимать "статистику" с домины, по ssh
- запуск нативных сервисов линукса, с нек. оговорками - это возможно в wsl

Штатно в винде есть (клиент и сервер, сервер надо попыхтеть поставить), но из-за особенности консолей винды я не захотел пользоваться таким образом (клиентом) и использую mobaXterm (он Xserver, для удалённой графики, предоставляет, в т.ч.). К тому же я часто предпочитаю
Можно "монтировать" (это привычное слово для линуксоидов) удалённые ресурсы по ssh, использую GitHub - winfsp/sshfs-win: SSHFS For Windows . Некий аналог видовых шар, но не нужен ВПН ;) (если упрощать)
так выглядит
Посмотреть вложение 64643
;добавлю про Икс-ы
в винде есть поддержка и проброс через ssh
НО нужно немного руками пошевелить и, как сказано было - установить mobaXterm, или настроить окружение
получится так
1689588995030.png
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
удаленный доступ варианты и особенности:
- WinRM - его ещё нужно настроить ;) если тупо разрешить умолчально работать не будет (винда стабильна в неудобстве)
- ssh - выше были официальные настройки, но этого может не хватить. Удобно использовать ключи, но опять - все с выкрутасами

для WinRM (да, секурити можно пожертвовать, если сеть внутренняя )
Markdown (GitHub flavored):
`````` powershell
Enable-PSRemoting –Force
Set-Item -Path WSMan:\localhost\Service\AllowUnencrypted -Value true
set-executionpolicy -executionpolicy remotesigned
winrm quickconfig -q
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="512"}'
winrm set winrm/config '@{MaxTimeoutms="1800000"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/service/auth '@{Basic="true"}'
```````
детально не буду рассказывать (тырнет в помощь), суть - использование базовой аутентификации и http (вместо https)

для ssh надо отредактировать
Bash:
nano c:/programdata/ssh/sshd_config

для авторизации по ключу без учета привилегий
строки закомментировать ( - не прошёл)

Код:
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
если хочется дефортом PS а не cmd - можно прописать в c:/programdata/ssh/sshd_config
а можно в реестр New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
запуск баша из состава Git, там есть nano, ведь в виндях не догадываются о нужности редактировать файлы в консольном режиме (winRM и всё такое ;) )
& "C:/Program Files/Git/bin/bash.exe" -i -l
гит можно поставить с пом. winget (там тоже надо посношаться с source.msix)
winget source reset --force Add-AppxPackage -Path https://winget.azureedge.net/cache/source.msix
далее winget install -e --id Git.Git
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!