自動起動

提供: ArchWiki
2015年8月15日 (土) 07:16時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

この記事ではシステムの起動・シャットダウンや、ログイン・ログアウトなど特定のイベントが起こった時に自動でスクリプトやアプリケーションを起動する方法について触れています。

デーモン

スクリプトやアプリケーションをデーモンとして簡単に起動することができます、デーモンを参照してください。

Systemd

systemd は initscripts を置き換えるデフォルトの init フレームワークです。systemd によって実行されるサービスは /etc/systemd/system/ のサブフォルダにあります。サービスは systemctl コマンドを使うことで有効にできます。systemd の詳細や自動起動スクリプトを書く方法については systemd を見て下さい。特定のユーザーでスクリプトを自動実行するには、systemd/ユーザーを見て下さい。

Runit

runit はプロセス管理、同時起動、ユーザー別のサービスツリー、粒状の cgroup 操作、柔軟な依存システム、dbus のペナルティを受けない起動時間を提供する init システムです。root レベルのサービスは /service にあるシンボリックリンクであり実際のサービスのディレクトリは /etc/sv にあります。詳しくは Runit のページを見て下さい。

Cron

GUI 以外のシステム設定タスクの自動起動には Cron が使えます。

シェル

コンソールやログイン時にプログラムを自動起動するために、シェルのスタートアップファイル・ディレクトリを使うことができます。シェルのドキュメントや ArchWiki の記事 Bash#設定ファイルZsh#アプリケーションの自動起動 を読んで下さい。

Wikipedia:ja:Unixシェル#主なUnixシェルの設定ファイル も参照のこと。

/etc/profile

/etc/profile はログイン時に全ての Bourne 互換のシェルによって読み込まれます: ログイン時に環境変数を設定したり /etc/profile.d/*.sh スクリプトを実行してアプリケーション固有の設定を行ったりするのに使います。

グラフィカル

ウィンドウマネージャデスクトップ環境にログインした時に自動でプログラムを実行するよう設定することができます。

X セッションのスタートアップ

xinitrcxprofile を見て下さい。

デスクトップアプリケーションの自動起動

以下のフォルダには *.desktop ファイルが含まれており、X セッションが起動したときに実行されます:

  • $XDG_CONFIG_DIRS/autostart/ (/etc/xdg/autostart/ デフォルト)
  • /usr/share/gnome/autostart/ (GNOME のみ)
  • $XDG_CONFIG_HOME/autostart/ (~/.config/autostart/ デフォルト)

ユーザー別の ~/.config/autostart/ フォルダに *.desktop ファイルをコピーすることでシステム全体の設定を上書きすることが可能です。

デスクトップファイルの仕様については Desktop Entry Specification に説明があります。使用するディレクトリの説明は Desktop Application Autostart Specification に詳しい記述がされています。

ノート: この方法は XDG 互換のデスクトップ環境でしか使えません。dapperAUR, dex-gitAUR, fbautostartAUR などのツールは他の自動起動メカニズムが存在する限りでサポートされていないデスクトップ環境で XDG autostart を行うように使うことができます。xdg 互換の自動起動ツールを実行するには既存のメカニズムを使って下さい。

GNOME, KDE, Xfce

GNOME, KDE, Xfce には自動起動の設定をするための専用の GUI が存在します、それぞれの記事を見て下さい。

LXDE

LXDE#プログラムの自動実行 を見て下さい。

Fluxbox

Fluxbox#プログラムの自動起動 を見て下さい。

Openbox

Openbox#スタートアッププログラム を見て下さい。