В своей прошлой заметке я рассказал, как просто можно управлять линуксным компьютером никуда не целясь. Но Линукс (Ubuntu, в частности) -- система, отлично поддающаяся ещё большей автоматизации, и средства этой автоматизации давным-давно разработаны, просто не все об этом знают.
Для цели, упомянутой в заголовке заметки, служит замечательная утилита, перехватывающая потоки между сервером X Window и ядром. Называется утилита xautomation, лежит в репозиториях, а также устанавливается из Центра приложений. Собственно, xautomation -- это целый набор утилит. Сейчас речь только об одной из них -- xte. Описывать не буду, лучше почитайте man xte, он очень короткий и понятный. Основная функция xte -- фейк (подделка) нажатий на клавиатуре и/или мыши строкой команды терминала. Например, надо ввести пароль qwerty. Это можно сделать вот такой командой:
xte "key q" "key w" "key e" "key r" "key t" "key y" "key Return"
Но набирать в терминале эту команду в качестве пароля не нужно. :) Вместо этого при создании жеста в easystroke подобная команда подставляется в поле аргумента жеста, которому присвоен тип "command". И всё! Жест, правда, надо выбирать посложнее. Я, например, использую фрагмент своей личной подписи, рука привыкла, а утилита easystroke отлично справляется со сложными жестами. Теперь все требования запаролиться просто "подмахиваются" мышью. Попробуйте -- удобно!
Чтобы ни у кого не возникало соблазна редактировать ваши жесты -- вообще уберите из трея значок работающего менеджера easystroke, создав белый список приложений командой вот такого образца:
gsettings set com.canonical.Unity.Panel systray-whitelist "['Wine', 'Dropbox', 'Firestarter', 'Skype']"
В квадратных скобках перечисляются приложения, значкам которых после запуска можно появляться в трее. После редактирования белого списка перезапустите среду Unity рабочего стола:
unity --replace
Или перезагрузитесь. Также в менеджере жестов отключите мышиный след, что затрудняет подсматривание, и ограничьте право открытия менеджера жестов в его свойствах до уровня супепрользователя. Вот, собственно, и всё.
P.S. Но будет ли это работать с сервером Wayland?..
Комментарии
А для Win32/64 такое что-нибудь не встречали?
Для Win32/64 также есть менеджеры мышиных жестов, например, StrokeIt, есть и эмуляторы клавиатуры, например, RuKey, остаётся их связать. Но Windows мне менее понятна, чем Линукс. Пописываю на bash'е, PowerShell не осваивал.