Xcursor를 사용하여 사용자 정의 마우스 커서를 재정의하는 방법은 무엇입니까?

Xcursor를 사용하여 사용자 정의 마우스 커서를 재정의하는 방법은 무엇입니까?

Microsoft Windows 서버에 연결 하면 rdesktop마우스 커서가 Windows 트루 컬러 커서의 흑백 버전으로 설정됩니다. 이는 윤곽선이 없는 흰색 화살표로 나타나므로 흰색 표면에서는 보기가 어렵습니다.

Windows 시스템에서 커서를 변경하고 싶지 않지만 Xcursor 작동 방식에 대한 이해는 다음과 같습니다.

커서가 설정되면 커서 이미지의 해시를 사용하여 파일 이름별로 조회되므로 일치하는 항목이 발견되면 원래 흑백 커서 대신 해당 Xcursor가 사용됩니다.

내 생각은 이 파일을 제공하고 그 안에 더 선명한 커서 이미지(예: 기본 화살표)를 넣을 수 있다면 대부분의 경우 기본 화살표를 사용하여 문제를 해결할 것이라는 것입니다. 또한 rdesktop원격 시스템에서 필요한 경우 커서를 다른 항목(예: 크기 조정 화살표)으로 변경할 수 있습니다.

  • rdesktop내가 얻은 커서 이미지에 사용된 해시를 어떻게 찾을 수 있나요 ?
  • 해당 해시를 사용 중인 테마의 일반 화살표 커서에 어떻게 매핑합니까?

답변1

나는 이것을하는 방법을 알아 냈습니다. 먼저, XCURSOR_DISCOVER마우스 커서를 설정하는 프로그램을 실행하기 전에 환경 변수를 설정 해야 합니다. 제 경우에는 다음과 같습니다 rdesktop.

$ XCURSOR_DISCOVER=1 rdesktop ...

그러면 각 커서의 비트맵과 해시가 인쇄됩니다.한번만처음 설정할 때. 재정의하려는 이미지인 기본 Windows 커서를 설정할 때의 출력은 다음과 같습니다.

Cursor image name: 24020000002800000528000084810000
...
Cursor image name: 7bf1cc07d310bf080118007e08fc30ff
...
Cursor hash 24020000002800000528000084810000 returns 0x0

Xcursor가 누락된 커서를 찾을 때 ~/.icons/default/cursors누락된 커서의 이미지를 거기에 배치할 수 있도록 검색 경로가 포함됩니다.

$ mkdir -p ~/.icons/default/cursors

이제 해시를 기존 이미지에 지정하기만 하면 됩니다. 이 이미지는 애플리케이션이 해시 값을 설정하려고 할 때 사용됩니다. 이 경우 테마의 이미지를 left_ptr사용 하려고 합니다 Vanilla-DMZ(기본 화살표임).

$ ln -s /usr/share/icons/Vanilla-DMZ/cursors/left_ptr ~/.icons/default/cursors/24020000002800000528000084810000

그게 다야! 변경 사항은 즉시 표시되어야 합니다.

관련 정보