Как сделать так, чтобы программа автоматически запускалась при каждом входе в систему?

75

Мне часто нужно запускать несколько программ, которые я использую каждый раз при запуске компьютера. Как сделать так, чтобы при каждом входе в систему программа запускалась автоматически?

Марко Чеппи
источник
1
Я полагаю Menu > Preferences > Startup Applications, не соответствует вашим потребностям?
theTuxRacer
3
@Kaustubh - это так. Но мне нравятся общие вопросы, а не один и тот же вопрос, задаваемый несколько раз с немного разными программами :)
Марко Чеппи
Как этого можно добиться из командной строки?
Алик Эльзин-килака

Ответы:

55

Чтобы запустить программу с Ubuntu:

  • Если вы используете Unity , найдите программу Startup Applications.

  • Если вы используете Ubuntu Classic , он находится в меню «Пуск»> «Установки»> «Запуск приложений» .


Чтобы Ubuntu запоминал запущенные приложения при завершении работы:

  1. Откройте терминал и запустите gconf-editor.

  2. Перейдите в / apps / gnome-session / options .введите описание изображения здесь

  3. Включите опцию: auto_save_session .

(ПРИМЕЧАНИЕ: это может замедлить загрузку системы и не было тщательно протестировано.)

Алан
источник
я сделал это, но, как я помню, в 10.10 на нем была кнопка с
надписью «
Пожалуйста, смотрите мой отредактированный пост.
Алан
хорошо .. так что это исправлено не так ли? или «обсуждается»
Кевин Магхёйп
Этот пост с февраля, когда Натти проходила тестирование. Никакой другой информации, связанной с этим, нет, но я предполагаю, что они все еще пытаются это исправить.
Алан
хорошо ... спасибо, что сообщили эту информацию
Кевин Maghuyop
28

Пользовательские сеансы для приложений, запускаемые после входа в систему

Альтернативный способ автоматического запуска приложений после входа в систему - определить пользовательский сеанс. Это дает преимущество в использовании разных сессий для разных задач, в каждой из которых загружены разные приложения.

Для этого мы создаем custom.desktopфайл как корень в /usr/share/xsessionsсо следующим содержанием (для GNOME / GDM):

[Desktop Entry]
Name=Marco's Crowded Session
Comment=Custom ~/.xsession script
Exec=/home/username/.xsession
X-Ubuntu-Gettext-Domain=gdm

Используйте любое причудливое имя для вашей сессии и, usernameконечно, замените его на свое имя.

Это запустит скрипт .xsessionв каталоге HOME при входе в систему, где мы можем добавить любые приложения, которые нам нужно запустить после входа в систему.

Сценарий должен быть назван так, как определено в файле .desktop, то есть ~/.xsessionв приведенном примере, должен быть выполнен исполняемым и может иметь содержимое, подобное этому:

#! /bin/bash

my-important-app [options] &
second-app [options] &
[...]                       # add other applications
gnome-session [options]

Параметры для gnome-session могут быть опущены для загрузки сеанса по умолчанию. Например, дайте --session=classic-gnomeвозможность запустить Classic GNOME Desktop в 11.04.

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

Запуск других менеджеров рабочего стола

Для запуска другого установленного менеджера рабочего стола замените последнюю строку ~/.xsessionскрипта на следующую:

  • gnome-session --session=ubuntu для стандартного рабочего стола (с Unity в 11.04).
  • gnome-session --session=classic-gnome для классического рабочего стола GNOME.
  • startkde для менеджера рабочего стола KDE.
  • startxfce4 для XFCE или при запуске Xubuntu.
Takkat
источник
Мне нравится, она нажимает на воображаемую кнопку «
Мне
16

12.04 (Единство)

Мы можем добавить приложения в «Startup Applications» , открыв пункт меню на верхней панели справа:

введите описание изображения здесь

14.04 (Единство) и позже

Мы можем искать Dash для «запуска приложений»

введите описание изображения здесь

или мы можем запустить настройки запуска из терминала с

gnome-session-properties

Откроется окно, в котором мы увидим все установленные приложения, которые будут запускаться при запуске. Отметьте или снимите флажки с приложений или выберите «Добавить», чтобы добавить новое приложение:

введите описание изображения здесь

Если мы знаем команду для запуска приложения, просто введите ее здесь в строке «Команды» . Мы также можем добавить необязательный «Комментарий» здесь.

Если мы не знаем команду, мы можем выбрать «Обзор ...» нашей файловой системы для установленных приложений. Многие стандартные приложения находятся, например, в /usr/share/application:

