Работа с несколькими мониторами упрощает многозадачность, но стандартные инструменты создания скриншотов часто захватывают все экраны сразу. Это создаёт проблемы: лишние элементы интерфейса попадают в кадре, увеличивается вес файла, а конфиденциальная информация с других мониторов может случайно «утечь» в скриншот. К счастью, есть способы сделать снимок только активного дисплея — как встроенными средствами ОС, так и с помощью сторонних утилит.
В этой статье разберём уникальные комбинации клавиш для 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 и новее добавлена опция сохранения скриншотов только активного дисплея. Чтобы её активировать:
- Откройте «Терминал» (
Applications → Utilities → Terminal). - Введите команду:
defaults write com.apple.screencapture location ~/Desktop/Screenshots_single && killall SystemUIServer - Теперь при использовании
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 настройка захвата конкретного монитора выглядит так:
- Откройте настройки (
Task Settings → Capture → Screen recording). - Выберите опцию «Capture monitor» и укажите номер монитора (начиная с
1). - Назначьте горячую клавишу (например,
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, поддерживает ручное выделение области.
- Steam:
- 🖥️ Для профессиональных программ (например, Adobe Premiere, Blender) используйте плагины:
- В Premiere Pro установите расширение Snapshot через
Window → Extensions. - В Blender нажмите
Ctrl + Alt + Sдля сохранения вида камеры (альтернатива скриншоту).
- В Premiere Pro установите расширение Snapshot через
Если игра или программа использует эксклюзивный полноэкранный режим (например, DirectX 12), стандартные методы не сработают. В этом случае:
- Переключитесь в оконный режим (
Alt + Enter). - Разверните окно на нужный монитор.
- Сделайте скриншот одним из описанных выше способов.
В играх с поддержкой 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).
- Откройте
- 🐧 Linux: Выполните команду:
xrandr --listmonitorsНомер монитора будет указан после
HDMI-1-0,DP-2и т. п. - 🍎 macOS: Номера соответствуют порядку в
Системные настройки → Мониторы(верхний монитор в схеме —1).
Можно ли сделать скриншот одного монитора в виртуальной машине (VMware, VirtualBox)?
Да, но с нюансами:
- 🖥️ В VMware:
- Установите VMware Tools.
- Используйте комбинацию
Ctrl + Alt + PrtScn— она захватывает только окно ВМ. - Для захвата хост-монитора используйте инструменты основной ОС (см. разделы 1–4).
- Активируйте «Гостевые дополнения» (Guest Additions).
- Скриншот гостевой ОС делайте её встроенными средствами.
- Для захвата хост-монитора отключите режим «Безшовный» (
Machine → Seamless Mode).
Обратите внимание: в режиме 3D-ускорения (например, для игр) скриншоты могут не работать. Отключите его в настройках ВМ.