ЖК-экран
Смотрите также официальную документацию ЗДЕСЬ .
EV3 оснащен монохромным ЖК-экраном с разрешением 178 x 128 пикселей (оттенки серого). Координаты верхнего левого пикселя — (0, 0), а координаты нижнего правого пикселя — (177, 127).
Отображение текста с помощью функции print()
Функцию print() очень легко использовать, так как она не требует от вас создания объекта Display() и выполнения команды update() для применения ожидающих изменений на экране. Поэтому ее проще использовать, чем функции text_pixels() и text_grid()  , описанные ниже. Когда вы используете функцию print() , текст автоматически обтекает правый край экрана и при необходимости автоматически прокручивается вверх. Вы можете изменить шрифт, как показано в следующем примере. Когда вы устанавливаете шрифт, эта настройка будет запоминаться до тех пор, пока вы не выключите кирпич.
Сценарий ниже показывает, как установить нужный шрифт. Вы можете получить список доступных шрифтов, запустив   ls /usr/share/consolefonts  в терминале SSH. В VS Code вы можете открыть терминал SSH, щелкнув правой кнопкой мыши зеленую точку, указывающую на успешное подключение к EV3, и выбрав «Открыть терминал SSH». Обратите внимание, что шрифты, используемые  функцией print()  , и процедура их указания отличаются от  шрифтов, используемых   функциями text_pixels()  и  text_grid() ,  и процедуры их указания. Сценарий ниже a также показывает, как вы можете запретить функции  print()  начинать новую строку после печати. 
#!/usr/bin/env python3from time import sleepimport osos.system('setfont Lat15-TerminusBold14')# os.system('setfont Lat15-TerminusBold32x16')  # Try this larger font
print('EV3 Python rules!')print()  # print a blank line
print('EV3', 'Python rules!')  # comma means continue on same line
# print() has a parameter 'end' which by# default is the new line character:print('EV3')    # A new line will be started after thisprint('Python rules!')
# Here the 'end' parameterновая строка по умолчанию# character argument is replaced# by an empty string so no new line is begunprint('EV3', end='')print('Python rules!')
# Here the 'end' parameter's default new line# character argument is replaced# by a space character so no new line is begunprint('EV3', end=' ')print('Python rules!')
sleep(15)  # display the text long enough for it to be seen
Вот результат выполнения приведенного выше скрипта (вы можете сделать  снимок экрана, щелкнув правой кнопкой мыши зеленую точку, указывающую на успешное подключение к EV3, а затем выбрав  «Сделать снимок экрана»):

Вот результат выполнения того же скрипта, но с использованием шрифта  Lat15-TerminusBold32x16 (большая часть текста прокручивается за пределы экрана):

Печать в окно вывода VS Code
Скрипт, работающий на EV3, но запущенный из VS Code, может печатать на панели вывода VS Code. Есть много причин, по которым вы можете захотеть печатать на панели «Вывод», а  не на экране EV3 (или вместе с ним): текст на  панели «Вывод» будет легко читаем, тогда как текст на экране EV по умолчанию крошечный и его трудно прочитать на  экране без подсветки.текст на панели вывода можно легко скопировать и вставить при необходимостивы можете получать показания вашего робота в режиме реального времени на своем ПК, даже если робот находится на расстоянии нескольких метров и подключен к ПК по беспроводной связи.нет ограничений на объем текста, который вы можете напечатать на панели «Вывод» (при необходимости вы можете прокручивать вверх), тогда как при печати на экране EV3 текст теряется, как только он прокручивается за пределы экрана.Любой текст, напечатанный на экране EV3, теряется, как только программа завершается, тогда как текст на экране вывода остается.даже при использовании крошечного шрифта по умолчанию текст на экране EV3 будет переноситься после 45 символов, тогда как на панели вывода кода VS текст может быть намного длиннее до переноса.Обратите внимание, что такая печать на панели «Вывод» не имеет аналога для EV3-G, поэтому это пример того, чего можно достичь с помощью EV3 Python, чего нельзя достичь с помощью EV3-G.
В приведенном ниже сценарии показано, как печатать как на ЖК-экране EV3, так и на панели вывода. Он печатает два раза в секунду интенсивность окружающего света, определяемую датчиком цвета. Конечно, вы можете печатать на панели вывода VS Code только в том случае, если вы запускаете скрипт из VS Code — если вы запускаете скрипт из Brickman, то на панель вывода ничего не печатается. На самом деле вывод будет помещен в файл my_program_name.py.err.log в той же папке. 
#!/usr/bin/env python3from ev3dev2.sensor.lego import ColorSensorиз системного импорта stderrfrom time import sleep
cl = ColorSensor()
'''To be able to print to the VS Code Output panel, thisscript must be launched from VS Code, not from Brickman'''while True:    # print to EV3 LCD screen    print(cl.ambient_light_intensity)     # print to VS Code output panel    print(cl.ambient_light_intensity, file=stderr    sleep(0.5)
Приведенный выше скрипт печатает только одно чтение в строке, поэтому распечатка вскоре начнет прокручиваться. Сценарий ниже делает то же самое, что и выше, но печатает 10 показаний в строке. Аргумент ключевого слова ‘ end ‘ объясняется далее на этой странице.

