Съемка снимка определенной области из командной строки

Вы можете использовать туннелирование SSH для создания туннеля TCP от вашего клиента на сервере SSH и маршрутизации трафика через этот туннель.

Если ваш частный IP-адрес на стороне сервера SSH, к которому вы хотите получить доступ, 192.0.2.1, а ваш ssh-сервер - ssh.example.com, вы можете использовать команду SSH следующим образом:

ssh -L 8080:192.0.2.1:80 ssh.example.com

Когда это соединение ssh установлено, вы можете указать свой локальный браузер в http://localhost:8080, и вы увидите страницу, которую вы видели при просмотре http://192.0.2.1 в частной сети.

1
задан 21 February 2015 в 07:24

3 ответа

Использование maim

Обзор

maim (сделать изображение) - это новая утилита для скриншотов, разработанная как улучшенная версия [ f7].

Одна из многих новых функций maim - поддержка настройки области захвата экрана прямо из CLI. Синтаксис работает следующим образом:

maim -x <x-coordinate> -y <y-coordinate> -w <width> -h <height>

например:

maim -x 100 -y 100 -w 400 -h 400

Обзор

maim не был достигнут в официальных репозиториях, но и не является частью какого-либо PPA. Вам нужно будет скомпилировать его из источника, чтобы установить его.

Убедившись, что все зависимости выполнены ...

sudo apt-get install build-essential cmake
sudo apt-get install libimlib2-dev libxrandr-dev libxfixes-dev

... мы можем продолжить фактическая компиляция и установка:

git clone https://github.com/naelstrof/maim.git
cd maim
cmake ./
make && sudo make install

Вот и все. Теперь вы можете позвонить maim с вашего терминала. Обязательно ознакомьтесь с документацией (maim --help) для всех доступных опций; и проверьте slop, утилиту того же разработчика, которая позволяет вам интерактивно выбирать область захвата экрана.

1
ответ дан 23 May 2018 в 23:15
  • 1
    Кажется, это уже не так. Версия 5.4 maim не имеет аргументов командной строки -x, -y, -w и -h с описываемой вами функцией. Вместо этого необходимо использовать параметр -geometry. – josch 13 December 2017 в 19:11

Привязать скрипт bash, который реализует scrot и imagemagick для сочетания клавиш

Это почти то же самое, что и ответ Джейкоба Влайма, но с bash. Он записывает файлы, используя временную метку, чтобы избежать перезаписи существующих файлов. Он также позволяет вам определять параметры обрезки по умолчанию в сценарии, поэтому вам не нужно вызывать его с любыми параметрами.

Вызовите сценарий ниже следующим образом (если вы находитесь в каталоге, где сценарий сохранен, в противном случае необходим полный путь к скрипту):

С параметрами: ./screenshot.sh $left_px $top_px $width_px $height_px ИЛИ Без параметров: ./screenshot.sh, в этом случае используются параметры по умолчанию, указанные в скрипте.

1) Установите необходимые приложения

Из командной строки выполните:

sudo apt install scrot imagemagick

1) Установите необходимые приложения

Откройте свой текстовый редактор и создайте новый файл открытого текста со следующим содержимым. Обязательно измените переменные вверху, чтобы указать, где вы хотите сохранить изображения и какую часть экрана вы хотите вырезать. См. ответ Джейкоба Влайма для получения координат мыши, которые можно использовать для поиска left и top и для вычисления width и height.

#!/bin/bash

# Change these values to match your preferences
imageQuality=100    # scrot default is 75
screenshotDir="/tmp"    # directory in which to save screenshots
imageName="$(date +%Y-%m-%d.%H:%M:%S.%N).jpg"   # save image names as timestamp
default_left=10     # begin crop this number of pixels from the left of the image
default_top=10      # begin crop this number of pixels from the top of the image 
default_width=100   # crop this many pixels wide
default_height=100  # crop this many pixels tall

#Do not make any more changes from here down unless you know what you're doing
l=$1; t=$2; w=$3; h=$4
left=${l:=$default_left}
top=${t:=$default_top}
width=${w:=$default_width}
height=${h:=$default_height}
imagePath="$screenshotDir/$imageName"

[ ! -d "$screenshotDir" ] && mkdir -p "$screenshotDir"
scrot -q $imageQuality "$imagePath"
convert "$imagePath" -crop ${width}x${height}+${left}+${top} "$imagePath"

Сохранить этот скрипт где угодно и сделать его исполняемым. Предполагая, что вы назвали свой скрипт screenshot.sh, вы сделали бы это в командной строке следующим образом:

chmod +x /path/to/your/script/screenshot.sh

3) Привяжите этот скрипт к сочетанию клавиш (необязательно) [ ! d17]

Следуйте указаниям, приведенным здесь, чтобы создать пользовательскую комбинацию клавиш. Когда вы дойдете до того момента, когда вы должны ввести команду, поместите полный путь к вашему screenshot.sh файлу (включая имя файла).

1
ответ дан 23 May 2018 в 23:15

В соответствии с этим документом на wiki здесь: https://wiki.ubuntu.com/Lubuntu/Applications/Process%20Documentation xfce4-screenshooter - одно из приложений для скриншотов для этого дистрибутива. На моей настройке XFCE следующая команда выполняет то, что вы просите.

xfce4-screenshooter
0
ответ дан 23 May 2018 в 23:15

Другие вопросы по тегам:

Похожие вопросы: