Как получить данные в фоновом процессе в Ubuntu

Я нахожу команду ОС Ubuntu, которая позволяет программе считывать данные с клавиатуры, даже если программа находится в фоновом режиме. Я пытался много искать, но безуспешно. Если какой-либо программист Ubuntu / Linux знает команду ОС, которая позволяет программе сделать это, пожалуйста, поделитесь ею со мной.

Я новичок в программировании на Ubuntu.

0

Решение

Вы можете использовать подсистему ввода Linux для чтения событий с мышей и клавиатур. Это будет работать только в том случае, если ваше приложение имеет необходимые привилегии. По сути, вы должны запустить приложение от имени пользователя root, чтобы это работало.

Если вы не можете запустить от имени пользователя root, вам все равно не следует пытаться контролировать клавиатуру.

Вы можете создать приложение X11 для мониторинга событий клавиатуры в текущем сеансе. Он работает только для текущего пользователя и в текущей графической среде и может не иметь возможности наблюдать привилегированные диалоги, например ввод пароля. Для получения подробной информации, смотрите ярлык приложения для вашей среды рабочего стола; все Linux DE, о которых я когда-либо слышал, есть.

Я думаю, что старые статьи Linux Journal, Linux USB подсистема ввода а также Использование подсистемы ввода, до сих пор являются одним из лучших введений в подсистему ввода Linux. В настоящее время большинство дистрибутивов Linux также поддерживают uinput, подобное устройство, которое позволяет вводить входные события обратно в подсистему ядра, разработанную для поддержки драйверов устройств ввода в пользовательском пространстве. Их интерфейсы описаны в /usr/include/linux/input.h а также /usr/include/linux/uinput.h, Я рекомендую вам начать с вышеупомянутых статей, а затем посмотреть на некоторые вход а также uinput Примеры.

1

Другие решения

Если вам удобно использовать программу, посмотрите на Проект Logkeys
. Он напрямую принимает данные из / dev / input / event *.

0

По вопросам рекламы [email protected]