#!/usr/bin/env python3from ev3dev2.sensor.lego import ColorSensorfrom sys import stderrfrom time import sleep
cl = ColorSensor()
while True:    for i in range(10):        # print to EV3 LCD screen        # print a space instead of starting a new line        print(cl.ambient_light_intensity, end=' ')        # print to VS Code output panel        print(cl.ambient_light_intensity, end=' ', file=stderr)        sleep(0.5)    print('') # start new line on EV3 screen    print('', file=stderr) # start new line in VS Code
Отображение текста с помощью  text_pixels() или text_grid()Отображение текста с помощью этих функций  сложнее, чем с помощью  print()  , но дает вам больше контроля, так как вы можете указать, где должен быть размещен текст  . Вы также можете одновременно отображать разные шрифты, чего нельзя сделать с помощью  print() . Текст, отображаемый с помощью  text_pixels() или text_grid() , не будет обтекать правый край экрана и не будет прокручиваться. Кроме того, вам необходимо обновить() экран после использования этих функций, иначе на экране ничего не будет отображаться.
text_pixels (text, clear_screen=True, x=0, y=0, text_color=’black’, font=None)
отображает текст таким образом, что верхний левый угол текста находится в пикселях, заданных x,y. Напомним, что экран EV3 имеет разрешение 178 x 128 пикселей и что верхний левый пиксель имеет координаты (0,0). 
text_grid (text, clear_screen=True, x=0, y=0, text_color=’black’, font=None)
отображает «текст», начиная с сетки (x, y), где сетка состоит из ячеек шириной 8 пикселей и 10 пикселей в высоту, так что дисплей EV3 имеет 22 столбца в ширину и 12 строк в высоту. Размер ячеек сетки не зависит от размера выбранного шрифта. Не существует доступного шрифта с фиксированной шириной, размер которого соответствует размеру ячейки сетки, и поэтому я рекомендую вам избегать использования этой функции и вместо этого использовать text_pixels() . Даже если бы был доступен шрифт, соответствующий размерам ячейки сетки, это был бы очень маленький шрифт (размер 10, что означает высоту 10 пикселей), и его было бы очень трудно читать.
Обе эти функции имеют параметр clear_screen , который по умолчанию имеет значение True, что означает, что если ваш скрипт записывает строку текста, за которой следует вторая строка, то, если вы забудете установить для clear_screen значение False для второй строки, первая строка не будет напечатана.
Вы должны обновить () экран, чтобы ожидающие изменения были записаны на экран. Если вы забудете обновить экран, то вообще ничего не будет печатать!
Есть много шрифтов, доступных для использования с  text_pixels()  и text_grid() , и вы можете найти полный список ЗДЕСЬ  . Все шрифты доступны в следующих размерах (высота в пикселях): 8, 10, 12, 14, 18, 24.
Для максимальной удобочитаемости и привлекательности я рекомендую выбирать шрифт переменной ширины из набора ‘ helvB ‘ (это ‘B’ для ‘жирного’). Шрифты фиксированной ширины менее привлекательны, но с ними легче работать. Для шрифтов фиксированной ширины  я рекомендую ‘ courB ‘ и ‘ lutBS‘. Вы можете увидеть, как выглядят эти шрифты, внизу страницы. Я рекомендую оставлять как минимум один пиксель вертикального пространства между одной строкой текста и следующей. Например, если вы решите использовать шрифт размером 24 (высота 24 пикселя), я рекомендую оставлять 25 пикселей для каждой строки. На самом деле размер текста 24 позволяет аккуратно разместить 5 строк текста на экране EV3, если вы печатаете с такими координатами y: 0, 25, 50, 75, 100.
Шрифты с фиксированной шириной courB24 и lutBS24  имеют ширину символов 15 пикселей и 14 пикселей соответственно, что означает, что 12 символов достаточно хорошо помещаются по горизонтали на экране EV3, как вы можете видеть на снимках экрана ниже.
Обратите внимание, что вы можете включить символ новой строки ‘ \n ‘ в строки, которые вы просите эти функции напечатать, но я не рекомендую этого делать, потому что это дает межстрочный интервал, который я считаю слишком большим.

Вот сценарий, который сначала печатает выбранный набор шрифтов размером 10, 14, 18 и 24, а затем, через 6 секунд, печатает текст на весь экран размером 24. Используйте разные значения для «стиля», чтобы попробовать разные наборы шрифтов. Под скриптом находится результат запуска скрипта со стилем helvB , courB и lutBS соответственно.

#!/usr/bin/env python3from ev3dev2.display import Displayfrom ev3dev2.sound import Soundfrom time import sleep
lcd = Display()sound = Sound()
def show_for(seconds):    ЖК.update()    sound.beep()    sleep(seconds)    ЖК.clear()
# Try each of these different sets:style = 'helvB'#style = 'courB'#style = 'lutBS'
y_value = 0str1 = ' The quick brown fox jumped'str2 = '123456789012345678901234567890'for height in [10, 14, 18, 24]:    text = style+str(height)+str1    lcd.text_pixels(text, False, 0, y_value, font=style+str(height))    y_value += height+1   # short for  y_value = y_value+height+1    lcd.text_pixels(str2, False, 0, y_value, font=style+str(height))    y_value += height+1show_for(6)
strings = [] # create an empty list# Screen width can accommodate 12 fixed# width characters with widths 14 or 15#               123456789012strings.append(style+'24 The')strings.append('quick brown ')strings.append('fox jumps   ')strings.append('over the dog')strings.append('123456789012')
for i in range(len(strings)):    lcd.text_pixels(strings[i], False, 0, 25*i, font=style+'24')show_for(6)

                
                
