LINUX.ORG.RU

WSL прямо новый виток эволюции

 , ,


0

1
WSL прямо новый виток эволюции

Всё началось с того, что мне (в очередной раз) захотелось адекватный эмулятор терминала под офтопиком. Сразу оговорюсь, что офтопик используется для поиграть (грешен, да), но периодически сидя и убивая демонов в Diablo III или DOOM'е - звонок заставляет отвлечься и переключиться в работу.

В работе нужен, в основном, ssh. Но иногда нужны гуёвые приложения с рабочей машины. vncviewer помогает не всегда, да и подтупливает знатно (при этом на работе 2х24", а дома всего 1 на 21.5"... кто пробовал vncviewer в такой конфигурации - тот поймет). Поэтому ранее использовались извращения из серии подключиться по vnc к домашнему ноуту с линуксом или же вообще пойти и отобрать его у жены (обычно она на подключенном дисплее что-то смотрит, а я на встроенном, который прикрыт, что-то делаю).

Так вот недавно я купил ссд, накатил новенькую винду, завел bash, zsh, xserver (не знаю, почему раньше не получилось с иксами, всё реально просто), сделал shortcut на запуск terminator'а прям из меню «пуск».

Теперь на первом дисплее у меня может висеть открытая игра, а на втором в фуллскрин терминал. Более того, не сразу (xauth) получилось завести адекватный проброс иксовых приложений через ssh, но совсем чуть чуть копания, и всё работает.

Из странностей: я поставил powerline шрифты, и до ребута они были более приятны в плане адекватного сглаживания, но после что-то пошло не так. Починить не смог.

Еще screenfetch: uptime считается с момента запуска терминала, а не аптайм системы; шрифт берется с gtk конфига, а не с установок терминатора; видяху показывать не хочет :( ; можно запустить с sudo - тогда не будет эррора от awk, но тогда не верно отображается shell

Кстати, хотел юзать urxvt, но он не подхватывает конфиг .Xresources, поэтому я забил временно.

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

Для тех, кому интересен примерный план действий (спойлер чет не работает)

 Идем в настройки винды, выбираем "Включение или отключение компонентов Windows" в поиске
Ставим галочку на "Подсистема Linux для Windows (beta)", нажимаем ОК
Открываем cmd, пишем bash
Соглашаемся с установкой, ждем
>опционально нужно сходить по подсказке и включить "Режим разработчика", как в андроиде прям
Пока оно качает/ставит - идем и ставим VcXsrv (будет нашим икс-сервером), запускаем его
Уже в Баше ставим приложения, которые хотим запускать 
делаем
touch ~/.Xauthority
xauth generate :0 . trusted

делаем в винде шоткат (на своем примере)
Объект: C:\Windows\System32\bash.exe -c "export DISPLAY=localhost:0.0; terminator"
# важно дисплей передавать именно так, иначе у меня проброс не работает
опционально: я скопировал тему с живой системы, можно ее подпилить еще.

PS. Лор под виндой показывать не буду :P :D

PPS. И да, то, с чего начинал: я, наконец-то, получил адекватный эмулятор терминала под виндой. Не всякие цигвины и иже с ними, а терминал!

>>> Просмотр (1920x1080, 291 Kb)

★★

Проверено: JB ()

Мисье знает толк в извращениях ;)

oster2011 ()

Но, но... Но ведь сетевая прозрачность X не нужна, мне дяденька из Red Hat рассказывал

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

наверно дяденька не пользуется десяточкой, вот и говорит так

keinas ()

что офтопик используется для поиграть

а проброс железа в виртуалку в убунте? в виртуалке вин10, или это только на словах так просто?

eR ★★★★★ ()

Для тех, кому интересен

не интересен

Лор под виндой

селедка под шубой

gray ★★★★★ ()

Ты многое теряешь пробрасывая иксы по ssh. Лучше пробрось udp порт. значительно уменьшится задержка.

mittorn ★★★★★ ()

