Кромешная тьма (воспоминание о часе Земли)

31

Ваша цель проста: программа должна сделать экран вашего компьютера полностью черным .

После запуска программы экран должен быстро стать полностью черным и оставаться таковым до выхода из программы (любая клавиша или Alt + F4, движение мыши и т. Д.), После чего все должно вернуться в нормальное состояние. Поэтому выключение компьютера или выключение монитора НЕ допускается . За это время не должен быть виден ни один не черный пиксель, даже мигающий курсор.

Пользователь не должен делать никаких подготовительных действий (перемещение мыши за пределы экрана, отсоединение кабелей и т. Д. Или ввод данных пользователем после запуска программы), просто запустите программу.

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

Если вы используете какие-либо внешние ресурсы (черное изображение, файл графического интерфейса и т. Д.), Их размер в байтах добавляется к размеру вашего кода.

Это нормально, если он работает только на одном семействе ОС, или если он требует opengl и т. Д., Но требует очень специфической конфигурации оборудования.

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

ВСЗ
источник
9
Это не будет работать на экранах с застрявшими пикселями ...
Исмаэль Мигель
21
@IsmaelMiguel: вы можете смело брать экран в идеальном рабочем состоянии. В противном случае мы могли бы возразить другим вопросам в стиле «что если транзистор в моем ALU перегорел, и мой компьютер не может выполнять математические операции с плавающей запятой?» :)
вс
5
Интересный факт: на экранах, которые не используют ни ЭЛТ, ни динамический контраст, это потребляет немного больше электричества!
Ry-
2
применение в реальном мире: астрономия! lists.apple.com/archives/Carbon-dev/2008/May/msg00005.html
Не то чтобы Чарльз
2
Все ответы автоматически дисквалифицируются - один из моих мониторов имеет пиксель, значение красного которого всегда равно 255!
Парень в шляпе

Ответы:

22

Баш, 28 или 12

Предполагается установка по умолчанию Ubuntu 12.04 LTS.

gnome-screensaver-command -a

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

Редактировать : как предложено @Glenn Randers-Pehrson, вот один с 12 байтами

/*/*/gn*d -a

Обратите внимание, что это может не сработать, если у вас есть другой файл в вашей системе, скажем, с таким именем /tmp/1/gnd. Но кого это волнует?


Проверьте мой другой ответ Bash, если вы не используете заставку Gnome!

user12205
источник
1
Такой ответ заставляет вас задуматься: «С какой стати я об этом не подумал?». :)
Алекс Торнтон
1
Это не совсем очистка экрана с помощью bash.
Дарт Эгрегиус
3
«Ваш исходный код должен быть написан на языке программирования, а не просто в файле конфигурации, который будет использовать какая-либо другая программа (например, заставка)».
Ханнес Карппила
2
@hannes karppila Я не изменил ни один файл конфигурации, который будет использовать любая другая программа. Я только запустил другую программу, которую делает большинство сценариев bash (если она написана не на чистом bash)
user12205
5
@ace, Golfed: / * / * / gn * d вместо gnome-screensaver-command сэкономит около 16 байт (идея от mniip)
Гленн Рандерс-Персон
31

Сборка (загрузчик) 131 скомпилированный символ / 512 байт (на самом деле меньше, но загрузочный сектор должен иметь длину 512 байт.)

Это простой загрузчик. Когда компьютер запускается, BIOS загрузит его с диска (дискеты). Затем он входит в графический режим и просто зависает. Когда пользователь нажимает кнопку питания, программа завершается, и компьютер переходит в режим, в котором находился до запуска программы.

Протестировано с VirtualBox.

Это будет компилироваться с Nasm:

nasm -f bin file.asm -o start.img

Исходный код:

