Как автоматически запускать приложения при входе в систему?

349

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

Lincity
источник

Ответы:

411

14.04 и позже

  • Откройте Dash и найдите «Startup Applications»

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

  • Теперь нажмите « Добавить» и введите команду для запуска приложения. Это можно найти в главном меню, если оно установлено (см. Ниже) или как показано в этом вопросе .

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


Использование главного меню ( alacarte Установить алакарте )

  • Сначала откройте программу «Главное меню» (введите Menuв тире)

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

  • Теперь выберите программу, которую вы хотите добавить в автозагрузку и нажмите на свойства.

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

  • Теперь обратите внимание на команду для этой программы.

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


Не GUI подход

Опытные пользователи могут захотеть поместить файл .desktop ~/.config/autostartдля запуска приложений после входа пользователя. Это может иметь следующее содержание:

[Desktop Entry]
Type=Application
Name=<Name of application as displayed>
Exec=<command to execute>
Icon=<full path to icon>
Comment=<optinal comments>
X-GNOME-Autostart-enabled=true
Takkat
источник
20
полезная часть "Не GUI подход", я искал эту папку!
Пису
10
Диалоговое окно «Параметры запуска приложений» можно вызвать из ALT + F2, gnome-session-propertiesесли вы не можете найти его в меню (например, в оболочке Gnome)
mtdevans
1
Есть ли способ запустить приложение до входа пользователя?
августа
1
@ abhishah901: спасибо за уведомление, обновленный ответ.
Таккат
4
Обратите внимание, что если вы используете подход без графического интерфейса, файл должен заканчиваться на .desktop, иначе он будет проигнорирован.
Лео-маниакальный
26

Для 11.04 и новее см. Здесь: Как автоматически запускать приложения при входе в систему?

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

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

Исайя
источник
20

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

Для единства:

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

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

Для Xfce4 Startup доступен инструмент «Настройки»> «Сеанс и запуск».

введите описание изображения здесь Изображение предоставлено Xubuntu Geek xubuntugeek

Если GUI - это не то, что вам нужно, и вам нужен более расширенный контроль, тогда вы можете поместить .desktopфайлы в ~/.config/autostart/каталог для Xfce4 и .desktopфайл ~/.config/autostartдля Unity для запуска приложений после входа пользователя в систему.

Проверьте этот вопрос, чтобы получить дополнительную помощь по созданию .desktopфайлов:

Также обратите внимание, что если вы хотите, чтобы запускаемое приложение запускалось только в XFCE, но не в Unity, вы должны поместить строку OnlyShowIn=XFCEв .desktopфайл. Это OnlyShowIn=Unityтолько для приложения Unity.

Митч
источник
Из вашего ответа я получаю, что для обоих вы положили .desktopфайл ~/.config/autostart/
Эдуард Флоринеску
Пожалуйста, если вы знаете наизусть, что это за программа с графическим интерфейсом, для Unity это Startup Applications(легко найти) для xfce?
Эдуард Флоринеску
20

Запустите приложения запуска из Dash

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

Нажмите на автозагрузку приложений

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

А затем нажмите на добавить

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

Введите имя программы, найдите команду и нажмите «Добавить».

Дополнение : Вот пример, который я использую для автозапуска Guake - версии Yakuake для Gnome:

Поместите это в поле «команда».

sh -c "sleep 120s; guake"

Это запускает guake автоматически, но ждет 2 минуты, прежде чем сделать это. Вы можете изменить 120 на то, что вы хотите.

Редактировать:

Для 14.04 и 16.04:

Введите Startup в Dash и запустите там форму Startup Application.

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

А затем просто выполните остальные шаги.

(обратите внимание, что если вы используете Ubuntu на другом языке, «автозагрузка» может не найти нужную программу. Попробуйте выполнить другой поиск на вашем языке)

Митч
источник
В Ubuntu 14.04 я не вижу этих опций в системном меню в правом верхнем углу.
user29020
2
В 14.04 введите Startup в dash, и вы можете запустить его оттуда. Посмотрите на дополнение в ответе. Спасибо
Митч
9

Возможно, вы захотите запустить его из CLI через:

$ gnome-session-properties

(на тот случай, если вы не используете GNOME;))

Wernight
источник
1
У меня не было другого способа найти $ # @! окно. Ни один из пунктов меню выше не существует на моей машине, но эта команда вызвала его прямо.
Reb.Cabin
6

Вы можете использовать GNOME Startup Application. введите описание изображения здесь

Нажмите кнопку «Добавить», а затем добавьте полную команду, чтобы открыть нужное приложение. Если вы не знаете путь команды, вы можете сделать

какое имя_ком_команда

АМГ
источник
6

Взгляните на каталог $ XDG_CONFIG_DIRS / autostart:

$ echo $XDG_CONFIG_DIRS/autostart
/etc/xdg/xdg-kde-plasma:/usr/share/upstart/xdg:/etc/xdg/autostart

который говорит, что в этом примере есть 3 каталога. Я хотел обрезать запись наутилус

sudo rm /etc/xdg/autostart/nautilus-autostart.desktop

в противном случае, если вы можете добавить его, создайте файл записи рабочего стола : sudo touch /etc/xdg/autostart/my-shell-autostart.desktopдобавьте следующее содержимое:

[Desktop Entry]
Name=foo
Terminal=false
Exec=/path/shell.sh
Type=Application
Icon=/path/icon.png
Categories=Utility;
Филипп Гачу
источник
$XDG_CONFIG_DIRS/autostartдобавляет автозапуск к последнему из каталогов, разделенных двоеточиями. В других каталогах, кроме двоеточия, также может быть каталог автозапуска. На самом деле каталоги упорядочены по предпочтениям. Кроме того, если $XDG_CONFIG_DIRSон пуст или не задан, базовым каталогом файла конфигурации является / etc / xdg. Смотрите ссылку
Ярно
А файлы автозапуска для конкретного пользователя должны быть размещены $XDG_CONFIG_HOME/autostartпо $HOME/.config/autostart
умолчанию
4

