Любой файл, который запускается один раз при запуске системы

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

http://www.omgubuntu.co.uk/2010/10/ubuntu-one-indicator-applet-gets-a-ppa /

, как было сказано, это для апплета на рабочем месте:

http://www.omgubuntu.co.uk/2010/10/ubuntu-one-indicator-applet -gets-а-PPA /

5
задан 28 May 2011 в 12:29

48 ответов

Есть два места, которые я использую, когда мне нужно добавить команды «run-once»:

После каждого входа пользователя (будь он графическим / GDM или текстовым / консольным входом): ~/.profile [ ! d1]

Плюсы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и входами в текстовый режим. Он НЕ оценивается, когда запускается терминал gnome. ТОЛЬКО при входе. Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам. Запуск после завершения всех монтировок, поэтому доступна вся файловая система.

Минусы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и текстовыми режимами . Поскольку это выполняется даже в режимах ввода в текстовом режиме, рекомендуется не размещать какую-либо команду, требующую сервера GDM / X11 (например, демон synergy) НЕ оценивается при запуске терминала gnome. ТОЛЬКО при входе в систему

Один раз при каждом входе в систему (будь он графическим / GDM или текстовым / консольным входом): /etc/gdm/Init/Default

Плюсы :

Поскольку это выполняется даже в режимах ввода в текстовом режиме, его целесообразно НЕ размещать любую команду, для которой требуется сервер GDM / X11 (например, демон синергии) . Может использоваться для обоих текстовые и графические команды Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам.

Минусы:

Может использоваться для обоих текстовые и графические команды Нельзя использовать, если не используется сервер GDM (duh). Таким образом, он не будет запускаться в текстовых режимах. Снова, не запускайте в bash, поэтому необходимо избегать базизмов.

Используйте метод, который вам подходит.

2
ответ дан 25 July 2018 в 21:49
  • 1
    Это не отвечает на вопрос, потому что у пользователя может быть сервер без gdm. Кроме того, ~/.profile также используется при входе в виртуальный терминал, поэтому я бы не советовал запускать туда графические приложения. – enzotib 28 May 2011 в 17:29
  • 2
    работает метод ~ / .profile ... – Richard 29 May 2011 в 00:31
  • 3
    @enzotib: он работает: ~/.profile is выполняется независимо от того, есть ли у вас GDM или нет. Даже SSH / telnet / текстовый режим вошел в систему без X11. Поэтому для команд текстового режима Id используйте профиль. Для графических (например, синергии) используйте второй. Ответы на оба случая, текстовые и графические. И не нужно настраивать cron – MestreLion 29 May 2011 в 09:36
  • 4
    @MestreLion: ~/.profile выполняется для запуска GDM или lightdm, даже если у вас есть другая оболочка из bash, потому что bash используется для запуска графической среды. Теперь, если вы (как я) используете zsh и вы входите в систему через виртуальную консоль, ~/.profile не выполняется. Общесистемные одноразовые команды, которые должны выполняться при загрузке, должны идти в /etc/rc.local ... – Rmano 4 January 2014 в 00:09
  • 5
    @Rmano: хорошая точка в zsh, поскольку оболочка пользователя по умолчанию не выполняет ~/.profile в консольных (текстовых) входах. Я постараюсь добавить это к моему ответу, спасибо! – MestreLion 8 January 2014 в 20:48

Есть два места, которые я использую, когда мне нужно добавить команды «run-once»:

После каждого входа пользователя (будь он графическим / GDM или текстовым / консольным входом): ~/.profile [ ! d1]

Плюсы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и входами в текстовый режим. Он НЕ оценивается, когда запускается терминал gnome. ТОЛЬКО при входе. Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам. Запуск после завершения всех монтировок, поэтому доступна вся файловая система.

Минусы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и текстовыми режимами . Поскольку это выполняется даже в режимах ввода в текстовом режиме, рекомендуется не размещать какую-либо команду, требующую сервера GDM / X11 (например, демон synergy) НЕ оценивается при запуске терминала gnome. ТОЛЬКО при входе в систему

Один раз при каждом входе в систему (будь он графическим / GDM или текстовым / консольным входом): /etc/gdm/Init/Default

Плюсы :

Поскольку это выполняется даже в режимах ввода в текстовом режиме, его целесообразно НЕ размещать любую команду, для которой требуется сервер GDM / X11 (например, демон синергии) . Может использоваться для обоих текстовые и графические команды Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам.

Минусы:

Может использоваться для обоих текстовые и графические команды Нельзя использовать, если не используется сервер GDM (duh). Таким образом, он не будет запускаться в текстовых режимах. Снова, не запускайте в bash, поэтому необходимо избегать базизмов.

Используйте метод, который вам подходит.

2
ответ дан 26 July 2018 в 17:04

Есть два места, которые я использую, когда мне нужно добавить команды «run-once»:

После каждого входа пользователя (будь он графическим / GDM или текстовым / консольным входом): ~/.profile [ ! d1]

Плюсы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и входами в текстовый режим. Он НЕ оценивается, когда запускается терминал gnome. ТОЛЬКО при входе. Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам. Запуск после завершения всех монтировок, поэтому доступна вся файловая система.

Минусы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и текстовыми режимами . Поскольку это выполняется даже в режимах ввода в текстовом режиме, рекомендуется не размещать какую-либо команду, требующую сервера GDM / X11 (например, демон synergy) НЕ оценивается при запуске терминала gnome. ТОЛЬКО при входе в систему

Один раз при каждом входе в систему (будь он графическим / GDM или текстовым / консольным входом): /etc/gdm/Init/Default

Плюсы :

Поскольку это выполняется даже в режимах ввода в текстовом режиме, его целесообразно НЕ размещать любую команду, для которой требуется сервер GDM / X11 (например, демон синергии) . Может использоваться для обоих текстовые и графические команды Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам.

Минусы:

Может использоваться для обоих текстовые и графические команды Нельзя использовать, если не используется сервер GDM (duh). Таким образом, он не будет запускаться в текстовых режимах. Снова, не запускайте в bash, поэтому необходимо избегать базизмов.

Используйте метод, который вам подходит.

2
ответ дан 2 August 2018 в 03:25

Есть два места, которые я использую, когда мне нужно добавить команды «run-once»:

После каждого входа пользователя (будь он графическим / GDM или текстовым / консольным входом): ~/.profile [ ! d1]

Плюсы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и входами в текстовый режим. Он НЕ оценивается, когда запускается терминал gnome. ТОЛЬКО при входе. Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам. Запуск после завершения всех монтировок, поэтому доступна вся файловая система.

Минусы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и текстовыми режимами . Поскольку это выполняется даже в режимах ввода в текстовом режиме, рекомендуется не размещать какую-либо команду, требующую сервера GDM / X11 (например, демон synergy) НЕ оценивается при запуске терминала gnome. ТОЛЬКО при входе в систему

Один раз при каждом входе в систему (будь он графическим / GDM или текстовым / консольным входом): /etc/gdm/Init/Default

Плюсы :

Поскольку это выполняется даже в режимах ввода в текстовом режиме, его целесообразно НЕ размещать любую команду, для которой требуется сервер GDM / X11 (например, демон синергии) . Может использоваться для обоих текстовые и графические команды Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам.

Минусы:

Может использоваться для обоих текстовые и графические команды Нельзя использовать, если не используется сервер GDM (duh). Таким образом, он не будет запускаться в текстовых режимах. Снова, не запускайте в bash, поэтому необходимо избегать базизмов.

Используйте метод, который вам подходит.

2
ответ дан 4 August 2018 в 19:22

Есть два места, которые я использую, когда мне нужно добавить команды «run-once»:

После каждого входа пользователя (будь он графическим / GDM или текстовым / консольным входом): ~/.profile [ ! d1]

Плюсы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и входами в текстовый режим. Он НЕ оценивается, когда запускается терминал gnome. ТОЛЬКО при входе. Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам. Запуск после завершения всех монтировок, поэтому доступна вся файловая система.

Минусы:

Он работает, даже если GDM / X11 / Графический сервер не используется. Это означает, что он будет работать с SSH и текстовыми режимами . Поскольку это выполняется даже в режимах ввода в текстовом режиме, рекомендуется не размещать какую-либо команду, требующую сервера GDM / X11 (например, демон synergy) НЕ оценивается при запуске терминала gnome. ТОЛЬКО при входе в систему

Один раз при каждом входе в систему (будь он графическим / GDM или текстовым / консольным входом): /etc/gdm/Init/Default

Плюсы :

Поскольку это выполняется даже в режимах ввода в текстовом режиме, его целесообразно НЕ размещать любую команду, для которой требуется сервер GDM / X11 (например, демон синергии) . Может использоваться для обоих текстовые и графические команды Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам.

Минусы:

Может использоваться для обоих текстовые и графические команды Нельзя использовать, если не используется сервер GDM (duh). Таким образом, он не будет запускаться в текстовых режимах. Снова, не запускайте в bash, поэтому необходимо избегать базизмов.

