ドックからアクセスできる「スタートアップアプリケーション」がどのように機能するかを知りたいと思っています。
これらの場所にエントリを追加することの違いを知りたいので、これを知りたいです:
/etc/rc.local
/etc/profile
/home/$USER/.profile
このGUIアプリケーションを介して同じことを行います。私が困惑しているのは、プログラムが上記のファイルにエントリを作成していないことです。
/etc/rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
基本的に、マルチユーザーランレベルとは、起動時を意味します。
/etc/profile
このファイルは、特定の目的のため、ログインシェルに対してのみ呼び出されます。
/etc/profile
、ログインシェルとして起動されたときにすべてのBourne互換シェル(bash
およびdash
を含む)によって実行されます。
/home/$USER/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash if ~/.bash_profile or ~/.bash_login
# exists.
~/.bashrc
と~/.bash_profile
は両方とも、bashが呼び出されたときに実行されるスクリプトです。ログインシェルではないインタラクティブシェルを使用してbashを実行すると、~/.bashrc
ファイルが実行されます。~/.bash_profile
は、ログインシェル中にのみ実行されます。
したがって、どちらも(何らかの理由で)実行されなかった場合、.profile
が実行されると思います。
最後に、GUIメソッドはおそらく.desktop
ランチャーを/home/$USER/.config/autostart
に配置します
これはユーザーログオン時に実行されます(GUIログインのみ-startx
はログインしますが、tty
はログインしません)。
freedesktop specification (XDGとも呼ばれる)に続くデスクトップ環境では、ユーザーログイン時またはリムーバブルメディアが挿入されたときに 自動起動アプリケーション を使用する必要があります。
ユーザーのログイン時にアプリケーションを自動起動する場合、デスクトップ環境は.desktop
ファイルを探し、そこで指定されたアプリケーションを実行します。この.desktop
ファイルは通常、次の場所にあります
$XDG_CONFIG_DIRS/autostart
ただし、次の場所に置くこともできます。
~/.config/autostart/ ## if $XDG_CONFIG_HOME is not set
etc/xdg/autostart/ ## if $XDG_CONFIG_DIRS is not set
いずれにしても、.desktop
にある~/.config/autostart
ファイルは、実行する最も重要なファイルとして定義されているため、他の場所にある.desktop
ファイルを上書きします。
Ubuntuはこの仕様を満たしており、ユーザーは「自動起動アプリケーション」にGUIアプローチでアプリケーションを追加できます。
アプリケーションは、~/.profile
のような他のさまざまな場所から、デスクトップとは無関係に、システムの起動時に実行するための/etc/rc.local
など、最近では systemd を使用して自動起動できます。 。