14.3. ユーザーセッション

14.3.1. ユーザーセッションにおける標準プロセス

工場出荷時のデフォルトの GNOME セッションでは、デーモン と呼ばれるプログラムはバックグラウンドプロセスとしてシステム上で実行されます。デフォルトで実行される以下のデーモンを見つけることができるはずです。
dbus-daemon
dbus-daemon は、プログラムがメッセージを相互に交換するために使用できるメッセージバスデーモンを提供します。dbus-daemon は、2 つのアプリケーション間で 1 対 1 の通信を提供する D-Bus ライブラリーで実装されます。
詳細情報は、dbus-daemon(1) の man ページを参照してください。
gnome-keyring-daemon
各種プログラムおよび Web サイトのユーザー名およびパスワードなどの資格情報は、gnome-keyring-daemon を使用して安全に保護されます。この情報は、キーリングファイルと呼ばれる暗号化されたファイルに書き込まれ、ユーザーのホームディレクトリーに保存されます。
詳細情報は、gnome-keyring-daemon(1) の man ページを参照してください。
gnome-session
gnome-session プログラムは、GDM などのディスプレイマネージャーを使用して GNOME デスクトップ環境を実行します。ユーザーのデフォルトセッションは、システム管理者によるシステムのインストール時に設定されます。通常、gnome-session はシステム上で正常に実行された最近のセッションをロードします。
詳細については、gnome-session(1) の man ページを参照してください。
gnome-settings-daemon
gnome-settings-daemon は GNOME セッションおよびセッション内で実行されるすべてのプログラムの設定を処理します。
詳細については、gnome-settings-daemon(1) の man ページを参照してください。
gnome-shell
gnome-shell は、プログラムの起動、ディレクトリーの参照、ファイルの表示などの GNOME のコアユーザーインターフェース機能を提供します。
詳細については、gnome-shell(1) の man ページを参照してください。
pulseaudio
PulseAudio は、プログラムが Pulseaudio デーモンを使用してオーディオを出力することを可能にする、Red Hat Enterprise Linux のサウンドサーバーです。
詳細については、pulseaudio(1) の man ページを参照してください。
ユーザーのセットアップにより、とりわけ以下の内のいくつかを確認できる場合があります。
  • dconf-service
  • ibus
  • at-spi2-dbus-launcher
  • at-spi2-registryd
  • gnome-shell-calendar-server
  • goa-daemon
  • gsd-printer
  • 各種の Evolution ファクトリープロセス
  • 各種の GVFS プロセス

14.3.2. ユーザーデフォルトセッションの設定

デフォルトセッションは、AccountsService と呼ばれるプログラムから取得されます。AccountsService はこの情報を /var/lib/AccountsService/users/ ディレクトリーに保存します。

注記

GNOME 2 では、ユーザーのホームディレクトリーにある .dmrc ファイルがデフォルトセッションを作成するために使用されました。この .dmrc ファイルは使用されなくなりました。

手順14.5 ユーザーのデフォルトセッションの指定

  1. 以下のコマンドを実行して gnome-session-xsession パッケージがインストールされていることを確認します。
    # yum install gnome-session-xsession
  2. /usr/share/xsessions ディレクトリーに移動します。ここで、利用可能なセッションのそれぞれの .desktop ファイルを見つけることができます。.desktop ファイルの内容を参照して、使用するセッションを判別します。
  3. ユーザーのデフォルトセッションを指定するには、/var/lib/AccountsService/users/username ファイル のユーザーの アカウントサービス を更新します。
    [User]
    Language=
    XSession=gnome
    この例では、GNOME は /usr/share/xsessions/gnome.desktop ファイルを使用するデフォルトセッションとして設定されています。Red Hat Enterprise Linux 7 におけるシステムのデフォルトは GNOME クラシック (/usr/share/xsessions/gnome-classic.desktop ファイル) であることに注意してください。
ユーザーのデフォルトセッションを指定した後は、ユーザーがログイン画面から別のセッションを指定しない限り、ユーザーの次回のログイン時にこのセッションが使用されます。

14.3.3. カスタムセッションの作成

カスタマイズされた設定で独自のセッションを作成するには、以下のステップに従います。
  1. /etc/X11/sessions/new-session.desktop.desktop ファイルを作成します。ファイルが以下のエントリーを指定していることを確認します。
    [Desktop Entry]
    Encoding=UTF-8
    Type=Application
    Name=Custom Session
    Comment=This is our custom session
    Exec=gnome-session --session=new-session
    Exec エントリーは、実行するコマンドを、場合によっては引数と共に指定します。gnome-session --session=new-session コマンドでカスタムセッションを実行できます。
    gnome-session で使用できるパラメーターの詳細は、gnome-session(1) man ページを参照してください。
  2. /usr/share/gnome-session/sessions/new-session.session でカスタムセッションファイルを作成します。このファイルには、セッションの名前と必要なコンポーネントを指定できます。
    [GNOME Session]
    Name=Custom Session
    RequiredComponents=gnome-shell-classic;gnome-settings-daemon;
    RequiredComponents で指定するすべての項目には、/usr/share/applications/ に対応する .desktop ファイルがある必要があります。
カスタムセッションファイルの設定後に、新規のセッションが GDM ログイン画面のセッション一覧で利用可能になります。

14.3.4. ユーザーセッションログの表示

ユーザーセッションの問題についての詳細を確認する必要がある場合は、systemd ジャーナルを表示することができます。Red Hat Enterprise Linux 7 は systemd ベースのシステムであるため、ユーザーセッションのログデータはバイナリー形式で systemdジャーナルに直接保存されます。

注記

Red Hat Enterprise Linux 6 では、ユーザーセッションのログデータは ~/.xsession-errors ファイルに保存されていましたが、このファイルは使用されなくなりました。

手順14.6 ユーザーセッションログの表示

  1. 以下のコマンドを実行してユーザー ID (uid) を判別します。
    $ id --user
    1000
  2. 上記で判別されたユーザー ID のジャーナルログを表示します。
    $ journalctl _UID=1000

詳細情報の入手

journalctl(1) の man ページは、systemd ジャーナルの使用法についての詳細情報を提供しています。
Red Hat Enterprise Linux 7 での systemd ジャーナルの使用に関する詳細情報は、『 Red Hat Enterprise Linux 7 システムレベルの認証ガイド』を参照してください。

14.3.5. 全ユーザー用の自動起動アプリケーションの追加

ユーザーのログイン時にアプリケーションを自動的に起動するには、そのアプリケーションの .desktop ファイルを /etc/xdg/autostart/ ディレクトリーに作成する必要があります。
個々のユーザー用に自動起動 (スタートアップ) アプリケーションを管理するには、gnome-session-properties アプリケーションを使用します。

手順14.7 全ユーザー用の自動起動 (スタートアップ) アプリケーションの追加

  1. /etc/xdg/autostart/ ディレクトリーに .desktop ファイルを作成します。
    [Desktop Entry]
    Type=Application
    Name=Files
    Exec=nautilus -n
    OnlyShowIn=GNOME;
    AutostartCondition=GSettings org.gnome.desktop.background show-desktop-icons
  2. Files をアプリケーションの名前に置き換えます。
  3. nautilus -n をアプリケーションを実行するために使用するコマンドに置き換えます。
  4. AutostartCondition キーを使用して GSettings キーの値を確認します。
    セッションマネージャーは、キーの値が true である場合にアプリケーションを自動的に実行します。キーの値が実行中のセッションで変更される場合、セッションマネージャーは、直前のキーの値に基づいてアプリケーションを起動または停止します。

14.3.6. 自動ログインの設定

管理者 アカウントタイプを設定したユーザーは、GNOME の 設定ユーザー パネルから 自動ログイン を有効にできます。システム管理者は、以下のように GDM カスタム設定ファイルで自動ログインを手動でセットアップすることもできます。

例14.1 ユーザー「john」の自動ログインの設定

/etc/gdm/custom.conf ファイルを編集し、ファイル内の [daemon] セクションで以下が指定されていることを確認します。
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=john
john を自動的にログインできるように設定するユーザーに置き換えます。

14.3.7. 自動ログアウトの設定

特定の時間アイドル状態であったユーザーセッションは自動的に終了することができます。対応する GSettings キーを設定してからこれをロックし、マシンがバッテリーまたは主電源から実行されているかどうかに応じて異なる動作を設定することができます。

警告

アイドルセッションが自動的に終了する場合、ユーザーは保存していないデータを失う可能性があることに注意してください。

手順14.8 電源搭載マシンの自動ログアウトの設定

  1. マシン全体の設定の local データベースを /etc/dconf/db/local.d/00-autologout に作成します。
    [org/gnome/settings-daemon/plugins/power]
    # Set the timeout to 900 seconds when on mains power
    sleep-inactive-ac-timeout=900
    # Set action after timeout to be logout when on mains power
    sleep-inactive-ac-type='logout'
  2. ユーザーの設定を上書きし、ユーザーが設定を /etc/dconf/db/local.d/locks/autologout で変更できないようにします。
    # Lock automatic logout settings
    /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout
    /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type
  3. システムデータベースを更新します。
    # dconf update
  4. ユーザーは、システム全体の設定が有効になる前にログアウトしてから再度ログインする必要があります。