введите описание изображения здесь

Выберите приложение для добавления в автозапуск.

Командная строка или программный подход

Подобно тому, что делает решение с графическим интерфейсом выше, мы можем вручную добавить .desktopфайл ~/.config/autostart. Содержимое этого файла может быть следующим:

[Desktop Entry]
Type=Application
Exec=</path/to/binary or command to execute>
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=<Name_to_be_displayed>
Comment=<optional comment>

Обратите внимание, что в случае установки vanilla каталог ~/.config/autostartможет еще не существовать. Нам нужно создать его, прежде чем мы сможем получить к нему программный доступ.

Takkat
источник
Спасибо за программный подход, это именно то, что я искал.
Якобо де Вера
Это работает с рабочим столом Unity или мне нужен рабочий стол Gnome? Причина с Unity в 15.04 его не работает.
YumYumYum
@YumYumYum спасибо за уведомление - обновленный ответ :)
Таккат
Является ли ~/.config/autostartпортативный компьютер? Другие два, похоже, поддерживаются средой рабочего стола GNOME и Unity.
Ашхар Хасан
Он доступен во всех X-системах, где мы не указали другую спецификацию каталога. См. Спецификации.freedesktop.org
autostart-spec/0.5/ar01s02.html
14

Если вы используете среду рабочего стола GNOME , это довольно просто сделать.

  • Иди System>Preferences>Startup Applications,

скриншот меню

  • Теперь вы можете добавить приложение, нажав кнопку Добавить,

введите описание изображения здесь

  • И добавление приложения / скрипта, который вы хотите запустить при запуске,

введите описание изображения здесь

  • Или вы можете добавить приложение, перетащив тот модуль запуска, который вы хотите добавить, из меню «Приложения» на экран «Запуск приложений».
RolandiXor
источник
Для Gnome Shell вы должны открыть его,
нажав
Можно ли это сделать на рабочем столе Unity?
YumYumYum
4

Другой, возможно более простой, вариант - перейти в меню «Система» / «Настройки» / «Запуск приложений», затем выбрать вкладку «Параметры» и установить флажок «Автоматически запоминать запущенные приложения при выходе из системы».

Настройки запуска приложений

Это запустит любые приложения, которые вы запускаете при выходе из системы.

Scaine
источник
+1, но с этим нужно обращаться осторожно. Если одно из только что запущенных приложений глючит или приводит к сбою X-Server, вы можете столкнуться с плохой в управлении системой, которая не доставляет удовольствия (у меня это было однажды).
Таккат
Да, я признаю - поэтому я тоже перестал им пользоваться. Я полагаю, что всегда есть сеанс "gnome-failsafe", но я не мог понять, как восстановить мой сбойный сеанс. Это было много лет назад. Трудно поверить, что это произойдет в эти дни.
Scaine
Как получить эту вкладку Параметры в Ubuntu 12.04? есть только одинStartup Programs
еще
12.04 удалил опцию «автоматически помнить», которую я показывал выше. Вы должны искать в Dash «Startup Applications», а затем вручную добавлять нужные записи.
Scaine
3

Ни один из ответов (до сих пор) не дает независимого от пользователя решения .

Правильный способ (в соответствии с этой веткой) добавить некоторую программу автозапуска (называемую «Запись рабочего стола») для всей операционной системы , добавив ее в виде .desktopфайла:

/etc/xdg/autostart

Пример .desktopфайла:

[Desktop Entry]
Name=MyScript
GenericName=A descriptive name
Comment=Some description about your script
Exec=/path/to/my/script.sh
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true

chmodКажется, нет необходимости в разрешении на выполнение. ExecБудет работать для любого пользователя лесозаготовительного, в том числе root, ubuntuили xubuntu(для пользовательского Живого распределения рабочих столов)

Сопалахо де Арриерес
источник
1

В 11.04 вы нажимаете кнопку питания (крайняя справа на верхней панели) и выбираете Системные настройки. Вы найдете Startup Applications в разделе «Личные настройки». Это тот же диалог, который был у нас в предыдущих версиях Ubuntu.

Джо-Эрленд Шинстад
источник
0

Я думаю, что вы можете добавить команду в Система -> Настройки -> Запуск приложения

затем нажмите кнопку добавления, введите имя, например «Firefox start», часть имени команды щелкните

"изучить" и найти исполняемый файл программы, который нужно запустить при входе в систему ... перезагрузите компьютер

надеюсь, это поможет вам !!!

С уважением!!!

Turk182
источник