Windows로 작업할 때 가끔 WinSpy++를 잘 활용하는데, 이를 통해 창이나 컨트롤(위젯, 창 요소)을 가리켜 자세한 정보(이 특정 인스턴스를 설명하는 구조/클래스의 필드 값 포함)를 볼 수 있습니다. , 창 관리자 메시지를 보내는 등의 작업을 수행합니다. 내가 사용해 온 일반적인 비천한 작업 중 하나는 선택 불가능한 위젯(예: 텍스트 필드와 같이 위젯에서 텍스트를 선택하고 복사할 수 없는 레이블)에서 텍스트를 복사하는 것입니다. GNU/Linux GUI 애플리케이션과 함께 사용할 수 있는 유사한 도구가 있습니까?
답변1
여기서는 1:1 매핑을 기대할 수 없습니다. WinSpy++에 대해서는 모르지만 해당 기능이 여러 다른 도구에 분산되어 있을 가능성이 높으며 일부 기능은 단순히 X에서 의미가 없으며 반대로 X 도구에는 의미가 없는 추가 기능 창이 있습니다. X에서 의미가 있습니다.
기본 X11 배포판은 다음과 같습니다.몇 가지 간단한 도구. 여기서 가장 관련성이 높은 것은 다음과 같습니다.
조작할 수 있는 도구도 있습니다.XResources:appres
,editres
(이를 구현하는 소수의 애플리케이션의 경우)listres
,xrdb
.
Windows에서 정보를 얻고 작업을 수행하는 데 일반적으로 사용되는 두 가지 타사 유틸리티는 다음과 같습니다.wmctrl
(명령줄에서 창 관리자 작업 수행) 및xdotool
(창에 이벤트 보내기).
답변2
창 관리자나 X 서버 모두 위젯/컨트롤을 인식하지 못하므로 도구가 다른 응용 프로그램 위젯의 세부 정보를 시스템에 쿼리하는 표준 방법이 없습니다. 응용 프로그램은 주로 픽셀 이미지, 다각형 그리기 작업, 텍스트 그리기 작업과 같은 콘텐츠를 X 서버로 보냅니다.
그러나 프로세스에 연결하고 해당 위젯 툴킷의 데이터 구조를 검사할 수 있는 도구가 있습니다. GTK+를 사용하는 애플리케이션에는 다음이 있습니다.기생물. 기생충의 한 가지가 이제GTK+에 포함됨버전 3.14부터.
Qt의 경우 빠른 검색이 나타납니다.Qt 검사관, KDE 저장소에 숨겨진 도구인 KSpy에서 영감을 얻었습니다.
애플리케이션이 어떤 위젯 키트를 사용하는지 알아내려면 명령줄 도구를 사용하여 해당 애플리케이션이 의존하는 라이브러리를 나열할 수 있습니다 ldd
.
답변3
기본적으로는 그렇지 않습니다.
사용할 수 있는 창에 대한 정보를 얻으려면
xwininfo
주문하다. 그러나 X11은 Windows와 달리 동일한 정보를 인쇄하지 않으므로 놀랄 것도 없습니다. Windows에서처럼 일반적이지는 않지만 선택할 수 없는 컨트롤에서 텍스트를 복사하는 방법은 모르겠습니다.
창 관리자 메시지를 보내는 것에 관해서는 잘 모르겠습니다. 예를 들어 XRECORD 확장을 기반으로 하는 도구를 사용할 수 있습니다.시드니. 그러나 나는 이것을 시도한 적이 없습니다.