어떤 파일이 키 입력과 마우스 클릭에 속해 있는지, 어떤 종류의 데이터가 해당 파일로 전송되는지 알고 싶습니다.
이 질문을 하는 주요 목적은 키 입력 로깅입니다. 아래와 같은 몇 가지 작업을 수행하기 위해 키로거 스크립트를 작성하고 싶습니다.
- 특별한 단어를 입력할 때마다 백그라운드에서 명령을 실행할 수 있습니다. 예를 들어, Firefox를 입력하면 특수 키(예: Alt 키)를 누르지 않는 한 Firefox는 운영 체제의 어느 곳에서나 열립니다.
- 키 입력과 마우스 클릭에 대한 완전한 로그 파일을 가질 수 있습니다.
- 키보드의 입력 언어를 변경하고 특수 프로그램(예: 터미널)을 열면 자동으로 언어가 영어로 변경됩니다. (입력 언어를 변경하는 것이 아니라 프로그램이 영어로 인식하도록 다른 언어 키 입력에 대한 스크립트를 변경하는 것을 의미합니다.)
또한 키로거가 추적해야 하는 파일이 무엇인지 이해하여 시스템(있는 경우)의 키 입력 로깅을 감지하고 싶습니다.
노트:
- 가장 낮은 실행 수준에서 키 입력 로깅을 수행하고 싶습니다. 런레벨이 낮을수록 문제가 더 잘 해결되었습니다.
- 나는 또한 다음과 같은 몇 가지 질문을 읽었습니다."유닉스 사용자 수준 키로거", 그러나 이러한 질문에는 몇 가지 제한 사항이 있습니다. 즉, 키 로깅은 터미널에서만 발생한다는 것입니다. 나는
script
깊고 포괄적이며 무제한적인 방식으로 키로깅을 하고 싶습니다. - 위에 나열된 작업을 수행하는 다른 더 좋은 방법이 있을 수 있습니다. 하지만 제가 말했듯이 제 의도는 키로깅을 배우고 키보드 및 마우스 입력과 관련된 파일에 대해 더 많이 이해하는 것입니다. )
내 질문에 대한 답변이 길다는 것을 알고 있습니다. 그렇다면 다음 정보를 알고 싶습니다.
어떤 파일이 키 입력에 속합니까?
마우스 클릭에 속하는 파일은 무엇입니까? (이것은 이전 것보다 덜 중요합니다.)
이 파일에는 어떤 종류의 데이터가 전송됩니까?
위에 나열된 작업을 수행하는 데 도움이 되는 명령은 무엇입니까?
답변1
Linux에서 입력 장치는 에 있습니다 /dev/input
. 입력 이벤트로 멋진 작업을 수행하려면 다음을 확인하세요.evdev커널 하위 시스템 및 libevdev
. 이 Wikipedia 링크가 끊어지면 커널 문서에서 검색하십시오.
이 질문은 너무 광범위하므로 이 답변은 시작을 위한 가이드로만 사용할 수 있습니다. (또한 구체적인 상황은 저도 잘 모릅니다!)
범용 Firefox 런처에 대한 귀하의 아이디어는 이상한 아이디어처럼 보입니다. 명령 입력을 활성화하는 특수 키가 있으면 좋을 것 같습니다. KDE의 Plasma 데스크탑은 다음을 수행합니다: alt+ space화면 상단에 텍스트 상자를 표시합니다(언제든지 키보드 포커스가 있는 X11 창에). 이 텍스트는 홈 디렉토리에서 파일 및 명령 이름을 검색합니다.
evdev를 직접 사용하려면 키 입력 모니터링을 사용하여 트리거되는 키 시퀀스를 감지하는 것이 좋습니다. 도서관 이용 측면에서, 당신은 여전히 얻기를 원합니다모두키 입력에 대해 좀 더 건전한 작업을 하라고 제안하는 것뿐입니다. :)
제가 스택오버플로우에서 이야기했던 프로그램을 실수로 시작했다면 정말 미칠 것 같았습니다. 원하지 않는 프로그램이 실행되지 않는지 확인하기 위해 무엇이든 입력하기 전에 생각해야 합니다.끔찍한.