Ставим галочку на «Подсистема Linux для Windows (beta)», нажимаем ОК

Нету такой

mittorn ★★★★★ ()

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

и где сброситься на его воскрешение?

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

Значит, вы не включили необходимый для этого канал обновления(точно не помню уже как делается, кажется включаются обновы, что прилетают тем, у кого Insider Preview). Я в своё время на ПК, используемом для игр натроил это дело, консольные приложения Ubuntu запускались вполне нормально.

lucentcode ★★★★★ ()

А меня Cygwin с ssh и bash в ConEmu вполне устраивают, возможно я просто не очень требователен. Нет, конечно, ConEmu - далеко не tilix, так и винда не linux. Решать из неё срочные проблемы можно, а если предполагается довольно долгая работа - проще сразу заюзать тачку с linux или ноут, если ПК с linux по какой-то причинне нет под боком. Но ваш опыт, безусловно, довольно интересен. Не знал, что WSL иксовые приложения запускать может.

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

Нет, просто у меня 32 битная винда т.к майки не осилили работу 64битной версии с 32битным efi

mittorn ★★★★★ ()

PPS. И да, то, с чего начинал: я, наконец-то, получил адекватный эмулятор терминала под виндой

Msys2 поставь. Там тебе и терминал, и pacman с кучей софта. И главное, все нативно работает, а не линуксовые бинарники через эмуляцию

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

Ну, судя по описанию WSL, ребята из редмонда пилили слой совместимости для запуска консольных приложений, а следовательно они запилили не все интерфейсы, доступны для линуксового ПО в линуксе, а только определённую часть, необходимую для запуска нужного им консльного ПО. Следовательно, запуск x-овых приложений в данном случае достался юзерам WSL в качестве бонуса, оказалось что в WSL запилили достаточно в том числе и для запуска иксовых приложений. А ведь, чисто теоретически, могло оказаться и по другому, к примеру не реализовали бы поддержку всего одного системного вызова, активно юзаемого X-ами, но не очень нужного для консольных приложений, и иксы бы не запускались.

lucentcode ★★★★★ ()

Я так давно делаю, но использую иксы от cygwin (ещё когда wsl в проекте даже не было).

Интересно - чем VcXsrv лучше? Оно умеет в opengl(xwin умеет, но не всегда быстро)?

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

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

Внезапно, X.org работает не только на Linux, но и на куче других POSIX-систем, поэтому никаких экзотических сисколлов не использует. Это вам не systemd

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

Да, но нужны ли они все конкретному юзеру, и стоит ли ради этого использовать эмуляцию?

Лучше бы MS запилили адекватную поддержку POSIX для нативных приложений, вместо обрубка который сейчас

annulen ★★★★★ ()

Я тоже приглядываюсь к WSL. Хочу поставить на машину для обработки фотографий (мак) Win10+WSL вместо макоси (ибо задолбала). Сразу смогу перенести sh родные скрипты, а не писать все заново под мак. Но пока жду какого-то очередного апдейта от M$, в котором они позволят в линуксовой среде монтировать флешки.

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

x86_64 Linux 4.4.0-43-Microsoft

Дожили...дальше будет еще веселей. А тебя я поздравляю. Ты выиграл титул «извращенец года».

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

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

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

На самом деле указывается не версия ядра, а версия ABI соответствующая версии ядра 4.4.0-43. Ядра Linux, как такового, там нет. Вроде так.

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

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

Ну или вот это вот

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

надо признать, M$ особо не напрягаясь реализовала line, как только им это понадобилось... а wine и ныне там.

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

M$ особо не напрягаясь реализовала line, как только им это понадобилось... а wine и ныне там.

Писать по открытым спекам значительно проще чем тыкать в чорную коробку :-)

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

Так или иначе это история успеха. и почти GNU/NT. Всё к тому и идёт.

kirill_rrr ★★★★★ ()

захотелось адекватный эмулятор терминала под офтопиком

