Как работает «Автозагрузка приложений»?

Как работает «Автозагрузка приложений»?

Мне интересно узнать, как работают «Автозагрузка приложений», доступ к которым можно получить из дока.

Я хочу это знать, потому что хочу понять разницу между добавлением записи в этих местах:

/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что его казнят, если ни один из них не был выполнен (по какой-либо причине).

  • Наконец, ваш метод графического интерфейса пользователявероятноразмещение .desktopпусковых установок/home/$USER/.config/autostart

    Это запускается при входе пользователя в систему (я думаю, только при входе в систему через графический интерфейс — так startxбыло бы, но не ttyпри входе в систему).

Мои местоимения — Он / Его.

решение2

Любая среда рабочего стола, соответствующаяхарактеристики 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 соответствует этой спецификации, и пользователи могут добавлять приложения с графическим интерфейсом в «Автозапуск приложений».

Приложение может автоматически запускаться независимо от рабочего стола из различных других мест, например, ~/.profileиз оболочки, /etc/rc.localдля запуска при старте системы или, в последнее время, с помощьюсистемд.

Связанный контент