Используйте метод, который вам подходит.

2
ответ дан 6 August 2018 в 03:34

Есть два места, которые я использую, когда мне нужно добавлять команды «run-once»:

Как только каждый пользователь будет логин (будь он графическим / GDM или текстовым / консольным входом): ~ /.profile

Плюсы:

  • Он работает, даже если сервер GDM / X11 / Graphical не используется. Это означает, что он будет работать с SSH и текстовыми режимами
  • . НЕ оценивается, когда запускается терминал gnome. ТОЛЬКО при входе в систему
  • Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам.
  • Запуск после завершения всех монтировок, поэтому доступна вся файловая система.

Минусы:

  • Если пользователь входит в систему, выходит из системы и регистрируется снова, он будет выполнен снова, один раз за вход. Поэтому его не «истинная» система запускает только . Но это может удовлетворить ваши потребности.
  • Поскольку это выполняется даже в режимах ввода в текстовом режиме, рекомендуется не указывать любую команду, для которой требуется сервер GDM / X11 (например, демон синергии)
  • Bash используется только при входе в текстовый режим. Поэтому, если вы используете GDM, в сценарии не принимаются никакие багизмы, поскольку Ubuntu будет запускать его с помощью dash

Когда GDM запускается (до того, как любой пользователь входит в систему): / etc / gdm / Init / Default

Плюсы:

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

Минусы:

  • Выполнить с помощью пользователя gdm . Таким образом, персональные сценарии и путь к ним должны быть удобочитаемыми и исполняемыми
  • Нельзя использовать, если не используется сервер GDM (duh). Таким образом, он не будет запускаться в режиме текстового режима
  • Опять же, не запускайте в bash, поэтому необходимо избегать базизмов.

Используйте метод, который вам подходит.

2
ответ дан 7 August 2018 в 21:22

Есть два места, которые я использую, когда мне нужно добавлять команды «run-once»:

Как только каждый пользователь будет логин (будь он графическим / GDM или текстовым / консольным входом): ~ /.profile

Плюсы:

  • Он работает, даже если сервер GDM / X11 / Graphical не используется. Это означает, что он будет работать с SSH и текстовыми режимами
  • . НЕ оценивается, когда запускается терминал gnome. ТОЛЬКО при входе в систему
  • Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам.
  • Запуск после завершения всех монтировок, поэтому доступна вся файловая система.

Минусы:

  • Если пользователь входит в систему, выходит из системы и регистрируется снова, он будет выполнен снова, один раз за вход. Поэтому его не «истинная» система запускает только . Но это может удовлетворить ваши потребности.
  • Поскольку это выполняется даже в режимах ввода в текстовом режиме, рекомендуется не указывать любую команду, для которой требуется сервер GDM / X11 (например, демон синергии)
  • Bash используется только при входе в текстовый режим. Поэтому, если вы используете GDM, в сценарии не принимаются никакие багизмы, поскольку Ubuntu будет запускать его с помощью dash

Когда GDM запускается (до того, как любой пользователь входит в систему): / etc / gdm / Init / Default

Плюсы:

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

Минусы:

  • Выполнить с помощью пользователя gdm . Таким образом, персональные сценарии и путь к ним должны быть удобочитаемыми и исполняемыми
  • Нельзя использовать, если не используется сервер GDM (duh). Таким образом, он не будет запускаться в режиме текстового режима
  • Опять же, не запускайте в bash, поэтому необходимо избегать базизмов.

Используйте метод, который вам подходит.

2
ответ дан 10 August 2018 в 09:40

Есть два места, которые я использую, когда мне нужно добавлять команды «run-once»:

Как только каждый пользователь будет логин (будь он графическим / GDM или текстовым / консольным входом): ~ /.profile

Плюсы:

  • Он работает, даже если сервер GDM / X11 / Graphical не используется. Это означает, что он будет работать с SSH и текстовыми режимами
  • . НЕ оценивается, когда запускается терминал gnome. ТОЛЬКО при входе в систему
  • Выполняется с пользовательскими привилегиями, безопасно, обеспечивая полный доступ к личным скриптам.
  • Запуск после завершения всех монтировок, поэтому доступна вся файловая система.

Минусы:

  • Если пользователь входит в систему, выходит из системы и регистрируется снова, он будет выполнен снова, один раз за вход. Поэтому его не «истинная» система запускает только . Но это может удовлетворить ваши потребности.
  • Поскольку это выполняется даже в режимах ввода в текстовом режиме, рекомендуется не указывать любую команду, для которой требуется сервер GDM / X11 (например, демон синергии)
  • Bash используется только при входе в текстовый режим. Поэтому, если вы используете GDM, в сценарии не принимаются никакие багизмы, поскольку Ubuntu будет запускать его с помощью dash