[BITS 16]
[ORG 0x7C00]
cli
mov AX,0x0
mov SS,AX
mov SP,0x9000
sti
mov AH,0x0
mov AL,0x13
int 0x10
times 510 - ($-$$) db 0
dw 0xAA55
Ханнес Карппила
источник
1
Как работать на VirtualBox: (скомпилировать с помощью nasm), новая виртуальная машина, тип: Другое, версия: Другое / Неизвестно, без жесткого диска. Далее перейдите к настройкам виртуальной машины, выберите Storage, щелкните правой кнопкой мыши в списке и выберите «Add Floppy Controller». Смонтируйте скомпилированный файл img на дисковод гибких дисков. Сохраните, и тогда вы сможете запустить его. Наслаждайтесь!
Зак Мертес
Я хотел сделать то же самое, что и программа DOS, но вы были быстрее. В основном, единственное, что я помню об ассемблере от waaay back :)
Fels
Не могли бы вы объяснить, как это работает?
Mega Man
Почему cliа sti? Перемещается для SSавтоматического отключения прерываний на время следующей инструкции иAX не будет изменено, если прерывание произойдет раньше MOV SS,AX. Кроме того, почему бы не MOV AX, 0x13вместо двух MOVс?
Руслан
Младший я не знал, как правильно писать код. Тока я наверное тоже не знаю.
Ханнес Карппила
15

QBASIC (31)

SCREEN 7
WHILE INKEY$=""
WEND
Дарт Эгрегиус
источник
14
@TheGuywithTheHat Я наконец нашел применение для моих окон 3.1 vm.
Дарт Эгрегиус
3
Ух ты, видя, что WEND вернул воспоминания
Клавдиу
@ user973810 Ты имеешь в виду QB64 .
nyuszika7h
14

Ява: 165

Простая Java, просто создает полноэкранную черную рамку. Чтобы выйти, вы должны нажать Alt + Tab обратно в консоль и Ctrl-C, но это кажется достаточно простым.

import java.awt.*;class B{public static void main(String[]a){Frame f=new Frame();f.setExtendedState(6);f.setUndecorated(1>0);f.setBackground(Color.BLACK);f.show();}}

// line breaks below

import java.awt.*;
class B{
    public static void main(String[]a){
        Frame f=new Frame();
        f.setExtendedState(6);
        f.setUndecorated(1>0);
        f.setBackground(Color.BLACK);
        f.show();
    }
}
Geobits
источник
11

