Здравствуйте!
Пишу сейчас кастомный переключатель клавиатуры. Это обычная программа, которая в бесконечном цикле следит за файлом устройства клавиатуры, и переключает язык при определенных действиях пользователя.
Пробема в том, что для доступа к файлу устройства клавиатуры /dev/input/event0 нужны права рута.
Вопрос. Как правильно запускать эту программу так, чтобы она имела права рута, и при этом знала рабочую директорию пользователя чтобы из нее считать пользовательский конфиг?
Я могу конечно прописать программу в /etc/sudoers, и потом стартовать ее через sudo myprogram. Но это как-то неправильно. Назначать файлу устройства права доступа «всем» тоже как-то неправильно.
Программу планируется распространять как OpenSource, поэтому нужно выбрать сразу правильный метод. Какой?