LINUX.ORG.RU
ФорумAdmin

Автоматичесская презагрузка после 5 секунд

 


0

1

Вобщем я добился того чтобы systemd автоматом логинил мне в tty2. Тут я хочу что бы мне запустился скрипт из bashrc

#!/bin/bash
pybootchartgui -f pdf && mv bootchart.pdf{,$(date +%s)}}
sleep 5
reboot

скрипт называется lol.sh и в bashrc

/root/lol.sh

Но врооде скрипт так и не запускается... что не так?

;; с потолка

Может попробовать полные пути к программам?

april ()
Ответ на: комментарий от Trieforce

Баш может работать в комадном и интерактивном режимах. В интерактивном в переменной «$-» содержится буква «i», только в интерактивном режиме запускается ~/.bashrc.

Если bash считает, что он login-shell, то он выполняет ~/.bash_profile (~/.bash_login, ~/.profile) из которых обычно и запускается ~/.bashrc. Но сам bash в этом случае не выполняет ~/.bashrc. Считает ли bash себя login-shell'ом видно в выводе shopt.

Поэтому тут вопрос, как именно вы делает запуск bash и в каком режиме он при этом выполняется.

mky ★★★★★ ()
Ответ на: комментарий от Trieforce

Не понял вопроса. Вы задачу нормально опишите и объясните что именно сделали и зачем вам понадобился systemd для запуска bash-скрипта?

mky ★★★★★ ()
Ответ на: комментарий от Trieforce

Прописать запуск скрипта прямо в юните systemd от нужного пользователя?

unikum ★★★★★ ()
Ответ на: комментарий от mky

Я собираю данные о времени загрузки системы с systemd. Для этого надо перезагружать систему. Для этого(топик) я написал скрипт, который работает если его запускаю я вручную. Я хочу процесс автоматизировать.

У меня уже есть авто логин в tty2 и осталось запустить скрипт.

Trieforce ()
Ответ на: комментарий от Trieforce

В каком конфиге сделан автологин и запускающийся там bash считает себя работающим в интерактивном режиме?

А вобще, почему не был написан отдельный [Unit]? Назначили бы ему «After=multi-user.target» и через «ExecStart=» указали бы на свой скрипт.

mky ★★★★★ ()
Ответ на: комментарий от mky

В общем то был скопирован getty@.service, попробую дописать.

cat /etc/systemd/system/autologin@.service 
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.

[Unit]
Description=Getty on %I
BindTo=dev-%i.device
After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service

# If additional gettys are spawned during boot then we should make
# sure that this is synchronized before getty.target, even though
# getty.target didn't actually pull it in.
Before=getty.target

[Service]
Environment=TERM=linux
ExecStart=-/sbin/mingetty --autologin root %I
Restart=no
RestartSec=0
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
KillMode=process
IgnoreSIGPIPE=no

# Unset locale for the console getty since the console has problems
# displaying some internationalized messages.
Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=

# Some login implementations ignore SIGTERM, so we send SIGHUP
# instead, to ensure that login terminates cleanly.
KillSignal=SIGHUP

[Install]
Alias=getty.target.wants/getty@tty2.service

Вставлять ./lol.sh в конце ExecStart= ?

Trieforce ()
Ответ на: комментарий от Trieforce

Вставлять ./lol.sh в конце ExecStart=

Нет, в конец этой строки добавлять ничего не надо, mingetty не поймёт лишние символы.

Проверьте, что в /etc/passwd у root прописан /bin/bash и добавьте «/root/lol.sh» не в /root/.bashrc, а в /root/.bash_profile.

Или делайте такой сервис:

cat /etc/systemd/system/lol.service

[Unit]
Description=LOL
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/root/lol.sh

[Install]
WantedBy=multi-user.target

mky ★★★★★ ()
Ответ на: комментарий от mky

И в последнем случае надо ещё «systemctl enable lol.service».

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.