Gnome は、gsettings コマンドで設定されたテキストスケール要素の値に従わない。

Gnome は、gsettings コマンドで設定されたテキストスケール要素の値に従わない。

Manjaro 20.2 GNOMEに切り替えましたが、外部モニターの接続/切断イベントに対してudevでスクリプトを実行できませんでした。 poposでは、このスクリプトはうまく実行され、udevトリガーが実行されているように見えますが、コマンドはgsettings機能しません。

問題はgsettings set org.gnome.desktop.interface text-scaling-factor 1.14次のとおりです。 PopOS(以前のリリース)で実行すると、アクセシビリティオプションがトップバーに表示され、テキストサイズがすぐに調整されます。 Manjaroでは何もしません。値を確認するとgsettings get org.gnome.desktop.interface text-scaling-factor返されますが、1.13999変更がUIに反映されない場合や表示されたときにdconf-editor表示されます1.0

tweak-toolsまた、inまたはinの値を変更すると、dconf-editorそれに応じてUIのサイズが即座に調整されますが、トップパネルメニューのスライダを使用してサイズ変更を再度切り替えると、以前に設定または返された1.25値とは異なる値にリセットされます。わかりやすくするために、「大きなテキスト」を再びオンにした後に表示される値はまだ表示されます。1.14gsettings getdconf-editor1.25gsettings get1.13999

今は質問とはほとんど関係ありませんが、以下はdbusソケットを使用して実行されるスクリプトですgsettings

# rule in /etc/udev/rules.d/text_scale.rules:
# SUBSYSTEM=="drm", ACTION=="change", RUN+="/home/user/.bin/scale_text"

# Need to run 'gsettings' as user, so lets get the user id
# Get the Real Username
RUID=$(who | awk 'FNR == 1 {print $1}')

# Translate Real Username to Real User ID
RUSER_UID="$(id -u ${RUID})"

# Get the current text-scaling-factor
CURRENT_FACTOR=$(sudo -u ${RUID} \
  DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${RUSER_UID}/bus" \
  gsettings get org.gnome.desktop.interface text-scaling-factor)

if (( $(echo "$CURRENT_FACTOR == 1.0" | bc -l) ))
then
  sudo -u ${RUID} DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${RUSER_UID}/bus" \
    gsettings set org.gnome.desktop.interface text-scaling-factor 1.14
else
  sudo -u ${RUID} DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${RUSER_UID}/bus" \
    gsettings reset org.gnome.desktop.interface text-scaling-factor
fi

答え1

だから、似たような質問を偶然見つけましたここそしてranwhich gsettingsは驚くほど返されます/home/user/miniconda3/bin/gsettings(なぜcondaに入れたのか、python gtk開発の理由によるのでしょうか?)。

だから私はフォルダの名前を変更し、gsettingsバイナリが元々なければならなかっ/usr/bin/gsettingsた場所に戻り、すべてがうまくいきます。

関連情報