環境
# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
# gnome-shell --version
GNOME Shell 3.28.3
初めに
CentOS7の環境にGNOMEをインストールして使っています。
たまに新しいユーザを作成することがあるのですが
GNOMEを初めて使用する人にはproxyや日本語入力の設定をどこに入れるかわからないという質問が飛んできます。
そのため、最低限必要なGNOMEの設定項目をスクリプトにしてみました。
初回設定スクリプト
# !/bin/bash
# http接続
DISPLAY=:0 gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host 'プロキシIPアドレス'
gsettings set org.gnome.system.proxy.http port プロキシポート番号
# ftp接続
DISPLAY=:0 gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.system.proxy.ftp host 'プロキシIPアドレス'
gsettings set org.gnome.system.proxy.ftp port プロキシポート番号
# https接続
DISPLAY=:0 gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.system.proxy.https host 'プロキシIPアドレス'
gsettings set org.gnome.system.proxy.https port プロキシポート番号
# proxyを使わない対象の定義
DISPLAY=:0 gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.system.proxy ignore-hosts "['localhost', '127.0.0.1/32', 'IPアドレス/32']"
# 日本語入力ソースを定義しています。
gsettings set org.gnome.desktop.input-sources sources "[('ibus', 'kkc'), ('xkb', 'jp')]"
上記スクリプトを/etc/skelにsetup.shという名前で保存しておきます。
後はuseradd -m hogeでユーザを追加すればhogeユーザーのホームディレクトリにスクリプトが自動で配置されるので
新規に払い出したユーザにsetup.shを実行してもらえれば必要な設定が入ります。
gsettingコマンドについて
gsettingsコマンドでGNOMEの設定を行っているようですが、何を編集してるのかよくわからなかったので調べたところ下記ページを参考にしました。
(https://mseeeen.msen.jp/centos74-commonize-the-input-source/)
どうやら編集するファイルは各ユーザの「~/.config/dconf/user」となるようです。
中身はバイナリのようなので、dconf-editorというツールを使います。
後はdconf-editorを使いながらスクリプトに落とし込みたい要素をgsettingsコマンドに与えてあげればよさそうです。
editorの使い方は上記のサイトを参照してください。