「自動起動」の版間の差分
ナビゲーションに移動
検索に移動
細 |
(関連記事を同期) |
||
(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 === |
||
− | + | デスクトップ環境に記事がある場合は、''自動起動'' の項をご覧ください。 |
|
+ | * [[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 ルールを使用する。
タイムイベント時
ある時刻、日付、間隔で定期的に行う。
- systemd/タイマー を使用する。
- cron の場合
ある日時に1回だけ
- systemd/タイマー を使用する。
- at
ファイルシステムのイベント時
inotify イベントウォッチャーを使用します。
- inotify-tools, inotifywait(1) を参照してください。
- incron
- fswatchAUR
- entr-gitAUR
- systemd は systemd.path(5) ファイルを使用してファイルシステムのイベント時にユニットを起動することができます。
シェルのログイン/ログアウト時
コマンドラインシェル#設定ファイル を参照してください。
Xorg のスタートアップ時
- xinit で手動で Xorg を起動する場合は xinitrc を使用します。
- ディスプレイマネージャ を使っている場合は xprofile を使用します。
デスクトップ環境のスタートアップ時
ほとんどの デスクトップ環境 は、XDG 自動起動 を実装しています。
デスクトップ環境に記事がある場合は、自動起動 の項をご覧ください。
ウィンドウマネージャのスタートアップ時
多くの ウィンドウマネージャ は XDG Autostart を実装しています。
ウィンドウマネージャ に記事がある場合は、自動起動 セクションを参照してください。