Выполнение скриптов после запуска X-сервера

Мне нужно запустить пакетную программу 24 на 7. При сбоях питания я уже настроил Ubuntu Server 14.04 на включение питания при возобновлении подачи энергии, автоматический вход и запуск программы.

Процесс основан на мощности графического процессора и дает лучшие результаты при разгоне. Я смог сделать это, настроив xorg.conf и выполнив xinit. Когда я это делаю, экран становится белым и командная строка исчезает. Я использовал удаленный SSH-клиент для запуска «overclock.sh» и запуска программы, и она работала.

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

CRTL + ALT + F1 вернуться в командную строку, но как использовать это при запуске сценария?

Я хотел бы выполнить при запуске: - xinit; - overclock.sh; - start_program.sh;

Обновление 27.08.2017: Прямо сейчас я понимаю больше, что происходит:

  1. Я нахожусь в среде консоли tty1 .

  2. При запуске «xinit» он открывает грубый экран на tty7.

  3. При нажатии CRTL + ALT + F1 я возвращаюсь к терминалу tty1, но застреваю по команде «xinit». Вот почему скрипт .bash-login не выполняет никаких других команд после.

  4. Нажатие CTRL + C останавливает среду tty7, а разогнанный не работает.

  5. Теперь самая странная часть: если я нажимаю CTRL + Z, я возвращаю элемент управления, разгон работает, но когда я запускаю программу, только GPU0 начинает работать.

  6. Также пробовал «setsid xinit &> / dev / null», и снова все выглядит идеально, но работает только GPU0.

7 Другой подход: на грубом экране, tty7, я щелкаю мышью в верхней командной строке, набираю overclock.sh, и это работает. Все 8 графических процессоров работают хорошо. Это, кажется, более близко, чтобы быть ответом.

Как я могу сделать командный файл для выполнения команд, как только tty7 поднимется?

Обновление 28.08.2017:

Я решил. Магия была в изучении кстерма, вызванного из ксинита. Он получает параметр -e «команда». Поместите скрипт как команду.

0
задан 29 August 2017 в 06:52

3 ответа

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

0
ответ дан 29 August 2017 в 16:52

Я вижу три способа сделать это:

  • В /etc/init.d: поместите сценарии, которые Вы хотите запустить при запуске. Сценарий должен быть структурирован как другие сценарии каталога (может быть пугающим)
  • Использование Ваш сценарий как услуга , и затем запустите сервис при начальной загрузке.
  • Использование crontab с @reboot заданием.
0
ответ дан 29 August 2017 в 16:52

Добавьте сценарии к своему crontab использование crontab -e:

@reboot /path/to/overclock.sh; /path/to/start_program.sh

, Если Вы хотите добавить его к корню crontab (sudo crontab -e), дополнительно необходимо установить пользователя, например, root:

@reboot root /path/to/overclock.sh; /path/to/start_program.sh

Read больше с man 5 crontab .

0
ответ дан 29 August 2017 в 16:52

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

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