「スタートアップアプリケーション」はどのように機能しますか?


10

ドックからアクセスできる「起動アプリ」がどのように動作するのか知りたい。

これらの場所にエントリを追加することの違いを知りたいので、これを知りたいです。

/etc/rc.local 
/etc/profile  
/home/$USER/.profile

このGUIアプリケーションを介して同じことを行います。私を困惑させるのは、プログラムが上記のファイルにエントリを作成していないことです。

回答:


8
  • /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ログインできません)。

私の代名詞は彼/彼です


GUIログイン時に.profileコマンドが実行されませんか?
daltonfury42

@ user3073656うーんGUIアプリケーションは何と呼ばれていますか?
Tim、

すみません、うっかりミス!あなたは正しかった。
daltonfury42

@ user3073656が編集
Tim

8

freedesktop仕様(別名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を使用する場合など、他のさまざまな場所からデスクトップとは独立して自動起動できます。


この方法でコマンドを追加するのは、起動コマンドを追加する.profileファイルと比較すると、文字通り時間がかからないため、最適です。私はこれらの両方を私のDell Inspiron 7560でubuntu 16.04でテストしましたが、この方法の方が良いようです。
Jasser 2017年

また、/ etc / profileファイルを編集するよりも、デスクトップ環境が開始された後のログインシェルに対してのみ呼び出されるため、これは優れていると思います。うん、それもテストした。私は正しかったです。
Jasser 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.