Applesoft] [бейсик (17)

1 HGR2:GET X:TEXT
Джефф Риди
источник
Я не думаю, что это на самом деле 17 байтов ... Я думаю, что это может быть меньше. Если я правильно помню, Applesoft маркировал свои ключевые слова так, чтобы каждое ключевое слово было фактически одним байтом ... таким образом, это может быть значительно короче. +1 в любом случае.
Беска
11

Баш - 57 26

C=/s*/*/*/*/b*ess;(A=$(cat $C);echo 0;cat;echo $A)|tee $C

На ноутбуке это будет устанавливать яркость подсветки экрана на 0 через /sys/class/backlight, на планшете или телефоне это будет устанавливать яркость светодиодного экрана на 0 через/sys/class/leds

МНИИП
источник
2
«И оставайтесь таковыми до выхода из программы (любая клавиша или alt + F4, движение мыши и т. Д.), После чего все должно вернуться в нормальное состояние»
Ry-
1
Fn+F6, Fn+<up arrow>И многие другие комбинации ключевых попадают в «любой ключ» и « и т.д.», и те один из многих , чтобы положить свет обратно , как это было.
Исмаэль Мигель
1
@minitech Ох. Ну, исправил ...
Мниип
Это не работает для меня. Если я получаю "C = / s * / * / * / * / b ess; (A = $ (cat $ C); echo 0; cat; echo $ A) | tee $ C" из приглашения bash, я получаю cat : / s * / * / * / * / b ess: Нет такого файла или каталога. tee: / s * / * / * / * / b * ess: Нет такого файла или каталога
@Lembik Я бы предположил, что у вас нет контроллеров яркости или нет драйверов. Разум пастиннинг find /sys/class/{backlight,leds}/*/?
Мниип
8

Я знаю, что это но я не удержался.

Просто убедитесь, что у вас нет открытых окон браузера (в данном случае Chrome);

Выполните этот PitchBlack.bat ( 31 24 байта) :

chrome --kiosk file:///1

Если этот файл находится в той же папке, что и файл Chrome.exe , этот пакет запустит Chrome в режиме киоска и откроет файл с именем / 1 ( 49 41 34 байта) в полноэкранном режиме:

<body bgcolor=0 style=cursor:none>

И вуаля!

Общее количество байт: 80 72 58
Благодаря @ace :)

Для выхода из программы необходимо перейти на классический ALT + F4 ; На самом деле вам не нужно выполнять какую-либо подготовку после запуска программы (как и раньше, вам просто нужно разместить /1и пакетный файл), так что все в порядке с правилами.

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

После запуска программы экран должен быстро стать полностью черным и оставаться таковым до выхода из программы (любая клавиша или Alt + F4, движение мыши и т. Д.), После чего все должно вернуться в нормальное состояние.

Так что это должно быть совершенно нормально! :П

Vereos
источник
1
Может, что-то подобное chrome --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>'может работать без дополнительного файла?
Ви.
Значит, при использовании file:shceme вы не видите URL-панель, но со data:схемой есть URL-панель?
Ви.
На моей системе chromium-browser --kiosk 'data:text/html,<style>body{background:#000;cursor:none;}</style>запускается почти полноэкранный Chromium с черной страницей без каких-либо полос.
Ви.
Протестировано на Ubuntu и Chromium 34.0, работает, file:///1если html сохранен как /1, а html файл может быть сокращен до<body bgcolor=0 style=cursor:none>
user12205
1
Я думаю, что вы должны использовать chromeв своем ответе, а неchromium
user12205
7

C # - 211 202 200 196 179 байт

using System.Windows.Forms;class A{static void Main(){Cursor.Hide();new Form{BackColor=System.Drawing.Color.Black,WindowState=(FormWindowState)2,FormBorderStyle=0}.ShowDialog();}}

Скрывает курсор и показывает полноэкранное черное окно. Может быть закрыт с Alt+F4

Негольфированный код :

using System.Windows.Forms;
class A
{
    static void Main()
    {
        Cursor.Hide();
        new Form
        {
            BackColor = System.Drawing.Color.Black,
            WindowState = (FormWindowState)2, // FormWindowState.Maximized
            FormBorderStyle = 0 // FormBorderStyle.None
        }.ShowDialog();
    }
}

Мне не нужно FormBorderStyleприводить, потому что это не обязательно, если целое число 0.

ProgramFOX
источник
2
Вы можете заменить System.Drawing.Color.Black, FormWindowState.Maximized, FormWindowState.Maximizedи FormBorderStyle.Noneс их соответствующими значениями.
Исмаэль Мигель
@IsmaelMiguel: Спасибо, я обновил FormWindowState и FormBorderStyle! Я не мог обновить Цвет, потому что это не перечисление.
Программа Fox
Попробуй Color.Black. Это должно работать сразу. Или BackColor=This.ForeColor, которые тоже могут работать.
Исмаэль Мигель
@IsmaelMiguel: первый не работает, потому что я не добавил using System.Drawing;, а второй не работает, потому что я устанавливаю значения переменных в скобках.
ProgramFOX
Попробуйте using System;тогда new Windows.Forms.Formи BackColor=Drawing.Color.Black. Это МОЖЕТ работать! И сохранить несколько байтов.
Исмаэль Мигель
5

C # 175 171 167

class P{static void Main(){SendMessage(65535,274,61808,2);}[System.Runtime.InteropServices.DllImport("user32")]static extern int SendMessage(int a,int b,int c,int d);}

Многие ответы здесь на самом деле не делают экран черным : на ЖК-экране подсветка остается включенной и просвечивает, оставляя вас с темно-серым.

Этот небольшой фрагмент на самом деле говорит Windows отключить экран, так же как и таймер неактивности (Примечание: это не нарушает правило «без отключения питания», потому что на самом деле монитор просто переходит в режим ожидания. Большинство мониторов включите снова при возобновлении ввода. Кроме того, похоже, что это правило предназначено для того, чтобы программа могла включить его снова - см. ниже.)

Переместите мышь или нажмите клавишу, чтобы снова включить экран.

Отключение монитора адаптировано с https://stackoverflow.com/a/713519/1030702

боб
источник
«Поэтому выключение компьютера или отключение питания монитора НЕ допускаются ».
Исмаэль Мигель
1
@IsmaelMiguel Я представил свое обоснование. «до выхода из программы (любая клавиша или Alt + F4, движение мыши и т. д.), после чего все должно вернуться в нормальное состояние. Так что закрытие ...» - намерение правила было выполнено. Это «включит его обратно». Оставляя в стороне намерение, оно также защищает буквальное значение, поскольку, несмотря на терминологию Microsoft, это на самом деле не отключает его (помимо тайм-аутов на проекторах и т. Д.), А переводит его в режим ожидания .
Боб
4

Амига в сборе

ASM-One - 228 219 символов, скомпилировано 172 байта (оптимизировано 168 байтов)

Прошло 20 лет с тех пор, как я последний раз кодировал одну строку в сборке Amiga, так что терпите меня. :-)

Amiga была немного более сложной, чем ПК, с точки зрения настройки пустого экрана, поэтому постаралась избавиться от как можно большего количества настроек и разрывов. Там нет отключения прерываний или многозадачности; нет двойного WaitTOF; нет просмотра замены; и т.д. Я бы даже не написал это для самой быстрой и самой грязной демонстрации. Что означает это:

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

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

l=$dff080
 move.l 4,a6
 lea g,a1
 jsr -408(a6)
 move.l d0,a1
 move.l 38(a1),d4
 jsr -412(a6)
 move.l #c,l
w:btst #6,$bfe001
 bne w
 move.l d4,l
 rts
g:dc.b "graphics.library",0
 SECTION d,DATA_C
c:dc 256,512,384,0,-1,-2

Менее гольф:

COP1LC equ $dff080

    move.l  $4, a6          ; ExecBase
    lea     gfxname, a1
    jsr     -408(a6)        ; OpenLibrary (old, hence no need for clearing d0)
    move.l  d0, a1
    move.l  38(a1), d4      ; store copper list
    jsr     -414(a6)        ; CloseLibrary
                            ; Yeah, if I had a penny for the times I saw that left out
                            ; but I just... can't...

    move.l  #copper,COP1LC  ; write copper list

wait:
    btst    #6, $bfe001     ; Check mouse click
    bne     wait

    move.l  d4, COP1LC      ; restore copper list
    rts

gfxname:
    dc.b    "graphics.library", 0

    SECTION data, DATA_C
copper:
    dc.w $0100, $0200       ; disable bitplanes
    dc.w $0180, $0000       ; color 0 = black
    dc.w $ffff, $fffe       ; end
JimmiTh
источник
1
Ааааа, воспоминания! Любить это!
RobIII
Да, это было скорее оправданием ностальгии, чем реальной попыткой игры в гольф кода - сборка Amiga редко конкурирует с Perl или Python в плане количества персонажей. Хотя я был немного удивлен, что не смог победить C # или Java. :)
JimmiTh
4

Python / Pygame 199 127 125 92

from pygame import*;display.set_mode((9,9),-1<<31);mouse.set_visible(0)
while 1:event.pump()

Спасибо несколько советов от туза.

Гарри Бидл
источник
Поскольку ALT + F4 считает, я бы взял также счет ^ C, так что вы можете пропустить много байтов в конце.
о0 '.
1
Чтобы ^ C работал, вам нужно сфокусироваться на терминале, а в программе окно pygame всегда фокусируется из-за pygame.FULLSCREEN Редактирование: Один из вариантов - оставить программу без выхода, что потребует спама на клавиатуре до ваша ОС замечает что-то не так.
Гарри Бидл
Вы можете сохранить несколько байтов, используя from pygame import*вместо этого. Кроме того, я не думаю, что fill((0,0,0))это необходимо, поскольку по умолчанию используется черный цвет. Тогда вы можете удалить в sцелом. Я не думаю, что display.flip()нужно тоже. Кроме того, использование одного пробела для отступа вместо 4 может сэкономить больше места. Наконец, вместо FULLSCREENи KEYDOWN, вы можете использовать их числовые значения, а именно -1<<31(-2147483648) и 2соответственно.
user12205
4

TI-BASIC, 7 6

Shade(Ymin,Ymax

Работает как в терминале (домашний экран), так и в качестве программы. Нажатие ONили большинство других кнопок возвращает к терминалу / домашнему экрану.

Timtech
источник
Может быть на один байт меньше (и работать даже при изменении окна экрана графика) как Shade(Ymin,Ymax.
lirtosiast
@ThomasKwa Вы правы, спасибо за совет!
Timtech
3

Commodore 64 (16 байт)

ROL $A903
BRK
STA $D020
STA $D011
JSR $FF8A
JMP ($032C)

С тех пор, как я использовал Turbo Assembler, прошло более 20 лет, поэтому я могу предоставить источник информации только для монитора VICE. Соберите это по $ 032C и от save[1] до $ 033B. Resetи LOAD"PITCHDARK",8,1. Хит добрый Runstop+Restore[2], чтобы вернуться к нормальной жизни.

Как это работает?

Вот истинный источник:

032C 2E 03      .BY 2E 03
032E A9 00      LDA #$00
0330 8D 20 D0   STA $D020   ; set border color  
0333 8D 11 D0   STA $D011   ; set VIC blanking mode
0336 20 15 FD   JSR $FF8A   ; reset the vectors we trampled
0339 6C 2C 03   JMP ($032C) ; call the real CLALL

032C - это ядро CLALL или вектор «Закрыть все каналы и файлы». В рамках своей очистки команда BASIC LOADвыполняет команду, CLRкоторая в свою очередь вызывает CLALL. Мы заменяем CLALLвектор указателем на нашу собственную подпрограмму сразу после вектора. Мы устанавливаем границу черного цвета и покрываем экран рамкой, а затем вызываем RESTOR$ FF8A. Последний вектор заменен RESTORэто SAVEна $ 0332-0333 , что означает , что последние 8 байт без помех. Затем мы выходим через восстановленный CLALLвектор, чтобы продолжить LOADвыполнение.

Спасибо за это, это было забавное путешествие вниз по переулку памяти, переучивание, как сделать программу автозапуска :)

[1] используйте save, а не bsave, чтобы загрузить с, 1 работает правильно
[2] Escape + PageUp в x64, вероятно.

у угрей есть глаза
источник
3

Ш / Х11 на Arch Linux, 26

b=/b*/*ht;$b =0;read;$b =7
Рыбаковым
источник
Вы можете, вероятно, побрить несколько символов с псевдонимом и, возможно, использовать -setдля обоих
ardnew
1
Используйте xbacklight = 0и xbacklight + 7.
bb010g
1
29 байт:x=xbacklight;$x +0;read;$x +7
nyuszika7h
@ nyuszika7h: Спасибо! (Получил до 28 тоже!)
Ry-
3

Баш, 37

Используется, unclutterчтобы скрыть указатель мыши и полноэкранный сеанс, xtermчтобы затемнить экран. Курсор появится на мгновение, если вы переместите его, но если вы оставите его в покое, экран будет черным, пока вы не нажмете Ctrl + C.

Курсор мыши исчезнет через несколько секунд (если вы не двигаете его). Если это не достаточно быстро, добавьте -grabопциюunclutter для дополнительных 6 символов.

unclutter&xterm -fu -bg black -e yes ''

ПРЕДУПРЕЖДЕНИЕ: это оставит процесс unclutterзапуска даже после нажатия Ctrl + C, используйте killall unclutterдля его остановки.

объяснение

unclutter & катера unclutter . Он &есть, поэтому мы можем продолжить выполнение следующей команды вместо того, чтобы ждать завершения этой команды.

xterm -fullscreen запускает XTerm, чей фон по умолчанию черный.

-e yes ''Опция заставляет XTerm для запуска yes '', в результате чего печати пустой строки навсегда. Это позволяет скрыть курсор терминала, а также предоставляет функциональные возможности Ctrl + C.


источник
Экран становится полностью белым в моей системе.
Ви.
@Vi. это означает, что ваш фоновый цвет XTerm белый.
Вы можете сократить «-fullscreen» до «-fu» и использовать «-bg black», чтобы включить черный цвет фона независимо от пользовательских настроек.
полу-посторонний
Вы можете удалить пробелы вокруг, &чтобы сохранить 2 байта.
nyuszika7h
3

Баш, 31 (или 52)

На TTY используйте следующий сценарий (при условии, что фон TTY по умолчанию черный, что верно по крайней мере для Ubuntu 12.04 LTS):

setterm -foreground black
clear

Ваш TTY будет по-прежнему полностью функциональным даже после использования этого скрипта :)