Примечания к приведенному выше сценарию:
Я обычно включаю имена параметров (ключевые слова), чтобы сделать код более понятным, но в некоторых строках выше я пропустил некоторые имена, потому что в противном случае строки были бы слишком длинными. Например:lcd.text_pixels(text, False, 0, y_value, font=style+str(height))
Аргументы, выделенные жирным шрифтом, являются позиционными аргументами, значение которых известно функции в соответствии с их позициями в списке аргументов, поэтому включение имен параметров необязательно. Однако мне пришлось включить имя «шрифт» — его нельзя было обработать как позиционный аргумент, потому что оно находится «не в том месте». В определении функции мы виделиtext_pixels (текст, clear_screen = True, x = 0, y = 0, text_color = «черный», шрифт = нет)поэтому, чтобы быть действительным в качестве позиционного аргумента, аргумент шрифта должен быть шестым аргументом, но в моем коде это пятый аргумент, поскольку я не указал значение text_color (я счастлив использовать значение по умолчанию, «черный») . Поскольку аргумент не является допустимым позиционным аргументом при размещении на пятом месте, должно быть указано имя, превращающее его в аргумент ключевого слова или «kwarg».
Сценарий демонстрирует один из способов построения списка (называемого «массивом» в EV3-G). 
Отцентрируйте текстГоризонтально центрировать строку текста в шрифте фиксированной ширины довольно просто : для каждого символа в строке вычтите половину ширины символа из 89 (горизонтальная средняя точка экрана EV3). Например, если вы хотите центрировать строку «Hello», написанную шрифтом  lutBS24  , который имеет ширину символа 14, вычтите 5×7 = 35 пикселей из 89, чтобы получить 89-35 = 54, поэтому напечатайте координату x 54.
Чтобы центрировать одну строку текста по вертикали , процедура аналогична:  вычтите половину высоты шрифта из 63 (вертикальная середина экрана EV3). Например, если вы хотите центрировать по вертикали строку «Hello», написанную шрифтом lutBS24 высотой 24 пикселя, вычтите 12 пикселей из 63, чтобы получить 51, поэтому напечатайте координату y 51.
Следующий скрипт способен вычислять координаты y для печати нескольких строк, расположенных одна над другой. Это немного сложнее — я дам вам понять это самостоятельно. Сценарий оставляет одну пустую горизонтальную строку пикселей между каждой строкой текста.
Сценарий использует стандартную функцию Python  wrap(text, width), которая  оборачивает один абзац в текст (строку), поэтому каждая строка имеет длину не более ширины символов. Он возвращает список выходных строк, т.е. список строк. Напримерwrap('The quick brown fox jumps over the lazy dog', width=12)возвращает  [‘Быстрая’, ‘бурая лиса’, ‘перепрыгивает’, ‘ленивая собака’].Чтобы иметь возможность использовать функцию wrap() , вы должны сначала импортировать ее с помощьюиз переноса импорта textwrap
Вот скрипт, который центрирует по горизонтали и вертикали некоторый текст, напечатанный несколькими разными шрифтами фиксированной ширины. Я знаю, что это довольно сложный сценарий, поэтому я не объяснял его подробно — возможно, стоит потратить несколько минут на его изучение. Центрирование текста может быть очень полезным в будущих сценариях, поэтому оно было преобразовано в определяемую пользователем функцию, которую мы можем использовать в других местах. Результат ниже.
#!/usr/bin/env python3из ev3dev2.display импортировать дисплейиз переноса импорта textwrapиз времени импортировать сон
ЖК = Дисплей ()
def show_text (строка, font_name = ‘courB24’, font_width = 15, font_height = 24):    ЖК.очистить()    строки = перенос (строка, ширина = int (180/font_width))    для i в диапазоне (len (строки)):        x_val = 89-font_width/2*len(строки[i])        y_val = 63-(font_height+1)*(len(strings)/2-i)        lcd.text_pixels(strings[i], False, x_val, y_val, font=font_name)    lcd.update()
my_text = ‘Быстрая коричневая лиса перепрыгивает через ленивую собаку’
show_text(мой_текст, ‘courB14’, 9, 14)спать(5)
show_text(мой_текст, ‘lutBS14’, 9, 14)спать(5)
show_text(my_text, ‘courB18’, 11, 18)спать(5)
show_text(мой_текст, ‘lutBS18’, 11, 18)спать(5)
show_text(мой_текст, ‘courB24’, 15, 24)# или просто show_text(my_text), так как значения по умолчанию# были установлены для courB24спать(5)
show_text(мой_текст, ‘lutBS24’, 14, 24)спать(5)
Значения по умолчанию были включены в определение функции, поэтому, если вы хотите использовать шрифт courB24, все, что вам нужно сделать, это:show_text(‘Это мой текст’)
        
        
ГрафикаВ EV3 Python есть несколько простых в использовании команд для рисования простых фигур:

line(clear_screen=True, x1=10, y1=10, x2=50, y2=50, line_color='black', width=1)Проведите линию от (x1, y1) до (x2, y2)
circle(clear_screen=True, x=50, y=50, radius=40, fill_color='black', outline_color='black')Нарисуйте круг «радиуса» с центром в (x, y)
rectangle(clear_screen=True, x1=10, y1=10, x2=80, y2=40, fill_color='black', outline_color='black')Нарисуйте прямоугольник, левый верхний угол которого находится в точке (x1, y1), а правый нижний угол — в точке (x2, y2). 
point(clear_screen=True, x=10, y=10, point_color='black')Нарисуйте один пиксель в (x, y)
Следующий сценарий должен быть простым для понимания. Результат ниже. Что касается цветов, имейте в виду, что ЖК-экран EV3 может отображать только четыре оттенка серого , которые соответствуют этим названиям цветов: черный, серый, светло-серый, белый . Придерживайтесь этих названий цветов, потому что в противном случае у вас будет несоответствие между ЖК-дисплеем (4 оттенка серого) и снимками экрана (намного больше оттенков серого).
#!/usr/bin/env python3из ev3dev2.display импортировать дисплейиз времени импортировать сон
ЖК = Дисплей ()
# Нарисуйте круг радиуса с центром в (x, y)lcd.circle (clear_screen=False, x=89, y=64, radius=61, fill_color=’светло-серый’)lcd.circle(False, x=65, y=45, radius=10, fill_color=’черный’)lcd.circle(False, x=113, y=45, radius=10, fill_color=’черный’)
# Нарисуйте линию от (x1, y1) до (x2, y2)lcd.line (ложь, x1=89, y1=50, x2=89, y2=80, line_color=’серый’, ширина=4)
# Нарисуйте прямоугольник, где верхний левый угол находится в точке (x1, y1)# и нижний правый угол находится в (x2, y2). lcd.rectangle (False, x1=69, y1=90, x2=109, y2=105, fill_color=’grey’)
# Рисуем один пиксель в точке (x, y)lcd.point (ложь, x=65, y=45, point_color=’white’)lcd.point(False, x=113, y=45, point_color=’white’)
lcd.update()спать(10)
P IL (НИЗКИЙ) функцииДругие фигуры можно рисовать, используя  мощную графическую библиотеку  Pillow  , которая является  частью стандартного Python, а не чем-то уникальным для EV3 Python. Обратите внимание, что  Pillow возникла из  библиотеки изображений Python  ( PIL ). Вы можете найти подробную документацию в официальной документации Pillow  ЗДЕСЬ  особенно  документацию по модулю ImageDraw . Модуль ImageDraw автоматически импортируется при импорте класса Display, поэтому вам не нужно его явно импортировать . Однако, когда вы хотите отобразить файл изображения, вы  делаете необходимо импортировать класс  Image , как будет объяснено позже. Модуль ImageDraw предоставляет следующие методы:дуга (xy, начало, конец, заполнение = нет)растровое изображение (xy, растровое изображение, заполнение = нет)аккорд (ху, начало, конец, заполнение = нет, контур = нет)эллипс (xy, заливка = нет, контур = нет)линия (ху, заливка = нет, ширина = 0)pieslice (xy, начало, конец, заполнение = нет, контур = нет)точка (ху, заполнение = нет)многоугольник (xy, заливка = нет, контур = нет)прямоугольник (ху, заливка = нет, контур = нет)текст (xy, текст, заливка = нет, шрифт = нет, якорь = нет, интервал = 0, выравнивание = «слева»)multiline_text(xy, text, fill=None, font=None, anchor=None, spacing=0, align=»left»)размер текста (текст, шрифт = нет, интервал = 0)multiline_textsize (текст, шрифт = нет, интервал = 0)Вы можете найти  это руководство  хорошим отправным пунктом. 
Я вычеркнул последние четыре строки, потому что рекомендую вам использовать функции EV3 Python text_pixels() и text_grid() для вывода текста на экран, а не более сложные (но немного более мощные) текстовые функции PIL. Функция  draw.text() очень похожа на  text_pixels()  , за исключением того, что она добавляет возможность установки цвета заливки (фона) для текста. Если вы абсолютно хотите узнать о текстовых функциях PIL, см. ЭТУ СТРАНИЦУ  и официальную документацию . 
Смайлик / сварливыйЭтот скрипт использует функцию draw.ellipse() для рисования двух кругов (круг на самом деле является разновидностью эллипса) для глаз, а затем метод draw.arc() для рисования дуги (в данном случае половина эллипса), которая то открывается вверх (улыбка ) и открывающийся вниз (ворчливый). Остановите скрипт долгим нажатием на любую кнопку или кнопкой «Стоп», если вы запускали его из VS Code.
#!/usr/bin/env python3из ev3dev2.display импортировать дисплейиз ev3dev2.button Кнопка импортаиз времени импортировать сон
ЖК = Дисплей ()кнопка = кнопка ()
улыбка = правда
while not btn.any(): # выйти из цикла долгим нажатием на любую кнопку    lcd.clear()
    lcd.draw.ellipse(( 20, 20,  60, 60))    lcd.draw.ellipse((118, 20, 158, 60))
    if smile:        lcd.draw.arc((20, 80, 158, 100), 0, 180)    else:        lcd.draw.arc((20, 80, 158, 100), 180, 360)
    smile = not smile  # toggle between True and False
    # Update lcd display    lcd.update() # Applies pending changes to the screen.    # Nothing will be drawn on the lcd screen    # until this function is called.
    sleep(1)