Когда GDM запускается (до того, как любой пользователь входит в систему): / etc / gdm / Init / Default

Плюсы:

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

Минусы:

  • Выполнить с помощью пользователя gdm . Таким образом, персональные сценарии и путь к ним должны быть удобочитаемыми и исполняемыми
  • Нельзя использовать, если не используется сервер GDM (duh). Таким образом, он не будет запускаться в режиме текстового режима
  • Опять же, не запускайте в bash, поэтому необходимо избегать базизмов.

Используйте метод, который вам подходит.

2
ответ дан 13 August 2018 в 15:52
  • 1
    Это не отвечает на вопрос, потому что у пользователя может быть сервер без gdm. Кроме того, ~ / .profile также используется при входе в виртуальный терминал, поэтому я бы не советовал запускать туда графические приложения. – enzotib 28 May 2011 в 17:29
  • 2
    работает метод ~ / .profile ... – Richard 29 May 2011 в 00:31
  • 3
    @enzotib: он работает: ~ / .profile is выполняется независимо от того, есть ли у вас GDM или нет. Даже SSH / telnet / текстовый режим вошел в систему без X11. Поэтому для команд текстового режима Id используйте профиль. Для графических (например, синергии) используйте второй. Ответы на оба случая, текстовые и графические. И не нужно настраивать cron – MestreLion 29 May 2011 в 09:36
  • 4
    @MestreLion: ~ / .profile выполняется для запуска GDM или lightdm, даже если у вас есть другая оболочка из bash , потому что bash используется для запустите графическую среду. Теперь, если вы (как я) используете zsh и вы входите в систему через виртуальную консоль, ~ / .profile не выполняется. Общесистемные одноразовые команды, которые должны выполняться при загрузке, должны идти в /etc/rc.local ... – Rmano 4 January 2014 в 00:09
  • 5
    @Rmano: хорошая точка в zsh , поскольку оболочка пользователя по умолчанию не выполняет ~ / .profile в консольных (текстовых) входах. Я постараюсь добавить это к моему ответу, спасибо! – MestreLion 8 January 2014 в 20:48

Вы изучали работу cron? Вы можете установить его при перезагрузке @reboot в своем crontab

1
ответ дан 25 July 2018 в 21:49

Помимо других ответов, вы можете поместить свои команды запуска (суперпользователя) в /etc/rc.local.

2
ответ дан 25 July 2018 в 21:49
  • 1
    не работа ... тоже. см. комментарии к @Rinzwind – Richard 29 May 2011 в 00:18
  • 2
    Должно сработать. Ну, это работает для меня с тех пор. Вы тестировали свои скрипты без графической среды и как root? Если вы опубликуете его, мы сможем помочь ... – Rmano 4 January 2014 в 00:10

cron может помочь здесь.

Помимо запуска чего-либо в минуту, час, день недели, месяц и т. д., он также выполняет некоторые специальные операции:

@reboot Run once, at startup. @yearly Run once a year, "0 0 1 1 *". @annually (same as @yearly) @monthly Run once a month, "0 0 1 * *". @weekly Run once a week, "0 0 * * 0". @daily Run once a day, "0 0 * * *". @midnight (same as @daily) @hourly Run once an hour, "0 * * * *".

Редактирование выполняется из командной строки со следующей командой:

sudo crontab -e

