「自動起動」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
 
(関連記事を同期)
 
(5人の利用者による、間の21版が非表示)
1行目: 1行目:
[[Category:ブートプロセス]]
+
[[Category:テム管理]]
 
[[en:Autostarting]]
 
[[en:Autostarting]]
 
[[es:Autostarting]]
 
[[es:Autostarting]]
  +
[[pt:Autostarting]]
この記事ではシステムの起動・シャットダウンや、ログイン・ログアウトなど特定のイベントが起こった時に自動でスクリプトやアプリケーションを起動する方法について触れています。
 
  +
[[ru:Autostarting]]
  +
[[zh-hans:Autostarting]]
   
  +
この記事では、何か特定のイベントが発生したときに、スクリプトやアプリケーションを自動的に起動するための様々な方法についてリンクしています。
== デーモン ==
 
スクリプトやアプリケーションをデーモンとして簡単に起動することができます、[[Daemons|デーモン]]を参照してください。
 
   
  +
== 起動時・シャットダウン時 ==
=== Systemd ===
 
''systemd'' は initscripts を置き換えるデフォルトの init フレームワークです。''systemd'' によって実行されるサービスは {{ic|/etc/systemd/system/}} のサブフォルダにあります。サービスは {{ic|systemctl}} コマンドを使うことで有効にできます。''systemd'' の詳細や自動起動スクリプトを書く方法については [[systemd|systemd]] を見て下さい。特定のユーザーでスクリプトを自動実行するには、[[systemd/User|systemd/User]] を見て下さい。
 
   
  +
