Рейтинг:2

WSL: программы для рисования экрана не видны

флаг de

Не могу назвать вопрос по-другому.

Windows 10 LTSC 1809 (б. 17763.2452). Добавлен MS Store (по умолчанию LTSC des не содержит его). Установил WSL и Ubuntu 20.04.

Система работает, но я не могу использовать какие-либо программы, использующие вывод на экран, кроме stdout. Примеры: МС, tmux, нано и даже пейджер/меньше (таким образом человек также недоступен). Вызов такой команды приводит к появлению черных окон с мигающим курсором в левом верхнем углу.

частичный экран после вызова

(не уверен, что изображение видно, но оно содержит только часть заголовка окна и белый курсор на черном фоне)

Сама программа работает, и я могу выйти из нее с помощью горячих клавиш или другими способами, не требуя просмотра вывода. После этого экран не восстанавливается и видны остатки вывода программы - 1-я страница человек, строка состояния tmux, 1-я страница пейджервывод и т. д. Но этот вывод — просто статический текст в окне.

Я использовал WSL на своей предыдущей работе и никогда не сталкивался с такими проблемами. Полное удаление и переустановка WSL результатов не дали

NotTheDr01ds avatar
флаг vn
Никогда не сталкивался и не слышал о чем-то подобном с WSL. Похоже, что «альтернативный буфер экрана» не работает должным образом. Это режим, в который эти приложения переключаются для отображения своего вывода. Когда они выходят из альтернативного экрана, должно быть возвращено предыдущее содержимое основного буфера. В вашем случае это не похоже на то, что вторичный буфер включается, поэтому (плохой) вывод этих программ записывается поверх основного. Что показывает `echo $TERM`? Правильно ли я понимаю, что это поведение «сразу после установки»?
Troublemaker-DV avatar
флаг de
@NotTheDr01ds xterm-256color Да, сразу после установки. Мне удалось запустить WSL в виртуальной коробке W11 на хосте Ubuntu (дома), и все прошло нормально.
cocomac avatar
флаг cn
Какой эмулятор терминала используете? Можете ли вы попробовать другой? Я бы посоветовал попробовать [новый терминал Windows] (https://www.microsoft.com/en-US/p/windows-terminal/9n0dx20hk701), если вы еще не пробовали его. Посмотрите, работают ли там эти программы.
Troublemaker-DV avatar
флаг de
@cocomac, увы, моя сборка не поддерживает установку WT - для этого требуются более новые сборки (18362.0 или выше). Итак, я использую стандартную консоль Windows по умолчанию.
Troublemaker-DV avatar
флаг de
те же результаты при вызове `tput smcup` (из https://stackoverflow.com/questions/11023929/using-the-alternate-screen-in-a-bash-script) - пустой экран, но система не зависает: Я могу набрать `tput rmcup`, чтобы вернуться
Troublemaker-DV avatar
флаг de
нашел почти хороший обходной путь, и кажется, что MS что-то сломал, в этой интересной теме: https://github.com/microsoft/WSL/issues/7660 я добавил `export TERM=xterm-color` в `~/.profile` и все кажется достаточно гладким. Я пробовал каждый терминал из ls /lib/terminfo/* - некоторые выдавали черно-белый вывод, некоторые давали цвета, но клавиши F1..F4 не работали и т. д.
NotTheDr01ds avatar
флаг vn
@Troublemaker-DV Отлично. Можете ли вы опубликовать это как ответ? И черт возьми - я думаю, что видел эту проблему Github раньше и даже ссылался на нее в ответе, но на этот раз я не смог найти ее при поиске. Рад, что вы сделали!
Troublemaker-DV avatar
флаг de
@ NotTheDr01ds Вот оно :-)
Рейтинг:1
флаг de

В этой интересной теме: github.com/microsoft/WSL/issues/7660 Я нашел почти хороший обходной путь, и кажется, что MS что-то сломал.

я добавил экспорт TERM=xterm-цвет в ~/.профиль и все кажется достаточно гладким. Я пробовал каждый терминал из ЛС /lib/terminfo/* - некоторые выводили ч/б, некоторые давали цвета, но клавиши F1..F4 или даже стрелки не работали и т.д.

Но экран становится чистым после выхода из программы, предыдущее содержимое экрана не сохраняется, даже если оно должно быть. Я заметил, что большинство жалоб было связано с LTSC b17763 и WinServer 2019 на основе этой сборки Win10.

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

Ответить или комментировать

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