в нижней части файла (ниже # m h dom mon dow command) вы можете добавить строку, которая выполняет то, что вы хотите так @reboot /directory/to/file выполнит / directory / to / file во время загрузки.

Просто одно предупреждение: вам нужно убедиться, что нет выхода из этого сценария или что выход перенаправляется в файл (или / dev / null), поскольку нет отображения для cron для отправки

Пример sudo crontab -e

# For more information see the manual pages of crontab(5) and cron(8) # PATH=/usr/sbin:/usr/bin:/sbin:/bin # m h dom mon dow command @reboot /usr/bin/testscript

и ...

cd /usr/bin/ sudo vi testscript echo "works" >/tmp/testing chmod 775 testscript

Теперь для перезагрузки. .. И вот рабочий пример:

ls -l /tmp/testing -rw-r--r-- 1 root root 6 2011-05-29 08:34 /tmp/testing rinzwind@discworld:/tmp$ more /tmp/testing works
5
ответ дан 25 July 2018 в 21:49
  • 1
    не работает ... после crontab -e эта строка добавляется & quot; @reboot / usr / bin / xmodmap /home/XXX/scripts.sh" ;. когда я запускаю ту же команду на терминале, она работает ... не знаю, почему ... (не должно быть распечатки этих скриптов) – Richard 29 May 2011 в 00:16
  • 2
    @Richard crontab абсолютно работает, это один из краеугольных камней Linux;) Проверьте свой скрипт и добавьте некоторый вывод в файл внутри скрипта. Скорее всего, ваш скрипт вылетает из-за отображения вывода на экране. Также обратите внимание, что cron НЕ использует PATH, если вы не сообщите об этом. Посмотрите здесь: phwinfo.com/forum/comp-unix-shell/… для некоторых указателей. – Rinzwind 29 May 2011 в 00:19
  • 3
    @Richard взгляните на ссылку, которую я опубликовал в ответ ( help.ubuntu.com/community/CronHowto ), и посмотрите на абзац: Дальнейшие соображения. – Rinzwind 29 May 2011 в 00:32
  • 4
    Вы проверяли разрешения на выполнение и пользовательские права на свои скрипты? Я никогда не использовал cron, так что не уверен. Какой пользователь запускает задания cron? Если это не root, то может быть проблема с правами пользователя – MestreLion 29 May 2011 в 09:40
  • 5
    Кроме того, ваши скрипты находятся в /home. Является ли / home в отдельном разделе? Если задание cron запущено до того, как / home смонтирован, он не будет иметь доступа к вашим скриптам. – MestreLion 29 May 2011 в 09:41

Просто добавьте команды в /etc/rc.local. Он выполняется один раз в конце процесса загрузки. Убедитесь, что вы выходите с кодом ошибки 0.

(0)asus-romano:~/PDF% cat /etc/rc.local #!/bin/sh -e # # 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. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0

Я использую это на другом компьютере, поскольку ... так как ... ну, вероятно, Ultrix в 1989 году. Вы должны убедиться, что ваш скрипт работает, root и без графических интерфейсов. Способ протестировать его запускает его из виртуальной консоли (Ctrl-Alt-F1, Ctrl-Alt-F7, чтобы вернуться к вашей графической среде) в корневой оболочке (sudo -i).

Будьте предупреждены, что неправильная команда в этой оболочке может полностью уничтожить вашу систему.

1
ответ дан 25 July 2018 в 21:49

В дополнение к решению crontab: вы можете сделать это (как root) неинтерактивно через

echo "@reboot /path/to/runonce-script.bash" | crontab

и поместить в этот скрипт

crontab -r

для его удаления снова , Иначе скрипт будет запущен после каждой перезагрузки.

0
ответ дан 25 July 2018 в 21:49

Вы изучали работу cron? Вы можете установить его при перезагрузке @reboot в своем crontab

1
ответ дан 26 July 2018 в 17:04

Помимо других ответов, вы можете поместить свои команды запуска (суперпользователя) в /etc/rc.local.

2
ответ дан 26 July 2018 в 17:04
  • 1
    не работа ... тоже. см. комментарии к @Rinzwind – Richard 29 May 2011 в 00:18
  • 2
    Должно сработать. Ну, это работает для меня с тех пор. Вы тестировали свои скрипты без графической среды и как root? Если вы опубликуете его, мы сможем помочь ... – Rmano 4 January 2014 в 00:10

cron может помочь здесь.

Помимо запуска чего-либо в минуту, час, день недели, месяц и т. д., он также выполняет некоторые специальные операции:

@reboot Run once, at startup. @yearly Run once a year, "0 0 1 1 *". @annually (same as @yearly) @monthly Run once a month, "0 0 1 * *". @weekly Run once a week, "0 0 * * 0". @daily Run once a day, "0 0 * * *". @midnight (same as @daily) @hourly Run once an hour, "0 * * * *".

Редактирование выполняется из командной строки со следующей командой:

sudo crontab -e

