25.02.2020 15:21
termit68ru
 
Кто поможет?)))
Нужен автозапуск консольного приложения (ncmpcpp) под определённым пользователем в консоли.
Гуй отключен.
Дистр - armbian, но думаю не суть)
25.02.2020 16:09
OlegON
 
суть... но давай попробуем разобраться, ты клиента-то запускаешь, уже какой-то логин произошел? или зачем?
25.02.2020 16:25
OlegON
 
В общем, обрисуй задачу, поскольку ты хочешь чего-то непонятного.

Если тебе нужно что-то фоном запустить (при чем тут ncmpcpp я вообще не догадываюсь), то сделай файлик
/lib/systemd/system/myservice.service
Код:
[Unit]
Description=Run SystemD as users
After=network.target

[Service]
Type=simple
User=[USER HERE]
WorkingDirectory=[USER HOME]
ExecStart=/bin/bash --login -c 'source [USER_HOME]/.bashrc; cd [Directory of command] && [COMMAND TO RUN]'
Restart=always
 
[Install]
WantedBy=multi-user.target
выше все шаблон, как название, так и содержание, будет тебе сервис. Еще раз подчеркну, mpd запускается сам по себе, а ты пытаешься запускать клиент к нему.

Другой вариант - проверять наличие запущенной программы в кроне
Код:
pgrep ncmpcpp || ncmpcpp &
крон от юзера, соответственно
25.02.2020 16:42
termit68ru
 
Автологин уже есть через
Код:
ExecStart=-/sbin/agetty --autologin username --noclear %I $TERM linux
в файле
Код:
/etc/systemd/system.getty.target.wants/getty(собака)tty1точкаservice
теперь необходимо запустить клиента.
Суть в том, чтобы при включении ПК автоматом на монитор запускался консольный клиент. ПК будет плеером.
25.02.2020 17:12
OlegON
 
тогда в .bash_profile добавь строку
pgrep ncmpcpp || ncmpcpp &
это значит, что при запуске bash, если клиент не запущен, он будет запускаться. чревато тем, что bash может запускаться раньше твоего логина.
25.02.2020 17:23
termit68ru
 
О. СПС. Пока взлетело)))
Рано обрадовался.
Клиент стартует, но я не могу им управлять.
25.02.2020 17:38
termit68ru
 
Оставил просто ncmpcpp и всё заработало
25.02.2020 17:45
OlegON
 
так у тебя отдельный юзер же, попробуй в /etc/passwd ему последнюю запись с /bin/bash на полный путь к ncmpcpp поменять?
26.02.2020 09:45
termit68ru
 
Цитата:
OlegON тогда в .bash_profile добавь строку
pgrep ncmpcpp || ncmpcpp &
это значит, что при запуске bash, если клиент не запущен, он будет запускаться. чревато тем, что bash может запускаться раньше твоего логина.
Проверять запущен ли ncmpcpp не надо, так как система только стартанула и он точно не запущен)))
& тоже не надо, так как он мне не в фоне нужен.



Цитата:
OlegON так у тебя отдельный юзер же, попробуй в /etc/passwd ему последнюю запись с /bin/bash на полный путь к ncmpcpp поменять?
Отдельный от кого?))
Логинюсь в косоли под юзером mpd, от него же запускаю и ncmpcpp, других нет.))
26.02.2020 09:51
OlegON
 
Цитата:
termit68ru Отдельный от кого?
В смысле, что mpd - отдельный юзер, хотя лучше бы, конечно, mpd от одного пользователя, а ncmpcpp - от другого, отдельного.

Цитата:
termit68ru Проверять запущен ли ncmpcpp не надо, так как система только стартанула и он точно не запущен
да, но этот скрипт вызывается при любом запуске bash этого пользователя. а это и сам mpd может сделать и прочий софт. лучше проверять, а еще лучше - проверять вывод команды tty, чтобы убедиться, что это та консоль, которую ты подразумеваешь.
Часовой пояс GMT +3, время: 20:15.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.