xorg의 xdotool에 대한 Wayland 대안?


16

xdotool은 멋진 X 응용 프로그램입니다. 매크로 명령을 만드는 데 사용하는 경향이 있습니다 (alt + f4 또는 ctrl + w 또는 ctrl + alt + backspace 등).

정말 사용하기 쉽고 편리하지만 이와 같은 wayland 호환 프로그램을 모르겠습니다. xdotool for X와 유사하게 마우스 및 키보드 입력 신호를 웨이 랜드로 보내는 방법이 있습니까?

그것은 현재 xwayland와 거의 작동하지만 모든 명령이 작동하는 것은 아닙니다 (예 : alt + f4, xev는 alt + f4 입력을 읽을 수는 있지만 키보드에서 누르는 것처럼 응용 프로그램 종료를 트리거하지는 않습니다) 잠재적으로 xwayland를 사용하지 않습니다.


답변:


3

보안상의 이유로 이러한 기능은 Wayland 디자인에서 명시 적으로 제외되었습니다. (다른 프로그램의 입력을 읽는 것이 가장 큰 문제이지만 가짜 입력을 다른 프로그램으로 보내도록 허용하면 문제가 발생할 수 있습니다.)

즉, 일부 Wayland WM이 결국에는 일종의 매크로 기능을 구현할 것으로 기대합니다. 결국, 그들은 화면 키보드와 (접근성) 음성 제어를 지원해야합니다.

그러나 이러한 기능이 존재하면 사용중인 Wayland 컴포 지터에 따라 달라집니다. Weston? KDE의 KWin? 그놈 쉘? 계발? Wayland에는 "디스플레이 서버 – 창 관리자"분할이 없습니다. 창 관리자 Wayland 서버이며 구현할 기능을 결정합니다 (Wayland 하위 프로토콜 또는 D-Bus API 등).


1
모든 웨이 랜드 컴포 지터에 적합한 프로그램을 만들 수 있다고 생각합니다. Libinput은 사용자 입력을 wayland에 전달하며, libinput을 통해 alt + f4 및 wayland 함수를 사용하는 다른 명령을 트리거 할 수 있습니다. libinput을 사용하여 매크로를 키보드 또는 마우스 입력으로 읽는 것만으로도 충분합니다. 내가 생각하는 것이지만, 어떻게해야할지 모르겠습니다.
Cestarian

@Cestarian : 커널의 uinput 기능을 사용하여 가짜 입력 장치를 만들어야합니다.
user1686

1
그렇게 어렵지 않아야합니다. 일부 드라이버 작업에서 한 번 기억합니다. 어쩌면 그 코드를 보면 어떤 방법 으로든 알아낼 수 있습니다. (내가 뭘했는지
몰랐지만

1
메일 목록에 RFC가있었습니다. RFC : 입력 이벤트 삽입을위한 인터페이스스크린 샷 및 스크린 캐스트 녹화를위한 API 추가 . 추가적인 보안 강화 작업을 통해 문제를 해결할 수있을 것 같습니다.
벤 Creasy

3

현재 완벽한 솔루션은 없지만 ydotool 과 같은 솔루션이 있습니다.

uinput 인터페이스를 백엔드로 사용하며 디스플레이 서버에 의존하지 않습니다.


슬프게도 우분투 19.04에서 실행할 수 없었습니다. 나는 설치 libboost-program-options-dev, libevdevplus, libuinputplus마침내는 ydotool그 자체 ,하지만, 난 여전히 받고 있어요ydotool: error while loading shared libraries: libboost_program_options.so.1.65.1: cannot open shared object file: No such file or directory
m93a
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.