в нижней части файла (ниже # m h dom mon dow command) вы можете добавить строку, которая выполняет то, что вы хотите так @reboot /directory/to/file выполнит / directory / to / file во время загрузки.

Просто одно предупреждение: вам нужно убедиться, что нет выхода из этого сценария или что выход перенаправляется в файл (или / dev / null), поскольку нет отображения для cron для отправки

Пример sudo crontab -e

# For more information see the manual pages of crontab(5) and cron(8) # PATH=/usr/sbin:/usr/bin:/sbin:/bin # m h dom mon dow command @reboot /usr/bin/testscript

и ...

cd /usr/bin/ sudo vi testscript echo "works" >/tmp/testing chmod 775 testscript

Теперь для перезагрузки. .. И вот рабочий пример:

ls -l /tmp/testing -rw-r--r-- 1 root root 6 2011-05-29 08:34 /tmp/testing rinzwind@discworld:/tmp$ more /tmp/testing works
5
ответ дан 26 July 2018 в 17:04
  • 1
    не работает ... после crontab -e эта строка добавляется & quot; @reboot / usr / bin / xmodmap /home/XXX/scripts.sh" ;. когда я запускаю ту же команду на терминале, она работает ... не знаю, почему ... (не должно быть распечатки этих скриптов) – Richard 29 May 2011 в 00:16
  • 2
    @Richard crontab абсолютно работает, это один из краеугольных камней Linux;) Проверьте свой скрипт и добавьте некоторый вывод в файл внутри скрипта. Скорее всего, ваш скрипт вылетает из-за отображения вывода на экране. Также обратите внимание, что cron НЕ использует PATH, если вы не сообщите об этом. Посмотрите здесь: phwinfo.com/forum/comp-unix-shell/… для некоторых указателей. – Rinzwind 29 May 2011 в 00:19
  • 3
    @Richard взгляните на ссылку, которую я опубликовал в ответ ( help.ubuntu.com/community/CronHowto ), и посмотрите на абзац: Дальнейшие соображения. – Rinzwind 29 May 2011 в 00:32
  • 4
    Вы проверяли разрешения на выполнение и пользовательские права на свои скрипты? Я никогда не использовал cron, так что не уверен. Какой пользователь запускает задания cron? Если это не root, то может быть проблема с правами пользователя – MestreLion 29 May 2011 в 09:40
  • 5
    Кроме того, ваши скрипты находятся в /home. Является ли / home в отдельном разделе? Если задание cron запущено до того, как / home смонтирован, он не будет иметь доступа к вашим скриптам. – MestreLion 29 May 2011 в 09:41

Просто добавьте команды в /etc/rc.local. Он выполняется один раз в конце процесса загрузки. Убедитесь, что вы выходите с кодом ошибки 0.

(0)asus-romano:~/PDF% cat /etc/rc.local #!/bin/sh -e # # 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. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0

Я использую это на другом компьютере, поскольку ... так как ... ну, вероятно, Ultrix в 1989 году. Вы должны убедиться, что ваш скрипт работает, root и без графических интерфейсов. Способ протестировать его запускает его из виртуальной консоли (Ctrl-Alt-F1, Ctrl-Alt-F7, чтобы вернуться к вашей графической среде) в корневой оболочке (sudo -i).

Будьте предупреждены, что неправильная команда в этой оболочке может полностью уничтожить вашу систему.

1
ответ дан 26 July 2018 в 17:04

В дополнение к решению crontab: вы можете сделать это (как root) неинтерактивно через

echo "@reboot /path/to/runonce-script.bash" | crontab

и поместить в этот скрипт

crontab -r

для его удаления снова , Иначе скрипт будет запущен после каждой перезагрузки.

0
ответ дан 26 July 2018 в 17:04

Вы изучали работу cron? Вы можете установить его при перезагрузке @reboot в своем crontab

1
ответ дан 2 August 2018 в 03:25

Помимо других ответов, вы можете поместить свои команды запуска (суперпользователя) в /etc/rc.local.

2
ответ дан 2 August 2018 в 03:25
  • 1
    не работа ... тоже. см. комментарии к @Rinzwind – Richard 29 May 2011 в 00:18
  • 2
    Должно сработать. Ну, это работает для меня с тех пор. Вы тестировали свои скрипты без графической среды и как root? Если вы опубликуете его, мы сможем помочь ... – Rmano 4 January 2014 в 00:10

cron может помочь здесь.

Помимо запуска чего-либо в минуту, час, день недели, месяц и т. д., он также выполняет некоторые специальные операции:

@reboot Run once, at startup. @yearly Run once a year, "0 0 1 1 *". @annually (same as @yearly) @monthly Run once a month, "0 0 1 * *". @weekly Run once a week, "0 0 * * 0". @daily Run once a day, "0 0 * * *". @midnight (same as @daily) @hourly Run once an hour, "0 * * * *".

Редактирование выполняется из командной строки со следующей командой:

sudo crontab -e

в нижней части файла (ниже # m h dom mon dow command) вы можете добавить строку, которая выполняет то, что вы хотите так @reboot /directory/to/file выполнит / directory / to / file во время загрузки.

Просто одно предупреждение: вам нужно убедиться, что нет выхода из этого сценария или что выход перенаправляется в файл (или / dev / null), поскольку нет отображения для cron для отправки

Пример sudo crontab -e

# For more information see the manual pages of crontab(5) and cron(8) # PATH=/usr/sbin:/usr/bin:/sbin:/bin # m h dom mon dow command @reboot /usr/bin/testscript

и ...

cd /usr/bin/ sudo vi testscript echo "works" >/tmp/testing chmod 775 testscript

Теперь для перезагрузки. .. И вот рабочий пример:

ls -l /tmp/testing -rw-r--r-- 1 root root 6 2011-05-29 08:34 /tmp/testing rinzwind@discworld:/tmp$ more /tmp/testing works
5
ответ дан 2 August 2018 в 03:25
  • 1
    не работает ... после crontab -e эта строка добавляется & quot; @reboot / usr / bin / xmodmap /home/XXX/scripts.sh" ;. когда я запускаю ту же команду на терминале, она работает ... не знаю, почему ... (не должно быть распечатки этих скриптов) – Richard 29 May 2011 в 00:16
  • 2
    @Richard crontab абсолютно работает, это один из краеугольных камней Linux;) Проверьте свой скрипт и добавьте некоторый вывод в файл внутри скрипта. Скорее всего, ваш скрипт вылетает из-за отображения вывода на экране. Также обратите внимание, что cron НЕ использует PATH, если вы не сообщите об этом. Посмотрите здесь: phwinfo.com/forum/comp-unix-shell/… для некоторых указателей. – Rinzwind 29 May 2011 в 00:19
  • 3
    @Richard взгляните на ссылку, которую я опубликовал в ответ ( help.ubuntu.com/community/CronHowto ), и посмотрите на абзац: Дальнейшие соображения. – Rinzwind 29 May 2011 в 00:32
  • 4
    Вы проверяли разрешения на выполнение и пользовательские права на свои скрипты? Я никогда не использовал cron, так что не уверен. Какой пользователь запускает задания cron? Если это не root, то может быть проблема с правами пользователя – MestreLion 29 May 2011 в 09:40
  • 5
    Кроме того, ваши скрипты находятся в /home. Является ли / home в отдельном разделе? Если задание cron запущено до того, как / home смонтирован, он не будет иметь доступа к вашим скриптам. – MestreLion 29 May 2011 в 09:41

Просто добавьте команды в /etc/rc.local. Он выполняется один раз в конце процесса загрузки. Убедитесь, что вы выходите с кодом ошибки 0.

(0)asus-romano:~/PDF% cat /etc/rc.local #!/bin/sh -e # # 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. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0

Я использую это на другом компьютере, поскольку ... так как ... ну, вероятно, Ultrix в 1989 году. Вы должны убедиться, что ваш скрипт работает, root и без графических интерфейсов. Способ протестировать его запускает его из виртуальной консоли (Ctrl-Alt-F1, Ctrl-Alt-F7, чтобы вернуться к вашей графической среде) в корневой оболочке (sudo -i).

Будьте предупреждены, что неправильная команда в этой оболочке может полностью уничтожить вашу систему.

1
ответ дан 2 August 2018 в 03:25

В дополнение к решению crontab: вы можете сделать это (как root) неинтерактивно через

echo "@reboot /path/to/runonce-script.bash" | crontab

и поместить в этот скрипт

crontab -r

для его удаления снова , Иначе скрипт будет запущен после каждой перезагрузки.

0
ответ дан 2 August 2018 в 03:25

Вы изучали работу cron? Вы можете установить его при перезагрузке @reboot в своем crontab

1
ответ дан 4 August 2018 в 19:22

Помимо других ответов, вы можете поместить свои команды запуска (суперпользователя) в /etc/rc.local.

2
ответ дан 4 August 2018 в 19:22
  • 1
    не работа ... тоже. см. комментарии к @Rinzwind – Richard 29 May 2011 в 00:18
  • 2
    Должно сработать. Ну, это работает для меня с тех пор. Вы тестировали свои скрипты без графической среды и как root? Если вы опубликуете его, мы сможем помочь ... – Rmano 4 January 2014 в 00:10

cron может помочь здесь.

Помимо запуска чего-либо в минуту, час, день недели, месяц и т. д., он также выполняет некоторые специальные операции:

@reboot Run once, at startup. @yearly Run once a year, "0 0 1 1 *". @annually (same as @yearly) @monthly Run once a month, "0 0 1 * *". @weekly Run once a week, "0 0 * * 0". @daily Run once a day, "0 0 * * *". @midnight (same as @daily) @hourly Run once an hour, "0 * * * *".