Если это не разрешено, используйте следующее (52 байта):

x='setterm -foreground'
$x black
clear
read
$x white

И нажмите, Enterчтобы завершить сценарий.

Отдельное спасибо @ nyuszika7h.

user12205
источник
1
Для второго случая: x='setterm -foreground';$x black;clear;read;$x white(52 байта).
nyuszika7h
2

Обработка, 113

void setup(){noCursor();size(displayWidth, displayHeight);background(0);}boolean sketchFullScreen(){return true;}

Я попытался поместить приведенный выше код в draw (), чтобы сохранить несколько байтов, но это не сработало. Нажмите Alt-F4, чтобы выйти.

segfaultd
источник
2

ZX Spectrum Basic (29 байт)

1 FOR x=0 TO 255
2 FOR y=0 TO 175
3 PLOT x,y
4 NEXT y
5 NEXT x

Итерирует по экрану, рисуя черные пиксели, которые автоматически очищаются при завершении программы.

Базовая редакция ZX Spectrum использует одиночные байты в качестве команд и никаких новых строк, если при подсчете отображаемых символов вы получите 61 символ.

kitcar2000
источник
2

Lua + LÖVE (50)

love.mouse.setVisible()love.window.setFullscreen""

Обе функции должны принимать логический аргумент, но это работает.