Поставил для этого виртуалку с линупсом, расширения гостевой ос виртуалбокса, и включил интеграцию окошек.

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

все нативно работает, а не линуксовые бинарники через эмуляцию

Чего там эмулируется и в чём именно работа линуксовых бинарников в WSL тебе не нативна?

utf8nowhere ()

месье знает толк в извращениях :-)

когда-то хватало Xming на флешке

MKuznetsov ★★★★★ ()

попробуй

C:\Windows\System32\bash.exe -c "export DISPLAY=localhost:0.0; xrdb -merge ~/.Xresources ; exec urxvt"

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

знаю, знаю... но у M$ есть достаточно много документации, только реализуй по своему, но число сисколов сильно отличается... просто провоцирую и за родин у обидно.:) не будь windows ОС-киоском по сбору инфы... а так ее только отдельно от интернета держать.

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

Что-то у мсников все хорошо с поддержкой апи других ОС, не то, что у линукса.

xoraby ()
Ответ на: комментарий от eR

а проброс железа в виртуалку в убунте? в виртуалке вин10, или это только на словах так просто?

производительность - только на словах

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

Ты многое теряешь пробрасывая иксы по ssh. Лучше пробрось udp порт. значительно уменьшится задержка.

честно говоря, я думал об этом, пока что не добрался до реализации. Да и «проброс» в типичном понимании этого слова у меня не прокатит, я не рулю сетью.

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

А меня Cygwin с ssh и bash в ConEmu вполне устраивают

до этого запила именно так и пользовался. Но всё равно «не то».

ConEmu - далеко не tilix, так и винда не linux. Решать из неё срочные проблемы можно

добрый вечер, Капитан Очевидность

если предполагается довольно долгая работа

я ребутаюсь в генту / беру ноут с минтом / еду на работу (нужное подчеркнуть) :)

Не знал, что WSL иксовые приложения запускать может.

я знал, еще с первого прочитанного обзора. Но завести не получалось (и впадлу было)

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

Интересно - чем VcXsrv лучше

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

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

попробуй

пробовал запустить баш, и там по очереди написать экспорт дисплей, xrdb .Xresources и запустить urxvt. Не помогло. Попробую так вечером. Спасибо.

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

Поставил для этого виртуалку с линупсом, расширения гостевой ос виртуалбокса, и включил интеграцию окошек.

я делал так на старой слабой машине. ПК заменил на почти топ год назад, но осадочек-то старый остался ))

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

upnp тоже нету? Тогда плохо. Вообще иксам очень не хватает реверсного подключения. xdmcp работает немного не так как хотелось бы (отдельный tcp порт)
Если бы xdmcp работал на том же порту что и иксы и был внутри них, то ничего пробрасывать бы на стороне иксов не пришлось.

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

нет, просто мелкомягкие не смогли в 32 битный efi

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

Писать по открытым спекам значительно проще чем тыкать в чорную коробку :-)

однозначно, Pinkbyte

надо признать, M$ особо не напрягаясь реализовала line, как только им это понадобилось...

я бы не был так однозначен

у M$ есть достаточно много документации, только реализуй по своему, но число сисколов сильно отличается...

документация у винды не очень (была лет пять-восемь назад, сейчас не знаю). Да и доступа к системе в том виде и объеме, в котором это дает опенсорц - нет

Но это не отменяет того факта, что офтопик вышел на новый уровень развития. Более того, все околокодеры, кто не мог определиться: виндовс потому что привычно или линукс потому что можно lamp+ror(или что-то еще) с адекватной консолью развернуть - теперь не выберут linux.

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

число сисколов сильно отличается

Нет смысла реализовывать сисколы ядра винды (или функции ntdll.dll, т.к. сисколы напрямую никто не дёргает, их номера скачут даже при смене минорных версий), т.к. выдернуть из винды и использовать отдельно остальные dll нельзя.

utf8nowhere ()

Убейте это, чтобы оно не мучалось.

P.S. Помойка, чесслово.

no1_tx ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)