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.