Работа с несколькими мониторами упрощает многозадачность, но стандартные инструменты создания скриншотов часто захватывают все экраны сразу. Это создаёт проблемы: лишние элементы интерфейса попадают в кадре, увеличивается вес файла, а конфиденциальная информация с других мониторов может случайно «утечь» в скриншот. К счастью, есть способы сделать снимок только активного дисплея — как встроенными средствами ОС, так и с помощью сторонних утилит.

В этой статье разберём уникальные комбинации клавиш для Windows 11/10, скрытые функции macOS Sonoma и Ventura, а также специализированные программы, которые позволяют выборочно скриншотить мониторы в системах с 2+ дисплеями. Особое внимание уделим нюансам: почему иногда «не работает» Win + Shift + S, как обойти ограничения драйверов NVIDIA/AMD, и что делать, если мониторы имеют разное разрешение.

1. Стандартные средства Windows: горячие клавиши и «Ножницы»

В Windows 10 и 11 есть встроенные инструменты для выборочного скриншота, но они работают неочевидным образом. Классическое PrtScn всегда захватывает все мониторы, поэтому его лучше игнорировать. Вместо этого используйте:

  • 🔹 Win + Shift + S — вызов инструмента «Вырезка и аннотация». После нажатия экран потускнеет, и вы сможете вручную обвести область на нужном мониторе. Минус: требует точности при выделении.
  • 🔹 Win + Alt + PrtScn — делает скриншот активного окна (если оно развёрнуто на одном экране). Работает только в Windows 10 версии 1809 и новее.
  • 🔹 Приложение «Ножницы» (snippingtool в поиске). В нём можно выбрать режим «Произвольная форма» и вручную обвести зону на целевом мониторе.

Важно: если у вас разные разрешения мониторов (например, 2560×1440 и 1920×1080), инструмент «Вырезка» может неправильно определять границы экрана. В этом случае перед скриншотом временно выровняйте масштабирование в настройках Windows (Параметры → Система → Дисплей).

⚠️ Внимание: На некоторых ноутбуках с гибридной графикой (например, NVIDIA Optimus) комбинация Win + Shift + S может не срабатывать из-за конфликта драйверов. Решение: обновите драйвер видеоадаптера или используйте сторонние утилиты (см. раздел 4).
📊 Какой у вас тип многомониторной системы?
Два одинаковых монитора
Основной монитор + ноутбук
Монитор + телевизор
Три и более экранов

2. macOS: скрытые возможности скриншота

На Mac сделать скриншот одного монитора проще, чем в Windows — благодаря гибким комбинациям клавиш. По умолчанию используются:

  • 🍎 Cmd + Shift + 3 — скриншот всех мониторов (не подходит для нашей задачи).
  • 🍎 Cmd + Shift + 4Пробел — выбор одного окна (если оно развёрнуто на нужном экране).
  • 🍎 Cmd + Shift + 4зажать мышь — ручное выделение области на конкретном мониторе.

Для автоматизации процесса в macOS Sonoma и новее добавлена опция сохранения скриншотов только активного дисплея. Чтобы её активировать:

  1. Откройте «Терминал» (Applications → Utilities → Terminal).
  2. Введите команду:
    defaults write com.apple.screencapture location ~/Desktop/Screenshots_single && killall SystemUIServer
  3. Теперь при использовании Cmd + Shift + 4 скриншоты будут сохраняться в отдельную папку Screenshots_single и захватывать только текущий экран.
⚠️ Внимание: Если вы подключаете монитор через USB-C/Thunderbolt и используете режим «Зеркалирование», macOS будет воспринимать оба экрана как один. Отключите зеркалирование в Системные настройки → Мониторы.
💡

В macOS можно изменить формат скриншотов по умолчанию (PNG, JPG, TIFF) через команду в Терминале: defaults write com.apple.screencapture type jpg. После выполнения перезагрузите SystemUIServer.

3. Linux: инструменты для многомониторных систем

В Linux выбор инструмента зависит от графической оболочки. Для GNOME (Ubuntu, Fedora) и KDE Plasma есть встроенные решения, но они часто захватывают все экраны. Рассмотрим надёжные варианты:

  • 🐧 Shift + PrtScn (GNOME) — вызов инструмента выделения области. После нажатия выберите нужный монитор вручную.
  • 🐧 Spectacle (KDE) — утилита с опцией «Текущий экран» (Current Screen). Установите её через:
    sudo apt install spectacle
  • 🐧 flameshot — универсальный инструмент с поддержкой многомониторных систем. Установка:
    sudo apt install flameshot

    После запуска (flameshot gui) выберите опцию «Capture Screen» и кликните на целевой монитор.

Для пользователей Wayland (вместо X11) стандартные методы могут не работать. В этом случае используйте:

grim -g "$(slurp)" - | wl-copy

Эта команда позволяет вручную выбрать область на одном из мониторов и скопировать её в буфер обмена.

Что делать, если скриншот в Linux захватывает чёрный экран?

Это типичная проблема при использовании проприетарных драйверов NVIDIA в многомониторных системах. Решения:

1. Переключитесь на открытый драйвер Nouveau (временное решение).

2. Отключите композитинг в настройках оконного менеджера.

3. Используйте flameshot с опцией --delay 2 (задержка 2 секунды перед съёмкой).

4. Специализированные программы для выборочного скриншота

Если встроенные инструменты не устраивают, обратите внимание на сторонние утилиты. Они предлагают расширенные функции: захват определённого монитора по номеру, автоматическое обрезание, аннотации и облачное сохранение.

Программа Поддержка ОС Ключевые функции Стоимость
ShareX Windows Захват по номеру монитора, запись видео, OCR Бесплатно
Snagit Windows, macOS Шаблоны аннотаций, захват прокручиваемых областей От $62.99
Lightshot Windows, macOS, Linux Быстрое выделение области, облачное сохранение Бесплатно
Droplr Windows, macOS Автоматическая загрузка в облако, короткие ссылки От $6/месяц

Для ShareX настройка захвата конкретного монитора выглядит так:

  1. Откройте настройки (Task Settings → Capture → Screen recording).
  2. Выберите опцию «Capture monitor» и укажите номер монитора (начиная с 1).
  3. Назначьте горячую клавишу (например, Ctrl + Alt + 1).
⚠️ Внимание: В Snagit при первом запуске может потребоваться разрешение на запись экрана в настройках безопасности macOS (Системные настройки → Конфиденциальность). Без этого программа не сможет захватывать изображения.

Установить программу с официального сайта|Проверить номер монитора в настройках Windows|Назначить уникальную горячую клавишу|Отключить ненужные уведомления на других экранах-->

5. Проблемы и решения: почему скриншот захватывает все мониторы

Даже при правильных настройках иногда возникают сбои. Рассмотрим типичные причины и способы их устранения:

  • 🖥️ Драйверы видеокарты: Устаревшие или повреждённые драйверы NVIDIA/AMD/Intel могут блокировать выборочный захват. Решение: обновите драйвер через официальный сайт производителя или используйте DDU (Display Driver Uninstaller) для чистой установки.
  • 🔄 Режим дублирования экрана: Если в настройках Windows или macOS включено зеркалирование, система воспринимает мониторы как один. Отключите его в Параметры → Система → Дисплей.
  • 🎮 Игровые оверлеи: Программы вроде NVIDIA GeForce Experience, Discord или Steam Overlay могут перехватывать комбинации клавиш. Закройте их перед скриншотом или измените горячие клавиши в настройках.
  • 🖼️ Разное разрешение/масштаб: Если мониторы имеют разную плотность пикселей (например, 4K и Full HD), Windows может неправильно определять границы. Выровняйте масштаб в настройках дисплея.

Для диагностики проблемы в Windows запустите «Диспетчер задач» (Ctrl + Shift + Esc) и проверьте, не потребляет ли необычно много ресурсов процесс dwm.exe (менеджер окон). Если да — перезагрузите ПК или выполните команду в PowerShell:

Get-Process dwm | Stop-Process -Force

Этот процесс автоматически перезапустится, но сбросит текущие ошибки отображения.

💡

Если скриншот захватывает чёрный экран на одном из мониторов, проверьте подключение кабеля (особенно при использовании адаптеров HDMI→DisplayPort). Попробуйте переподключить монитор или использовать другой порт на видеокарте.

6. Альтернативные методы: консольные команды и скрипты

Для продвинутых пользователей существуют консольные утилиты, позволяющие автоматизировать захват конкретного монитора. Рассмотрим кросс-платформенные решения:

  • 📌 ffmpeg (Windows/Linux/macOS):
    ffmpeg -f gdigrab -i desktop -frames:v 1 -q:v 2 screenshot.jpg

    Чтобы захватить только второй монитор, укажите его offset (смещение). Например, для монитора с разрешением 1920×1080, расположенного справа:

    ffmpeg -f gdigrab -offset_x 1920 -i desktop -frames:v 1 screenshot.jpg
  • 📌 ImageMagick (Linux/macOS):
    import -window root -crop 1920x1080+1920+0 screenshot.png

    Здесь 1920x1080 — разрешение целевого монитора, а +1920+0 — его координаты (смещение по X и Y).

Для Windows можно создать .bat-файл с автоматическим определением мониторов. Пример скрипта (сохраните как screenshot_monitor.bat):

@echo off

set /p monitor="Введите номер монитора (1, 2, 3...): "

nircmd.exe savescreenshot "monitor_%monitor%.png" %monitor%

pause

Скрипт требует утилиту NirCmd (скачайте с официального сайта). После запуска введите номер монитора (начиная с 1), и скриншот сохранится в текущую папку.

⚠️ Внимание: Консольные утилиты вроде ffmpeg могут конфликтовать с антивирусами (например, Avast или Kaspersky). Добавьте их в исключения или временно отключите защиту на время съёмки.

7. Скриншот одного монитора в играх и полноэкранных приложениях

Игры и программы в полноэкранном режиме (например, Photoshop, AutoCAD) часто блокируют стандартные комбинации клавиш. В этом случае:

  • 🎮 В играх используйте встроенные инструменты:
    • Steam: F12 (сохраняет скриншот в облако). Чтобы захватить только один монитор, временно отключите остальные в настройках игры.
    • NVIDIA ShadowPlay: Alt + F1 (настраивается в GeForce Experience). В настройках выберите «Захват области» и укажите координаты монитора.
    • AMD ReLive: Ctrl + Shift + E. Аналогично ShadowPlay, поддерживает ручное выделение области.
  • 🖥️ Для профессиональных программ (например, Adobe Premiere, Blender) используйте плагины:
    • В Premiere Pro установите расширение Snapshot через Window → Extensions.
    • В Blender нажмите Ctrl + Alt + S для сохранения вида камеры (альтернатива скриншоту).

Если игра или программа использует эксклюзивный полноэкранный режим (например, DirectX 12), стандартные методы не сработают. В этом случае:

  1. Переключитесь в оконный режим (Alt + Enter).
  2. Разверните окно на нужный монитор.
  3. Сделайте скриншот одним из описанных выше способов.
💡

В играх с поддержкой DLSS или FSR (например, Cyberpunk 2077) скриншоты могут сохраняться в низком разрешении. Отключите апскейлинг в настройках графики перед съёмкой.

FAQ: Частые вопросы о скриншотах одного монитора

Можно ли сделать скриншот одного монитора на Android или iOS с подключённым внешним дисплеем?

На мобильных устройствах стандартные средства захватывают только основной экран. Для выборочного скриншота внешнего монитора:

  • 📱 На Android (с поддержкой DeX): используйте приложение Screen Master (требуются root-права).
  • 🍎 На iPad с Sidecar: подключите его к Mac и сделайте скриншот через macOS (см. раздел 2).

Обратите внимание: на iPhone с подключённым монитором через Lightning/USB-C выборочный скриншот невозможен — система всегда захватывает оба экрана.

Почему при скриншоте второго монитора получается чёрный экран?

Это типичная проблема при использовании:

  • 🔌 Адаптеров (например, USB-C → HDMI). Попробуйте подключить монитор напрямую к видеокарте.
  • 🖥️ Технологии оптимизации (например, NVIDIA Optimus на ноутбуках). Отключите её в панели управления NVIDIA.
  • 🔄 Режима энергосбережения. В настройках Windows отключите отключение дисплея для второго монитора.

Если проблема остаётся, проверьте монитор на другом устройстве — возможно, неисправен кабель или порт.

Как автоматизировать скриншоты одного монитора по расписанию?

Для автоматизации используйте:

  • 🖥️ Windows: Task Scheduler + скрипт на PowerShell:
    $monitor = 2  # Номер монитора
    

    Add-Type -AssemblyName System.Windows.Forms

    $bounds = [System.Windows.Forms.Screen]::AllScreens[$monitor-1].Bounds

    Add-Type -AssemblyName System.Drawing

    $bitmap = New-Object System.Drawing.Bitmap($bounds.Width, $bounds.Height)

    $graphics = [System.Drawing.Graphics]::FromImage($bitmap)

    $graphics.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size)

    $bitmap.Save("C:\screenshots\monitor_$monitor.png")

    $graphics.Dispose()

    $bitmap.Dispose()

    Сохраните скрипт как .ps1 и настройте его запуск в «Планировщике задач».

  • 🐧 Linux: cron + flameshot:
    0     DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus flameshot gui -p ~/screenshots

    Замените 1000 на ваш UID (узнать можно командой id -u).

Как узнать номер монитора для скриптов или программ?

Чтобы определить номер монитора в многомониторной системе:

  • 🖥️ Windows:
    1. Откройте Параметры → Система → Дисплей.
    2. Перетаскивайте мониторы в виртуальной схеме — их порядок слева направо соответствует номерам (начиная с 1).
  • 🐧 Linux: Выполните команду:
    xrandr --listmonitors

    Номер монитора будет указан после HDMI-1-0, DP-2 и т. п.

  • 🍎 macOS: Номера соответствуют порядку в Системные настройки → Мониторы (верхний монитор в схеме — 1).
Можно ли сделать скриншот одного монитора в виртуальной машине (VMware, VirtualBox)?

Да, но с нюансами:

  • 🖥️ В VMware:
    1. Установите VMware Tools.
    2. Используйте комбинацию Ctrl + Alt + PrtScn — она захватывает только окно ВМ.
    3. Для захвата хост-монитора используйте инструменты основной ОС (см. разделы 1–4).
  • 🐧 В VirtualBox:
    1. Активируйте «Гостевые дополнения» (Guest Additions).
    2. Скриншот гостевой ОС делайте её встроенными средствами.
    3. Для захвата хост-монитора отключите режим «Безшовный» (Machine → Seamless Mode).
  • Обратите внимание: в режиме 3D-ускорения (например, для игр) скриншоты могут не работать. Отключите его в настройках ВМ.