Рейтинг:1

How can I log in and run a bash file at boot?

флаг cn

I got myself a minecraft server that turns on and off on specific hours but I don't want to type the commands every time it should start playing and let it run those commands after boot. I found an old askubuntu thread (for 12.04) where this is handled and let it run as root. But for security reasons, I don't want it to run as root. I would like to still be able to type in commands to like stop the server, so it cannot run my bash script somewhere hidden.

waltinator avatar
флаг it
Прочтите `man 5 crontab` и используйте специальное поле даты `@reboot`.
bac0n avatar
флаг cn
Похоже, вам нужен обычный скрипт [startup](https://askubuntu.com/a/1089789/986805), он должен работать как шаблон с `Group=`, `User=` [директива](https:/ /manpages.ubuntu.com/manpages/focal/man5/systemd.exec.5.html) вы можете указать другого пользователя, группу (я бы также рекомендовал `/usr/local/lib/systemd/system` вместо `/etc /системд/система`).
Рейтинг:1
флаг cn

Вы можете попробовать использовать запись crontab для своего пользователя.

Команда для запуска команды при загрузке — «@reboot».

Пример записи в crontab:

@reboot cd /home && sh ./myscript.sh
Irsu85 avatar
флаг cn
И... как я могу установить эту запись в crontab?
Level9 avatar
флаг cn
Запустите команду `crontab -e`
Irsu85 avatar
флаг cn
спасибо, завтра попробую
bac0n avatar
флаг cn
Хранение скриптов в `/home` не распространено (и не рекомендуется). Также желательно использовать полный путь к вашей команде. Указание оболочки в командной строке `/bin/sh script.sh` приведет к передаче *интерпретирующей директивы* `#!` как обычного комментария вместо *указанного* интерпретатора. И если они различаются, это может привести к несоответствию функций.
Irsu85 avatar
флаг cn
Мой скрипт тоже не дома, он в /home/myUserName/survival
Irsu85 avatar
флаг cn
Кажется, это не работает, но это дает мне представление о том, что я ищу. Спасибо
Irsu85 avatar
флаг cn
Обновление, я провел еще несколько исследований и, похоже, неправильно использовал команду...
Рейтинг:0
флаг tr

Чтобы автоматически запускать команду при каждой загрузке системы:

  • Найдите «Автозапуск приложений» в тире и откройте его.

  • Нажмите добавить.В качестве имени введите «Запустить сервер Minecraft», а в разделе «Команда» введите команду, используемую для запуска вашего сервера Minecraft.

  • Нажмите «Добавить», и теперь скрипт должен запускаться при перезапуске/запуске.

Наслаждаться!

флаг jp
Dan
Если при установке Ubuntu использовалась серверная версия, а не настольная версия, это невозможно, так как нет возможности получить доступ к программе с графическим интерфейсом. Хотя для таких случаев я бы рекомендовал системный модуль, как это было предложено в комментарии @bac0n выше. Поскольку вам, скорее всего, понадобится более простой контроль для остановки и перезапуска такого программного обеспечения.
jackw11111 avatar
флаг tr
Ах поймал. Я просто подумал, что поделюсь этим методом как альтернативой, менее ориентированной на программирование.
флаг jp
Dan
Я не имел в виду, что ответ неправильный, жаловаться или что-то в этом роде. Извините, если это прозвучало так! Ответ абсолютно нормальный. Но я просто хотел упомянуть об этом в качестве «отказ от ответственности» для этого конкретного случая.
jackw11111 avatar
флаг tr
@Dan Все хорошо, это был хороший момент, который я не учел, спасибо! :)
Irsu85 avatar
флаг cn
Мне нравится эта идея, но я не могу получить доступ к графическому интерфейсу.

Ответить или комментировать

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