Запустите сеанс экрана при загрузке с rc.local

Я пытаюсь запустить отдельный экран под конкретным пользователем в rc.local при загрузке. Код ниже - это то, что у меня есть, но оно не работает для меня. Часть su, кажется, дает мне ошибку.

su - username -c /usr/bin/screen -dmS test bash -c '/var/www/path/to/script/script.sh; exec bash'
12
задан 27 June 2017 в 08:19

4 ответа

-c ನಿಯತಾಂಕಗಳು ( ಸು ಮತ್ತು ಬ್ಯಾಷ್ ) ಅನ್ನು ಕನಿಷ್ಠ ಉಲ್ಲೇಖಿಸಬೇಕಾಗುತ್ತದೆ. .


ಇನ್ನೂ ಕೆಲವು ಟೀಕೆಗಳು. . .

ನೀವು ಜಾಗರೂಕರಾಗಿರಲು ಬಯಸುವ ಇನ್ನೊಂದು ವಿಷಯವೆಂದರೆ ಸವಲತ್ತು ಪಡೆದ ಸಂದರ್ಭದಲ್ಲಿ ಸಂಪೂರ್ಣ ಮಾರ್ಗವಿಲ್ಲದೆ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು. ಇದು ಸು (ಅಥವಾ ಸುಡೋ ) ಅನ್ನು ಹೊಂದಿದೆ ಆದರೆ ನಿಮ್ಮ ಆಜ್ಞೆಯಲ್ಲಿ ಬ್ಯಾಷ್ ಗೆ ಹಾದಿಯನ್ನು ಹೊಂದಿದೆ. ನೀವು ಅದನ್ನು ಪರದೆಯೊಂದಿಗೆ ಸರಿಯಾಗಿ ಮಾಡುತ್ತಿದ್ದೀರಿ.

ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ ಮತ್ತು ಅದು ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ಮೂಲ ಸಾಲಿನಲ್ಲಿ - ಮುಖ್ಯ ವಿಷಯವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ:

/bin/su username -c "/usr/bin/screen -dmS test bash -c '/home/username/test.sh; exec bash'"

ದುಷ್ಟ ಹೇಳಿಕೆ: ನೀವು ಟಿಮಕ್ಸ್ ಅನ್ನು ಏಕೆ ಪ್ರಯತ್ನಿಸಬಾರದು? ನಾನು ಇತ್ತೀಚೆಗೆ ಬದಲಾಯಿಸಿದ್ದೇನೆ ಮತ್ತು ಹಿಂದೆ ಮುಂದೆ ನೋಡಲಿಲ್ಲ. tmux ನಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಆಗಿ Ctrl + B - ಗ್ನೂ ಪರದೆ Ctrl + A .ಸ್ಥಾನಮಾನವನ್ನು ಒಳಗೊಂಡಂತೆ) ವಾಸ್ತವವಾಗಿ ಮನುಷ್ಯರಿಗೆ ಅರ್ಥವಾಗುತ್ತದೆ. ಸಹಜವಾಗಿ tmux ಪರದೆಯ ನಷ್ಟು ಉತ್ತಮವಾಗಿದೆ, ನೀವು ಮೂಲತಃ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಡೀಮನ್ ಎಂದು ಬರೆಯದ ಕೆಲವು ಪ್ರೋಗ್ರಾಂ / ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ಬಯಸಿದಾಗ. ಆದಾಗ್ಯೂ, ನೀವು ಟರ್ಮಿನಲ್ ಮಲ್ಟಿಪ್ಲೆಕ್ಸರ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಬಯಸಿದರೆ, ನಾನು ಟಿಮಕ್ಸ್ ಅನ್ನು ಉತ್ಸಾಹದಿಂದ ಶಿಫಾರಸು ಮಾಡುತ್ತೇನೆ.

13
ответ дан 27 June 2017 в 08:19

ಸು-ಬಳಕೆದಾರಹೆಸರು

1
ответ дан 27 June 2017 в 08:19

Вот то, что я использовал, я нашел его самым чистым и простым (проверял, работает сам):

Замените «user» на пользователя, от имени которого он будет запускаться. Замените nameyouchoose на имя сеанса экрана Замените "/script/start.bash" на путь к вашему сценарию.

/usr/bin/sudo -u user /usr/bin/screen -dmS nameyouchoose /script/start.bash

Источник: http://realtechtalk.com/How_to_start_screen_in_bash_script_or_from_etcrclocal_on_startup_as_a_specific_user-1980-articles

2
ответ дан 27 June 2017 в 08:19

Запуск сценария на новом отключенном экране от имени текущего пользователя (rc.local = root):

screen -dmS <имя сеанса> <команда> , пример:

screen -dmS screenName bash /home/user/run.sh[12247 visible Запуск сценария из rc.local от имени пользователя :

runuser -l user -c 'screen -dmS screenName bash / home /user/run.sh'

1
ответ дан 5 January 2021 в 23:27

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

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