xrdb를 통해 프로그래밍 방식으로 Gnome 다시 로드 설정을 변경하는 방법

xrdb를 통해 프로그래밍 방식으로 Gnome 다시 로드 설정을 변경하는 방법

항상 동일한 계정(동일한 네트워크에서 Centrify를 관리함)에 로그인하는 설정이 있지만 일부 시스템에는 24인치 1080p(1920x1080) 모니터가 있고 다른 시스템에는 27인치 4K(3840x2160) 모니터가 있습니다. 기본 Gnome 배율 인수는 1080p 모니터에서는 대략 정확하지만 4K 모니터에서는 읽을 수 없을 정도로 작게 나타납니다.

도구를 실행하고 탭 Tweaks으로 이동하여 1.38(4K의 경우) 또는 0.98(1080p의 경우)을 읽기 가능으로 설정하면 컴퓨터를 전환할 때마다 수동으로 문제를 해결할 수 있으며 , Gnome은 새로운 스케일링 요소를 즉시 사용하도록 업데이트합니다.FontScaling Factor

저는 이것이 자동으로 발생하도록 스크립트를 작성하려고 합니다 .bashrc(로그인 쉘도 항상 실행되는 이상한 설정이 있습니다 .bashrc). 저는 단지 SSH가 아닌, 비대화형 로그인 쉘에 있는지 테스트하고 있습니다. 그래서 실행되지 않습니다(로그인 셸 제외). 그래서 컴퓨터를 전환할 때 수동으로 아무것도 할 필요가 없었습니다. 그래서 두 개의 .Xresources파일을 작성했습니다. 하나는 다음을 포함합니다.

Xft.dpi:         132

다른 하나는 다음과 같습니다

Xft.dpi:         94

그리고 로그인한 컴퓨터에 따라 다음을 실행합니다.

xrdb -merge ~/path/to/appropriate/.Xresources

기기에 올바른 dpi 설정을 적용하십시오. 그러나 파일의 일부 다른 설정 .Xresources(생략됨)은 즉시 적용되지만(응용 프로그램은 로그인 시 닫혀서 시작할 때 올바른 설정을 로드함) 기존 로그인 설정에 대한 Gnome 셸 UII를 변경하지 않습니다. 로그아웃했다가 다시 로그인할 때 컴퓨터를 전환할 때마다 다시 로그인했다가 로그아웃했다가 다시 로그인하고 싶지 않습니다(수동 업데이트보다 더 나쁩니다 Tweaks).

그래서 내 질문은 다음과 같습니다

다음 중 하나를 수행하는 프로그래밍 방식이 있습니까?

1. Gnome에게 설정에서 구성을 다시 로드하도록 지시합니까 xrdb( xrdb -query -all변경 사항이 적용되었지만 적용되지 않았음을 명확하게 표시함)?

2. 도구처럼 새로운 배율을 사용하도록 Gnome에 직접 지시합니까 Tweaks?

3. (XY 문제가 있는 경우) 다른 방법으로 사용자 정의 DPI를 적용하는 더 깔끔한 방법은 무엇입니까?

답변1

대답은 #2입니다. 명령줄 도구는 gsettingsGnome에게 특정 배율 인수를 사용하도록 직접 지시할 수 있습니다(그리고 xrdb일치하도록 상태를 자동으로 업데이트합니다). Xft.dpi다양한 파일에서 해당 설정을 제거하고 다음을 실행할 수 .Xresources있습니다.

gsettings set org.gnome.desktop.interface text-scaling-factor 1.375  # Equivalent to xrdb dpi of 132

4K 머신의 경우:

gsettings set org.gnome.desktop.interface text-scaling-factor 0.97916666666667  # Probably more precision than necessary to get exact xrdb dpi of 94

비슷한 질문 기능을 즐겨보세요! 답변을 기다려야 한다고 생각하여 이 질문을 썼는데, 다 작성하고 나니 비슷한 질문의 드롭다운 목록이 다음과 같이 표시되었습니다.KDE 동적 고해상도 텍스트 크기 조정, 중복은 아니지만 질문의 Gnome 문제에 대한 정확한 답변을 제공합니다. 느슨하게 관련된 질문에 숨겨진 답변이 아니라 이 질문에 전용 질문/답변이 있도록 스스로 답변하고 있습니다.

관련 정보