Для Ubuntu 12.04,

  1. Запустите приложение запуска из верхнего правого меню

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

  2. Не нажимая кнопку Добавить, откройте Dash и введите приложение, которое вы хотите запустить при запуске, например, Skype

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

  3. Перетащите приложение в окно приложения «Автозагрузка». Если окна Dash слишком велики, и вы не можете перетащить свое приложение наружу, используйте кнопку окна восстановления (показанную на предыдущем изображении) в верхнем левом углу. Финальный список выглядит так:

    http://imgur.com/G60wbOJ

Малайский десай
источник
Ну, шаг 1 не работает для Ubuntu 16.10. Но возможность перетаскивания приложения в окно автозапуска работает и велика.
eDeviser
4

Кроме того, чтобы поместить BATCH FILE в запускаемые приложения для запуска после входа пользователя в систему, введите в командной строке запускаемые приложения в поле Command:

gnome-terminal  -e  "/batch-path/batch-name.sh" 
  • gnome-terminal: открыть терминал после входа пользователя с правами текущего пользователя
  • -e: настроить терминал на выполнение командного файла
  • /batch-path/batch-name.sh: полный путь и полное имя пакета

Помните, чем пакетные разрешения для файла, чтобы установить флажок Разрешить выполнение файла в качестве программы на ВКЛ .

Занна
источник
4

Ubuntu 13.10 с инструкциями UNITY

Сделать это с помощью команды, которая требует, sudoнемного сложнее.

В моем случае я хотел отключить драйвер PSMOUSE, используя команду, sudo rmmod psmouseчтобы предотвратить проблему случайного щелчка мышью. См. Работа с мышью и тачпадом в Linux для получения дополнительной информации по этой проблеме. Я устал вводить его при каждой загрузке.

При моей установке в ~/.configпапке не было подпапки автозапуска , поэтому я ее создал. Это позволило сохранить настройки моих приложений запуска .

Чтобы переключить видимость скрытых приложений запуска, вы можете использовать следующие команды.

Чтобы показать им:

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop

Чтобы скрыть их:

sudo sed -i 's/NoDisplay=false/NoDisplay=true/g' /etc/xdg/autostart/*.desktop

Сконфигурируйте вашу команду согласно сообщениям выше в окне « Настройки запуска приложений» .

Name:    Fix Mouse
Command: sudo rmmod psmouse
Comment: Fix Mouse

Затем вы должны отредактировать файл / etc / sudoers, используя sudo visudo. Добавьте строку, содержащую следующую информацию:

username ALL=(ALL) NOPASSWD: /sbin/rmmod

Вы должны ввести эту строку ниже строки, которая начинается с % admin . Я добавил свою строку в конец файла. Это ВАЖНО использовать sudo visudoдля редактирования этого файла , как сделать ошибку будет препятствовать вам быть в состоянии сделать какие - либо sudoкоманды на всех. Если это произойдет, загрузитесь в режиме восстановления и отмените изменения, затем попробуйте использовать sudo visudo.

Примечание .
Изначально я пытался использовать скрипт bash для косвенного запуска команды, но это не сработало. Пришлось поставить sudo rmmod psmouseпрямо в окне Edit Startup Program .

прошло
источник
2

Для простого переносимого способа вы можете использовать Cron. Запустите crontab -eдля редактирования crontab вашего пользователя; добавить @reboot commandдля запуска commandпри каждой загрузке.

appas
источник
2

Вы можете использовать функцию « Запоминать запущенные приложения» в окне « Настройки системы / Настройки / Запускаемые приложения» . Который (когда включен) «запомнит» все программы, которые вы используете, и откроет их после перезагрузки или при первом запуске системы за день.

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

Если вы хотите удалить приложение из этой функции, просто закройте его, перейдите к этой функции и нажмите «Запомнить запущенное приложение», чтобы обновить список программ, которые будут открыты в следующий раз.

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

Geppettvs D'Constanzo
источник
Единственное, что мне не нравится в этом, это то, что ваша беспроводная связь работает медленнее, чем загружается мой браузер, когда он был активен. Каждая вкладка должна быть перезагружена после беспроводного подключения.
Rinzwind
Хорошая точка зрения. Вот почему я не сохраняю это предпочтение при открытом браузере :) У Docky есть элемент управления для моего браузера со значком на нем. Но ваш хороший момент! Спасибо.
Geppettvs D'Constanzo
1

Введите «автозапуск приложений» в Unity Dash, и он выведет список приложений, которые вы можете щелкнуть, чтобы открыть. Открыв его, вы можете добавить туда свою заявку.

rɑːdʒɑ
источник
0

Alt+ F2, тогда gnome-help ghelp:user-guide?gosstartsession-2.

Нажмите Run , подождите секунду, а затем следуйте инструкциям.

Volomike
источник
круто, я знаю, какую часть добавить, но не команды ... так я гуглю их? или я должен нажать Alt + F2, а затем поставить имя программы ... если она найдет, я скажу запустить в терминале ..., чтобы отобразить команду?
@Bob, какое приложение вы хотите запустить при запуске?
Oxwivi
0

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

xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY

Я поместил его в «Startup Applications», как и в других ответах выше, и он не работал.

РЕШЕНИЕ: размещение его в «Startup Applications» следующим образом работает:

bash -c "xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY"

(Я не знаю почему. Я решил это методом проб и ошибок.)

Евгений Сергеев
источник