Редактирование выполняется из командной строки со следующей командой:

sudo crontab -e

в нижней части файла (ниже # m h dom mon dow command) вы можете добавить строку, которая выполняет то, что вы хотите так @reboot /directory/to/file выполнит / directory / to / file во время загрузки.

Просто одно предупреждение: вам нужно убедиться, что нет выхода из этого сценария или что выход перенаправляется в файл (или / dev / null), поскольку нет отображения для cron для отправки

Пример sudo crontab -e

# For more information see the manual pages of crontab(5) and cron(8) # PATH=/usr/sbin:/usr/bin:/sbin:/bin # m h dom mon dow command @reboot /usr/bin/testscript

и ...

cd /usr/bin/ sudo vi testscript echo "works" >/tmp/testing chmod 775 testscript

Теперь для перезагрузки. .. И вот рабочий пример:

ls -l /tmp/testing -rw-r--r-- 1 root root 6 2011-05-29 08:34 /tmp/testing rinzwind@discworld:/tmp$ more /tmp/testing works
5
ответ дан 4 August 2018 в 19:22
  • 1
    не работает ... после crontab -e эта строка добавляется & quot; @reboot / usr / bin / xmodmap /home/XXX/scripts.sh" ;. когда я запускаю ту же команду на терминале, она работает ... не знаю, почему ... (не должно быть распечатки этих скриптов) – Richard 29 May 2011 в 00:16
  • 2
    @Richard crontab абсолютно работает, это один из краеугольных камней Linux;) Проверьте свой скрипт и добавьте некоторый вывод в файл внутри скрипта. Скорее всего, ваш скрипт вылетает из-за отображения вывода на экране. Также обратите внимание, что cron НЕ использует PATH, если вы не сообщите об этом. Посмотрите здесь: phwinfo.com/forum/comp-unix-shell/… для некоторых указателей. – Rinzwind 29 May 2011 в 00:19
  • 3
    @Richard взгляните на ссылку, которую я опубликовал в ответ ( help.ubuntu.com/community/CronHowto ), и посмотрите на абзац: Дальнейшие соображения. – Rinzwind 29 May 2011 в 00:32
  • 4
    Вы проверяли разрешения на выполнение и пользовательские права на свои скрипты? Я никогда не использовал cron, так что не уверен. Какой пользователь запускает задания cron? Если это не root, то может быть проблема с правами пользователя – MestreLion 29 May 2011 в 09:40
  • 5
    Кроме того, ваши скрипты находятся в /home. Является ли / home в отдельном разделе? Если задание cron запущено до того, как / home смонтирован, он не будет иметь доступа к вашим скриптам. – MestreLion 29 May 2011 в 09:41

Просто добавьте команды в /etc/rc.local. Он выполняется один раз в конце процесса загрузки. Убедитесь, что вы выходите с кодом ошибки 0.

(0)asus-romano:~/PDF% cat /etc/rc.local #!/bin/sh -e # # 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. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0

Я использую это на другом компьютере, поскольку ... так как ... ну, вероятно, Ultrix в 1989 году. Вы должны убедиться, что ваш скрипт работает, root и без графических интерфейсов. Способ протестировать его запускает его из виртуальной консоли (Ctrl-Alt-F1, Ctrl-Alt-F7, чтобы вернуться к вашей графической среде) в корневой оболочке (sudo -i).

Будьте предупреждены, что неправильная команда в этой оболочке может полностью уничтожить вашу систему.

1
ответ дан 4 August 2018 в 19:22

В дополнение к решению crontab: вы можете сделать это (как root) неинтерактивно через

echo "@reboot /path/to/runonce-script.bash" | crontab

и поместить в этот скрипт

crontab -r

для его удаления снова , Иначе скрипт будет запущен после каждой перезагрузки.

0
ответ дан 4 August 2018 в 19:22

Вы изучали работу cron? Вы можете установить его при перезагрузке @reboot в своем crontab

1
ответ дан 6 August 2018 в 03:34

Помимо других ответов, вы можете поместить свои команды запуска (суперпользователя) в /etc/rc.local.

2
ответ дан 6 August 2018 в 03:34
  • 1
    не работа ... тоже. см. комментарии к @Rinzwind – Richard 29 May 2011 в 00:18
  • 2
    Должно сработать. Ну, это работает для меня с тех пор. Вы тестировали свои скрипты без графической среды и как root? Если вы опубликуете его, мы сможем помочь ... – Rmano 4 January 2014 в 00:10

Другие вопросы по тегам:

Похожие вопросы: