[CentOS 7.4] GNOME環境にログインした時だけ実行されるスタートアップスクリプトを書く

[CentOS 7.4] GNOME環境にログインした時だけ実行されるスタートアップスクリプトを書く

こんちには、じんないです。

今回は、CentOS 7でGNOME環境にログインしたときだけ実行されるスタートアップスクリプトを書いてみます。

/etc/profileなどもログイン時に実行されるためここに書いてもよいのですが、SSHログインしたときも実行されるため適切ではありません。

場合によってはwarningがでることもあります。

想定環境

  • CentOS 7.4
  • GNOMEデスクトップ環境

キック用の.desktopファイルを作成する

GNOME環境にログインしたら、/etc/xdg/autostart/配下の.desktopが実行されます。

ユーザーの個別設定では~/.config/autostart/配下です。

まずは、この下にスタートアップスクリプトをキックするための.desktopファイルを用意します。

今回はkick.desktopにしました。もっといい名前があると思いますがお好みで。

中身はこんな感じです。

[Desktop Entry]
Name=Startup Settings
Type=Application
Exec=/usr/libexec/startup.sh
OnlyShowIn=GNOME;
NoDisplay=true

Execに実行したいスタートアップスクリプトのパスを書きます。

今回はGNOMEデスクトップを使用しているので、OnlyShowInGNOME;にしておきましょう。

KDEやUnityなどお使いのデスクトップにあわせて変更してください。

実行したいスタートアップスクリプトを書く

パスはユーザー権限でアクセスできる場所ならどこでもいいですが、/usr/libexec/startup.shにしました。

今回は例としてデスクトップ上部に日付を表示させてみます。

#!/usr/bin/bash

# show date
gsettings set org.gnome.desktop.interface clock-show-date 'true'

作成したら、chmodでパーミッションを755とかに変えておきます。

あとはログインしなおすだけです!

clock-show-dateがfalseのとき↓ 曜日が表示される centos74 gnome startup script 1

clock-show-dateがtrueのとき↓ 日付が表示される。 centos74 gnome startup script 2

SSHでコマンドラインからログインしたときに必要でないスクリプトは、上記の手順で分けて書いておきましょう。

ではまた。

jinna-i