Seeker14491
источник
2

QBasic, 9 байтов

CLS:SLEEP

CLSочищает экран, SLEEPбез каких-либо аргументов задерживает выполнение до нажатия клавиши.

steenbergh
источник
2

SmileBASIC, 15 байт

XSCREEN 4
EXEC.

Нажатие START или SELECT завершит программу.

XSCREEN 4устанавливает режим отображения для отображения изображения 320 * 480, охватывающего оба экрана. Это должно очистить все, поэтому ACLSне требуется. EXEC.заставляет код повторяться, постоянно запуская программу в слот 0. Я не смог этого сделать, XSCREEN 4EXEC.потому что у вас не может быть номера непосредственно раньшеE

12Me21
источник
1

Синклер Бейсик - 28 символов

BORDER 0:PAPER 0:CLS:PAUSE 0

Особенность Sinclair BASIC заключалась в том, что каждое ключевое слово имело свой собственный символьный код (занимающий один байт), поэтому на самом деле это занимало бы 13 байтов, включая пробелы.

Брайан
источник
Возвращает ли это к нормальному экрану после окончания?
kitcar2000
@ kitcar2000 - Думая об этом, нет. Я бы, вероятно, добавил «: NEW» в конце как быстрый и грязный сброс, взяв его до 32 символов / 15 байт
Брайан
Я думаю, что это всего 10 байтов (12 с :NEW), поскольку команды представляют собой отдельные байты, а не набор символов.
kitcar2000
1

