Необработанная обработка событий мыши с использованием файла устройства потребует:
REST
и управлять им через curl
или браузер
Но ни одно из вышеперечисленных решений не кажется безопасным ...
К счастью, есть инструменты, которые избавят вас от таких кропотливых усилий ... и предоставят вам безопасное решение вашей проблемы.
Я полагаю, что когда вы говорите, что «вы хотите управлять мышью удаленно», вы имеете в виду управление мышью, как показано в целевом графическом интерфейсе пользователя. Это сервис, предоставляемый сервером X-Windows, которым можно легко и безопасно управлять через командную строку с помощью ssh.
Простите, но я действительно не знаю, как netcat
вписывается в эту картину ...
Итак, вы могли бы просто использовать xdotool
] для имитации события мыши по ssh-соединению:
$ ssh user@machine xdotool mousemove 0 0 click 1
Да, это действительно так просто!
См .:
Как события мыши работают в Linux?
https: // stackoverflow.com / questions / 1029027 / x11-move-an-existing-window-via-command-line
Это на тот случай, если вы хотите управлять курсором мыши, как показано в целевой операционной системе. Потому что, если ваша цель - создать терминальное приложение, использующее мышь (это мышь, физически подключенная к клиенту), вам определенно следует выбрать программу, основанную на ncurses
. ncurses
использует сервер мыши терминала с открытым исходным кодом, а также может использоваться для предоставления сложного графического интерфейса через ssh и простого терминала. Кроме того, ncurses не зависит от работы x-сервера, потому что он никоим образом не влияет на мышь сервера, он просто использует мышь клиента для управления приложением.
В любом случае, если ваша цель - просто поиграть с файлами устройства linux, попробуйте отправить документ на аудиоустройство и посмотреть, как он звучит ... подойдет простой cat and pipe с привилегиями root.
Отредактируйте в качестве root / etc / sudoers и поместите следующую строку:
youruser ALL=(ALL) NOPASSWD:ALL
после
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Таким образом вы сможете выполнять все команды, требующие привилегий sudo, без пароля.
Чтобы использовать sudo и запрашивать пароль, необходимо удалить
NOPASSWD:ALL
Следующая команда является правильной и достаточной, но вам необходимо полностью выйти из системы и повторно войти для работы.
usermod -a -G sudo user
Кроме того, в Debian, если не работает, нужно установить пакет sudo:
apt install sudo
Затем у вас должен быть файл /etc/sudoers
и действуйте следующим образом:
usermod -a -G sudo user
Вам необходимо выполнить следующую команду от имени root :(, где USERNAME
заменяется вашим фактическим именем пользователя)
usermod -aG sudo USERNAME
Это не сработает, если вы попытаетесь запустить эту команду от имени непривилегированного пользователя.
Итак, чтобы получить root-права и убедиться, что необходимые пакеты установлены, сделайте это:
su
[enter password for your root user]
apt update
apt upgrade
apt install sudo
apt install usermod
usermod -ag sudo USERNAME
reboot
Не забудьте в конце перезагрузиться!
После перезагрузки пользователь сможет использовать команды sudo
.
Подсказка:Если вы попытались запустить длинную команду, которая не удалась, потому что на самом деле требуются права sudoer, вы можете использовать следующий трюк, чтобы запустить команду снова, но на этот раз с правильными привилегиями:
sudo !!