Запуск сценария заставляет экран чередоваться один раз в секунду между двумя изображениями ниже:
              
Обратите внимание, что команда  draw.ellipse()  имеет параметры, которые представляют собой верхний левый угол и нижний правый угол ограничительной рамки (воображаемой рамки, которая будет содержать эллипс). Команде draw.arc  ()  нужна та же пара координат, а также начальный и конечный углы, оба в градусах. Углы измеряются от 3 часов, увеличиваясь по часовой стрелке.
Показать файл изображенияПрежде чем вы сможете отобразить файл изображения, вы должны иметь файл изображения для отображения! Большинство популярных форматов изображений должны работать (jpg, bmp, gif, png и т. д.), но они будут отображаться только в четырех оттенках серого (черный, светло-серый, темно-серый, черный). Анимированные файлы gif не будут «воспроизводиться». Я предлагаю вам начать с того, что сделал я: скопировать все стандартные файлы изображений Lego EV3 BMP, которые включены в бесплатное программное обеспечение Lego EV3, в каталог с именем «pics» в вашем каталоге «robot». Вы можете увидеть файлы BMP, перечисленные на этой странице, а внизу этой страницы есть ссылка на zip-файл ( 328 КБ)  , содержащий 107 монохромных файлов BMP, каждый из которых идеально подходит для экрана EV3 (178 * 128 пикселей). Распакуйте zip-файл в папку на вашем ПК.
При желании вы можете найти файлы на ПК с Windows в следующем расположении:  C:\Program Files (x86)\LEGO Software\LEGO MINDSTORMS EV3 Home Edition\Resources\BrickResources\Retail\Images\files . Папка «Program Files (x86)» также может называться просто « Program Files». Если вы получаете файлы со своего ПК, я предлагаю вам скопировать все файлы BMP (не файлы RGF) в одну папку.
Когда у вас есть все файлы изображений в папке «pics» на вашем ПК, вы захотите загрузить копию этой папки в папку «robot» на EV3. Если вы используете VS Code с расширением EV3, как я рекомендую  , лучше всего открыть папку «pics» в VS Code и щелкнуть значок «Отправить проект на устройство» в заголовке браузера устройств EV3 в левом нижнем углу. окна VS Code. Это загрузит папку и ее содержимое в папку «робот» на EV3 . После того, как вы все это сделали, вы должны быть готовы запустить следующий сценарий, заменив «Bomb.bmp» именем файла изображения по вашему выбору. Если вы прошьете новый образ Stretch на свою SD-карту, папки «pics» и «sounds» (и все ваши сценарии) будут удалены, поэтому вам нужно будет снова загрузить их на EV3.
#!/usr/bin/env python3from ev3dev2.display import Displayfrom time import sleepfrom PIL import Image
lcd = Display()
logo = Image.open('/home/robot/pics/Bomb.bmp')lcd.image.paste(logo, (0,0))lcd.update()sleep(5)
Вот результат:
Как сделать скриншот экрана EV3Если вы используете VS Code с расширением EV3, сделать снимок экрана так же просто, как щелкнуть правой кнопкой мыши зеленую точку «подключено» в браузере устройств EV3 и выбрать «Сделать снимок экрана». Сохраните изображение с помощью «Сохранить как», чтобы вы могли выбрать удобное место для этого изображения, поскольку расположение по умолчанию неудобно. Обязательно сохраните файл изображения с расширением .png.

Скриншотам намеренно придан желтый оттенок, поэтому, если вы просматриваете их на белом фоне, таком как эта страница, вы все равно можете видеть, где находятся края изображения.
Что касается цветов, имейте в виду, что  ЖК-экран EV3 может отображать только четыре оттенка серого  , которые соответствуют этим названиям цветов:  черный, серый, светло-серый, белый . Придерживайтесь этих названий цветов, потому что в противном случае у вас будет несоответствие между ЖК-дисплеем (4 оттенка серого) и снимками экрана (намного больше оттенков серого).
Как  запустить из терминала скрипт, который пишет на ЖК-дисплей EV3Это для тех, кто не использует VS Code с расширением EV3 . Если вы запускаете код, который обращается к экрану из сеанса SSH, не следуя этим инструкциям, вы можете столкнуться с двумя проблемами:дисплей Брикмана может снова появиться до того, как ваш скрипт перестанет работать, даже через секунду или меньшеили у вас может быть противоположная проблема: когда скрипт останавливается, может пройти минута или две, прежде чем экран вернется к интерфейсу Брикмана.Дэвид Л., главный участник проекта ev3dev, дал мне следующий совет:
Простой способ , рекомендуется, если вы не перфекционист. Недостаток:  затем вы  увидите  небольшой мигающий курсор в нижней части небольшого «мертвого квадрата» где-то на экране (вы можете видеть курсор на изображении «Hello World» выше на этой странице). :Запустите sudochvt 6 . Это просто переключает дисплей, чтобы показать вам пустой терминал вместо Брикмана, чтобы Брикман не связывался с вами. Вам нужно будет ввести пароль для робота, который является «производителем».Запустите вашу программу. Вы должны увидеть его на дисплее EV3, как и ожидали. При необходимости вы можете остановить выполнение скрипта с помощью Ctrl+C. Вы можете работать с этого терминала, как обычно, запускать свою программу несколько раз и т. д.Запустите sudo chvt 1 , чтобы вернуть Брикмана .Путь перфекциониста . Недостаток: еще несколько шагов, и вы будете использовать копию крошечного дисплея EV3 .Запустите  sudochvt 6 . Это просто переключает дисплей, чтобы показать вам пустой терминал вместо Брикмана, чтобы Брикман не связывался с вами. Вам нужно будет ввести пароль для робота, который является «производителем».Запустите  sudoconspy . Это заставит ваш сеанс SSH отображать тот же терминал, что и на дисплее EV3. Войдите в подсказку, которую он показывает вам, с логином = robot и паролем = maker.Запустите вашу программу. Вы должны увидеть его на дисплее EV3, как и ожидали. При необходимости вы можете остановить выполнение скрипта с помощью Ctrl+C. Вы можете работать с этого терминала, как обычно, запускать свою программу несколько раз и т. д.Нажмите клавишу ESC на ПК 3 раза, чтобы выйти из терминала дисплея.Запустите  sudo chvt 1  , чтобы вернуть Брикмана .