SmileBASIC, 23 байта

Работает вечно, пока программа не будет принудительно уничтожена с помощью START или SELECT. Это делает оба экрана полностью черными , что приводит к отключению 3D (таким образом, отключая 3D-светодиод на o3DS.)

ACLS:XSCREEN 3@L GOTO@L
snail_
источник
1

Большинство POSIX-совместимых оболочек (как минимум bashи zsh), 21

Должен быть запущен на tty

tput civis;clear;read

Первая команда скрывает курсор, вторая команда очищает экран (дух), а третья команда читает строку текста

therealfarfetchd
источник
0

BASH - 14 символов

pmset sleepnow делает работу!

(напечатано в Терминале моего Mac)

Макс Чукимия
источник
Вы должны указать ОС и / или другие предварительные условия в своем ответе.
user12205
@ace ответ отредактирован :)
Макс Чукимия
Не спит выключить монитор?
о0 '.
0

Баш: 48 символов

eval xrandr\ --output\ DP1\ --{off,auto}\;read\;

CW, потому что не ясно, соответствует ли он требованиям из-за того, как он работает:

  • Полученный черный экран реально экономит энергию: он отключает передачу информации на дисплей 1.
  • Многие компьютерные дисплеи, когда обнаружат потерю сигнала, будут временно или периодически показывать свое собственное уведомление.

(Обратите внимание, что DP1 является первым подключенным дисплеем. Если у вас есть ноутбук, его встроенный дисплей - eDP1.)

manatwork
источник
0

TI-80 BASIC, 5 байтов

ZOOM OUT
ZOOM OUT
GRIDON
12Me21
источник
0

Чип-8, 0 байт

[T] Первоначальный интерпретатор Chip-8 начал выполнение с 0x01FC. Интерпретатор включает в себя две постоянные инструкции Chip-8 в этом месте, которые всегда выполняются в начале каждой программы. Первый из них, 0x00E0, очищает ОЗУ дисплея, устанавливая все биты в ноль. Второй, 0x004B, вызывает в интерпретаторе подпрограмму машинного языка, которая включает отображение VIP.

Источник: http://laurencescotford.co.uk/?p=75

12Me21
источник