Paepoi

Paepoi » Fedora Linux Tips » Fedora Tips | GNOME 3 及び GTK3 アプリの設定

Fedora Tips | GNOME 3 及び GTK3 アプリの設定

# 最終更新日 2019.09.23

2019 年現在の仕様に追記と書き換え、Wayland での動作確認。

gsettings コマンド
GNOME 3 及び GTK3 アプリの設定は gsettings コマンドを利用します。

たとえば GNOME 3 デフォルト状態ではデスクトップに時刻と曜日しか表示されません。
以下のコマンドでを撃ち込めば日付けを表示できるようになります。
# gsettings set スキーマ キー 値
gsettings set org.gnome.desktop.interface clock-show-date true
# デフォルトに戻すには gsettings reset スキーマ キー
gsettings reset org.gnome.desktop.interface clock-show-date

# ウインドウに最小化と最大化ボタンを追加、コロンの左に書くと左寄せになる
gsettings set org.gnome.desktop.wm.preferences button-layout appmenu:minimize,maximize,close
# 戻す
gsettings reset org.gnome.desktop.wm.preferences button-layout

# GNOME 3.28 以降は設定してもデスクトップにファイルは置けません、無視される
#gsettings set org.gnome.desktop.background show-desktop-icons true

# 詳しくは man で(手抜き)
man gsettings

スキーマの実体は /usr/share/glib-2.0/schemas ディレクトリにある XML ファイル。
ユーザー定義の実体は ~/.config/dconf/user ファイル。

とはいえスキーマやキーの名前が解らないとコマンドも糞もない。
dconf-editor を導入しましょう、デフォルトでは入っていません。
sudo dnf install dconf-editor
gnome-tweak-tool というものがありますがコレの機能縮小版でしかありません。
てゆーかデスクトップのカスタムとフリーソフトのインストールしかやらない人用です。

dconf-editor は GNOME 及び GTK3 アプリ設定のほとんどを変更できます。

img/gsettings_show_date.png

階層はタイトルバーに表示されています。
この階層をドットで区切ったものをスキーマとしてキーの値を変更するのが基本。
しかし下記画像のように階層とスキーマ名が若干違うという場合もある。

img/gsettings_terminal.png

上記の場合は [Schema] 部分をスキーマ名とすれば適用できます。
大文字小文字も区別されますのでコマンドを使う時には慎重に。

初期設定で利用しそうなスキーマをいくつか。
GNOME のバージョンにより結構変わるのでコレも慎重に。
# デスクトップの基本設定
org.gnome.desktop.interface
# GnomeShell の基本設定
org.gnome.shell
# ウインドウマネージャの動作設定
org.gnome.desktop.wm.preferences
# Gedit の設定(本体で変更できない機能が多い...
org.gnome.gedit.preferences.editor

systemctl コマンド
Fedora は 15 以降サービスが SysV から systemd に変更されています。
起動スクリプトは /etc/init.d から /usr/lib/systemd/system に移動している。
なので chkconfig ではなく systemctl コマンドを使う必要があります。
# サービス一覧
systemctl -t service

# サービスの(開始|停止|状態確認)
sudo systemctl start|stop|status hoge.service

# 次回起動時よりサービスの自動開始(有効|無効)
sudo systemctl enable|disable hoge.service

# ABRT はバグ報告のサービスですが開発をしていると自アプリの Debug に反応する
# 以下コマンドで表示されたサービスをすべて stop, disable にする
# ちなみに sudo systemctl disable abrt-x とかから Tab キー補完が使える
systemctl -t service | grep abrt

SELinux
難解すぎることで有名な SELinux ですが実際は存在を感じることは少ないです。
公開サーバー用途でもなければ存在を感じるのは Web 開発の時だけです。

Fedora Update のバグでアクセス不能になった等の時だけ一時的に無効にするのが得策。
# 状態確認、Enforcing なら On で Permissive なら Off
getenforce
# On にする
sudo setenforce 1
# Off にする
sudo setenforce 0
SELinux を起動時から無効化(筆者はしていない)するには
/etc/selinux/config にて SELINUX=disabled に書き換え再起動

localhost.localdomain
localhost.localdomain はファイル共有や http アクセスに使われるデフォルト名です。
他のコンピューターから判別できるように適切な名前に変更しておきましょう。

macOS では ***.local という名前でファイル共有や http アクセスなので合わせたい。
以下は katana.local に変更しています。
# ホスト名.ドメイン名
hostnamectl set-hostname katana.local

# 再起動後に確認
hostnamectl status

# NetworkManager 再起動は不調になるので OS 丸ごと再起動
# この方法はデバイス名や共有名も同じ名前に変更される
# GUI でデバイス名や共有名を変更すると Pretty hostname が別に設定される
# nmcli general hostname katana.local ではデバイス名や共有名は変更されない、分離したい場合はこちら
# ドメイン名は local にしないと上手くいかないみたい
ホスト名は bash のプロンプトにも使われる。
img2/bash.png
Copyright(C) sasakima-nao All rights reserved 2002 --- 2020.