Команда для создания скриншота определенной области рабочего стола

Решением может быть использование оболочки для сохранения адресов и завершения bash для их извлечения:

address_book=${HOME}/.address
mailx() {
    #loop through all args 
    for i; do
        # does this look like an email address
        if grep -xqE '[[:alnum:]_.+\-]+@[[:alnum:]\-]+.[[:alnum:].\-]+' <<< "${i}" && ! grep -xqF "${i}" "${address_book}"; then
            echo "${i}" >> "${address_book}"
        fi
    done
    /usr/bin/mailx "${@}"
}
_mailx_completion() {
    if [[ ! -f ${address_book} ]] ; then
        return
    fi
    # Only add each email once
    emails=($(grep -xvf<(echo "${COMP_WORDS[*]}"|tr ' ' '\n') "${address_book}"))
    if [[ ${#emails[@]} -eq 0 ]] ; then
        return
    fi
    # list emails
    COMPREPLY=( $(compgen -W "${emails[*]}" "${COMP_WORDS[${COMP_CWORD}]}") )
}                                                      
complete -F _mailx_completion mailx

Добавить в ваш «.bashrc»

Пояснение:

Мы используем функцию bash для перехвата вызова mailx. Эта функция просматривает аргументы командной строки в поисках адресов электронной почты. Найдя его, он затем проверит нашу «адресную книгу», чтобы убедиться, что его там еще нет -, если это не так, он добавит его в список. Наконец, мы вызываем mailxс исходными аргументами.

Вторая часть — это функция автозаполнения bash -, которая вызывается всякий раз, когда вы нажимаете клавишу Tab . Bash будет читать адреса электронной почты из ~/.addressвсякий раз, когда вы нажимаете клавишу Tab после ввода mailx. Дополнительная логика заключается в удалении адресов электронной почты из списка предложений после добавления в командную строку.

Чтобы включить все это, добавьте указанное выше в свой файл .bashrc.

-1
02.03.2021, 12:18
2 ответа

Вы можете использовать команду import.

Подробнее о том, как его использовать здесь

Если команда недоступна, вы можете установить пакет imagemagick, чтобы получить ее.

Использование выглядит следующим образом:

import [options] output-file

, в котором многочисленные различные [options]могут быть подробно описаны на справочной странице импорта с помощью man import.

Вот пример:

import -screen test.png

позволяет с помощью курсора выбрать часть экрана и сохранить ее вtest.png

Другой пример — сохранить все окно вместе с его границей, выполнив

import -border test2.png
2
18.03.2021, 22:27

Я большой поклонник Shutter . Поскольку вы используете Ubuntu, вы можете установить его с помощью:

sudo apt install shutter

Затем вы можете изменить сочетания клавиш (удалить существующие сочетания клавиш и добавить новые )для работы с затвором.

Чтобы сделать полный скриншот,:

shutter -f

Чтобы сделать скриншот определенной области:

shutter -s

Теперь, почему я предпочитаю это?

Во-первых, с помощью Shutter можно выполнять базовое редактирование. Вы можете обрезать, размыть, добавить стрелки, добавить текст и многое другое. Вы также можете загрузить (под названием «Экспорт» )непосредственно из Shutter. Мало того, что в нем настроено несколько сайтов, вы также можете добавить свои собственные сайты в функцию загрузки.

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

0
18.03.2021, 22:27

Теги

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