시스템이 어둡거나 밝은 데스크탑 테마를 사용하는지 감지하는 명령?

시스템이 어둡거나 밝은 데스크탑 테마를 사용하는지 감지하는 명령?

가지다브라우저의 방법웹사이트 개발자가 사용자의 선호도에 따라 웹사이트의 색상을 조정할 수 있도록 사용자가 어두운 테마를 선호하는지 밝은 테마를 선호하는지 쿼리합니다.

명령줄에서 이를 감지하는 방법도 있습니까? 출력할 명령이 있습니까 light? dark또는 밝거나 어두움을 나타내는 동등한 부울 출력이 있습니까?

답변1

나는 Gnome의 색 구성표 전환 확장을 사용하기 때문에 다음 명령을 사용하여 현재 색 구성표를 감지합니다.

#!/bin/sh
# org.freedesktop.appearance color-scheme
#
# Indicates the system's preferred color scheme.
# Supported values are:
#
#   0: No preference
#   1: Prefer dark appearance
#   2: Prefer light appearance
#
# Unknown values should be treated as 0 (no preference).

scheme=$(
  gdbus call --session --timeout=1000 \
             --dest=org.freedesktop.portal.Desktop \
             --object-path /org/freedesktop/portal/desktop \
             --method org.freedesktop.portal.Settings.Read org.freedesktop.appearance color-scheme
)

case $scheme in
  ( '(<<uint32 1>>,)' ) exit 1;;
  ( '(<<uint32 2>>,)' ) exit 2;;
  ( *                 ) exit 0;;
esac

이는 Fedora 37 및 Ubuntu 22.04(distrobox를 통해 Fedora에서 실행되므로 YMMV)에서 작동합니다.

답변2

다음 명령을 시도해 볼 수 있습니다(gnome 데스크탑 환경, ubuntu 22.04에서 테스트됨).

gsettings get org.gnome.desktop.interface color-scheme

다음과 같이 출력됩니다.

'prefer-dark'

또는

'prefer-light'

관련 정보