関連する GSettings キーは以下のとおりです。
  • org.gnome.settings-daemon.plugins.power.sleep-inactive-ac-timeout
    コンピューターが AC 電源から実行されている場合にスリープ状態に切り替わる前に非アクティブな状態にする必要のある秒数です。
  • org.gnome.settings-daemon.plugins.power.sleep-inactive-ac-type
    コンピューターが AC 電源から実行されている場合にタイムアウトが経過するとどうなるかを設定します。
  • org.gnome.settings-daemon.plugins.power.sleep-inactive-battery-timeout
    コンピューターが電源から実行されている場合にスリープ状態に切り替わる前に非アクティブな状態にする必要のある秒数です。
  • org.gnome.settings-daemon.plugins.power.sleep-inactive-battery-type
    コンピューターがバッテリー電源から実行されている場合にタイムアウトが経過したらどうなるかを設定します。
使用できる値の一覧のキーに対して gsettings range コマンドを実行することができます。以下が例になります。
$ gsettings range org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type
enum
'blank'
'suspend'
'shutdown'
'hibernate'
'interactive'
'nothing'
'logout'

14.3.8. 画面の明るさとアイドル時間の設定

以下の GSettings キーを設定することにより、明るさのレベルを下げるよう設定するほか、明るさのレベルおよびアイドル時間を設定することができます。

例14.2 明るさのレベルを下げる設定

デバイスがしばらくの間アイドル状態である場合に明るさのレベルを下げるよう設定するには、以下の例にあるように /etc/dconf/db/local.d/00-power にマシン全体の設定の local データベースを作成します。
[org/gnome/settings-daemon/plugins/power]
idle-dim=true

例14.3 明るさのレベルの設定

明るさのレベルを変更するには、以下の例にあるように /etc/dconf/db/local.d/00-power にマシン全体の設定の local データベースを作成し、30 を使用する整数値に置き換えます。
[org/gnome/settings-daemon/plugins/power]
idle-brightness=30

例14.4 アイドル時間の設定

画面がブランクになり、デフォルトのスクリーンセーバーが表示された後のアイドル時間を設定するには、以下の例にあるように /etc/dconf/db/local.d/00-session にマシン全体の設定の local データベースを作成し、900 を作成する必要のある整数値に置き換えます。
[org/gnome/desktop/session]
idle-delay=uint32 900
上記に示されるように、整数値と共に uint32 が含まれている必要があります。
root として dconf update コマンドを実行することで、変更をシステムデータベースに組み込みます。
ユーザーは、システム全体の設定が有効になる前にログアウトしてから再度ログインする必要があります。

注記

さらに、上記の設定をロックダウンしてユーザーがそれらを変更できないようにすることもできます。ロックについての詳細は、「特定の設定のロックダウン」 を参照してください。

14.3.9. ユーザーのアイドル時の画面のロック

スクリーンセーバーを有効にし、ユーザーがアイドル状態になるとスクリーンが自動的にロックされるようにするには、dconf プロファイルを作成し、GSettings キーペアを設定してからこれをロックし、ユーザーがこれを編集できないようにします。

手順14.9 スクリーンセーバーの有効化および画面のロック

  1. システム全体の設定の local データベースを /etc/dconf/db/local.d/00-screensaver に作成します。
    [org/gnome/desktop/session]
    # Set the lock time out to 180 seconds before the session is considered idle
    idle-delay=uint32 180
    [org/gnome/desktop/screensaver]
    # Set this to true to lock the screen when the screensaver activates
    lock-enabled=true
    # Set the lock timeout to 180 seconds after the screensaver has been activated
    lock-delay=uint32 180
    以下に示すように整数キーの値と共に uint32 を組み込む必要があります。
  2. ユーザーの設定を上書きし、ユーザーが /etc/dconf/db/local.d/locks/screensaver ファイルで設定を変更できないようにします。
    # Lock desktop screensaver settings
    /org/gnome/desktop/session/idle-delay
    /org/gnome/desktop/screensaver/lock-enabled
    /org/gnome/desktop/screensaver/lock-delay
  3. システムデータベースを更新します。
    # dconf update
  4. ユーザーは、システム全体の設定が有効になる前にログアウトしてから再度ログインする必要があります。

14.3.10. スクリーンキャストの録画

GNOME Shell は、組み込みスクリーンレコーダーを特長としています。これは、ユーザーがセッション中にデスクトップまたはアプリケーションのアクティビティーを録画したり、録画内容を webm 形式の高解像度ビデオファイルとして配信したりすることを可能にします。

手順14.10 スクリーンキャストの作成

  1. 録画を開始するには、Ctrl+Alt+Shift+R を押します。
    レコーダーがスクリーンアクティビティーをキャプチャーする際に、画面の右下の隅に赤い円が表示されます。
  2. 録画を停止するには、Ctrl+Alt+Shift+R を押します。画面の右下の隅にあった赤い円は表示されなくなります。
  3. ~/Videos フォルダーに移動します。ここには、Screencast で始まるファイル名の録画されたビデオがあり、録画の日時が記載されています。
組み込みレコーダーは、マルチモニターのセットアップのすべてのモニターを含め、常に画面全体をキャプチャーすることに注意してください。