
ドックからアクセスできる「スタートアップ アプリケーション」がどのように動作するのかを知りたいです。
これを知りたいのは、次の場所にエントリを追加する場合の違いを知りたいからです。
/etc/rc.local
/etc/profile
/home/$USER/.profile
そして、この GUI アプリケーションで同じことを実行します。私が困惑しているのは、プログラムが上記のファイルにエントリを作成していないことです。
答え1
/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 が呼び出されたときに実行されるスクリプトです。~/.bashrc
ファイルは、ログイン シェルではない対話型シェルを使用して bash を実行するときに実行されます。 は、~/.bash_profile
ログイン シェル中にのみ実行されます。.profile
したがって、どちらも実行されなかった場合は(理由は何であれ)、実行されると思います。最後に、GUIメソッドはおそらく
.desktop
ランチャーを入れる/home/$USER/.config/autostart
これは、ユーザーのログオン時に実行されます (GUI ログインのみだと思います - そうなの
startx
でしょうが、ログインではありませんtty
)。
私の代名詞はHe / Himです
答え2
以下のデスクトップ環境フリーデスクトップ仕様(別名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
最近では、システム。