Как работает «Запуск приложений»?

10

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

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

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

и делать то же самое через это приложение GUI. Меня озадачивает то, что я не вижу, чтобы программа создавала записи в вышеупомянутых файлах.

    
задан daltonfury42 24.05.2015 в 13:58
источник

2 ответа

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.
    

    Both the ~/.bashrc and ~/.bash_profile are scripts that may be executed when bash is invoked. The ~/.bashrc file gets executed when you run bash using an interactive shell that is not a login shell. The ~/.bash_profile only gets executed during a login shell.

    Источник

    Итак, я думаю, что .profile выполняется, если ни одна из них (по какой-либо причине).

  • Наконец, ваш GUI-метод возможно помещает .desktop пусковых установок в /home/$USER/.config/autostart

    Это запускается при входе в систему (только для входа в GUI), поэтому startx не будет, а не tty login).

ответ дан Tim 24.05.2015 в 14:12
источник
8

Любая среда рабочего стола, соответствующая спецификам freedesktop (aka XDG), должна использовать autostarting applications при входе пользователя в систему или при вставке съемного носителя.

Для автозапуска приложения при входе пользователя среда рабочего стола ищет файл .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 для запуска при запуске системы или совсем недавно с помощью systemd .

    
ответ дан Takkat 24.05.2015 в 15:07