関連する [[systemd]] サービスを [[有効化]] して下さい。アプリケーションが systemd サービスを提供していない場合は、独自のサービスを [[systemd#ユニットファイル|作成]] して下さい。
=== Runit ===
 
''runit'' はプロセス管理、同時起動、ユーザー別のサービスツリー、粒状の cgroup 操作、柔軟な依存システム、dbus のペナルティを受けない起動時間を提供する init システムです。root レベルのサービスは {{ic|/service}} にあるシンボリックリンクであり実際のサービスのディレクトリは {{ic|/etc/sv}} にあります。詳しくは [[Runit]] のページを見て下さい。
 
   
  +
== ユーザーログイン/ログアウト時 ==
== Cron ==
 
GUI 以外のシステム設定タスクの自動起動には [[Cron|Cron]] が使えます。
 
   
  +
関連する[[ユーザーユニット]]を[[有効化]]して下さい。
== シェル ==
 
   
  +
== デバイスのプラグイン/アンプラグ時 ==
コンソールやログイン時にプログラムを自動起動するために、シェルのスタートアップファイル・ディレクトリを使うことができます。シェルのドキュメントや ArchWiki の記事 [[Bash#設定ファイル]] や [[Zsh#アプリケーションの自動起動]] を読んで下さい。
 
   
  +
[[udev]] ルールを使用する。
[[Wikipedia:ja:Unixシェル#主なUnixシェルの設定ファイル]] も参照のこと。
 
   
  +
== タイムイベント時 ==
=== /etc/profile ===
 
   
  +
ある時刻、日付、間隔で定期的に行う。
{{ic|/etc/profile}} はログイン時に全ての Bourne 互換のシェルによって読み込まれます: ログイン時に環境変数を設定したり {{ic|/etc/profile.d/*.sh}} スクリプトを実行してアプリケーション固有の設定を行ったりするのに使います。
 
   
  +
* [[systemd/タイマー]] を使用する。
== グラフィカル ==
 
  +
* [[cron]] の場合
[[Window Manager|ウィンドウマネージャ]]や[[Desktop Environment|デスクトップ環境]]にログインした時に自動でプログラムを実行するよう設定することができます。
 
   
  +
ある日時に1回だけ
=== X セッションのスタートアップ ===
 
   
  +
* [[systemd/タイマー]] を使用する。
[[xinitrc|xinitrc]] や [[xprofile|xprofile]] を見て下さい。
 
  +
* {{Pkg|at}}
   
  +
== ファイルシステムのイベント時 ==
=== デスクトップアプリケーションの自動起動 ===
 
   
  +
[[Wikipedia:inotify|inotify]] イベントウォッチャーを使用します。
以下のフォルダには {{ic|*.desktop}} ファイルが含まれており、X セッションが起動したときに実行されます:
 
   
  +
* {{Pkg|inotify-tools}}, {{man|1|inotifywait}} を参照してください。
* {{ic|$XDG_CONFIG_DIRS/autostart/}} ({{ic|/etc/xdg/autostart/}} デフォルト)
 
  +
* [[incron]]
* {{ic|/usr/share/gnome/autostart/}} (GNOME のみ)
 
  +
* {{AUR|fswatch}}
* {{ic|$XDG_CONFIG_HOME/autostart/}} ({{ic|~/.config/autostart/}} デフォルト)
 
  +
* {{AUR|entr-git}}
  +
* [[systemd]] は {{man|5|systemd.path}} ファイルを使用してファイルシステムのイベント時にユニットを起動することができます。
   
  +
== シェルのログイン/ログアウト時 ==
ユーザー別の {{ic|~/.config/autostart/}} フォルダに {{ic|*.desktop}} ファイルをコピーすることでシステム全体の設定を上書きすることが可能です。
 
   
  +
[[コマンドラインシェル#設定ファイル]] を参照してください。
デスクトップファイルの仕様については [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] に説明があります。使用するディレクトリの説明は [http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html Desktop Application Autostart Specification] に詳しい記述がされています。
 
   
  +
== Xorg のスタートアップ時 ==
{{Note|この方法は XDG 互換のデスクトップ環境でしか使えません。{{AUR|dapper}}, {{AUR|dex-git}}, {{AUR|fbautostart}} などのツールは他の自動起動メカニズムが存在する限りでサポートされていないデスクトップ環境で XDG autostart を行うように使うことができます。xdg 互換の自動起動ツールを実行するには既存のメカニズムを使って下さい。}}
 
   
  +
* [[xinit]] で手動で [[Xorg]] を起動する場合は [[xinitrc]] を使用します。
=== GNOME, KDE, Xfce ===
 
  +
* [[ディスプレイマネージャ]] を使っている場合は [[xprofile]] を使用します。
   
  +
== デスクトップ環境のスタートアップ時 ==
[[GNOME|GNOME]], [[KDE|KDE]], [[Xfce|Xfce]] には自動起動の設定をするための専用の GUI が存在します、それぞれの記事を見て下さい。
 
   
  +
ほとんどの [[デスクトップ環境]] は、[[XDG 自動起動]] を実装しています。
=== LXDE ===
 
   
[[LXDE#ログラムの自動実行]]見て下さい。
+
デスクトッ環境に記事がある場合は、''自動起動'' の項ご覧ください。
   
  +
* [[GNOME#自動起動]]
=== Fluxbox ===
 
  +
* [[KDE#アプリケーションの自動起動]]
  +
* [[Xfce#スタートアップアプリケーション]]
  +
* [[LXDE#プログラムの自動実行]]
  +
* [[LXQt#アプリケーションの自動実行]]
   
  +
== ウィンドウマネージャのスタートアップ時 ==
[[Fluxbox#プログラムの自動起動]] を見て下さい。
 
   
  +
多くの [[ウィンドウマネージャ]] は [[XDG Autostart]] を実装しています。
=== Openbox ===
 
   
  +
[[ウィンドウマネージャ]] に記事がある場合は、''自動起動'' セクションを参照してください。
[[Openbox#スタートアッププログラム]] を見て下さい。
 
  +
  +
* [[Awesome#自動実行]]
  +
* [[dwm#自動起動]]
  +
* [[i3#自動起動]]
  +
* [[IceWM#自動起動]]
  +
* [[Fluxbox#自動起動]]
  +
* [[Openbox#自動起動]]
  +
* [[Sway#自動起動]]

2024年3月16日 (土) 22:31時点における最新版


この記事では、何か特定のイベントが発生したときに、スクリプトやアプリケーションを自動的に起動するための様々な方法についてリンクしています。

起動時・シャットダウン時

関連する systemd サービスを 有効化 して下さい。アプリケーションが systemd サービスを提供していない場合は、独自のサービスを 作成 して下さい。

ユーザーログイン/ログアウト時

関連するユーザーユニット有効化して下さい。

デバイスのプラグイン/アンプラグ時

udev ルールを使用する。

タイムイベント時

ある時刻、日付、間隔で定期的に行う。

ある日時に1回だけ

ファイルシステムのイベント時

inotify イベントウォッチャーを使用します。

シェルのログイン/ログアウト時

コマンドラインシェル#設定ファイル を参照してください。

Xorg のスタートアップ時

デスクトップ環境のスタートアップ時

ほとんどの デスクトップ環境 は、XDG 自動起動 を実装しています。

デスクトップ環境に記事がある場合は、自動起動 の項をご覧ください。

ウィンドウマネージャのスタートアップ時

多くの ウィンドウマネージャXDG Autostart を実装しています。

ウィンドウマネージャ に記事がある場合は、自動起動 セクションを参照してください。