LINUX.ORG.RU
ФорумAdmin

Автозапуск приложения после загрузки.


0

1

Как мне сделать автозапуск приложения после загрузки Linux. Но мне нужно чтобы приложение запускалось не как демон а под управлением терминала.

В /etc/inittab написал A2:2:once:/home/sim/test

Но приложение запускается как демон.


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

Зависит от дистрибутива, от инита. Где-то можно tty6:2345:respawn:-/usr/bin/app, где-то делают 6:2345:respawn:/sbin/mingetty --autologin app_user tty6, а уже шелл пользователя делает нужное. Или используют openvt в скриптах запуска.

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

Понимаешь, до логина, но под управлением терминала. Или крестик снять или трусы надеть, вместе никак...

Хотя можно ещё в screen, вызвать через rc.local и потом цепляться к нему.

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

Понимаешь, до логина, но под управлением терминала.

Не понимаю. Это вещи ортогональные. У тебя как минимум getty запускаются под управлением терминалов, но без логина.

baka-kun ★★★★★
()
Ответ на: комментарий от sin_a

Требуется запуск после загрузки, а не после аутентификации.

Да я делаю автологин...мне не обязательно запускать до логина.....я может не точно объяснил...

Зависит от дистрибутива, от инита.

У меня железяка на ARM - там embedded linux.

tty6:2345:respawn:-/usr/bin/app

то есть в ID записать ttyx и он запустит с терминала?

Racot
() автор топика
Ответ на: комментарий от sin_a

Если после логина то можно через .bashrc

И как через .bashrc?

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

http://www.xgu.ru/wiki/man:screen , потом ещё подключаться к этой оболочке сможешь, даже удалённо. Поставь себе и попробуй так поиграть. Управление непривычное: нажимаешь Ctrl+a, затем отпускаешь и нажимаешь модификатор. И сделай ~/.screenrc :

# An alternative hardstatus to display a bar at the bottom listing the
# # windownames and highlighting the current windowname in blue. (This is only
# # enabled if there is no hardstatus setting for your terminal)

hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
sin_a ★★★★★
()
Ответ на: комментарий от Racot

Сорри.....а что значит через screen?

man 1 screen

И как через .bashrc?

в конец файла добавляешь команду запуска программы и все.

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

Спасибо всем! посмотрю все завтра на работе!

в конец файла добавляешь команду запуска программы и все.

Я люблю по вечерам потупить.... просто написать в конце файла:

./my_application

и с какого терминала оно запустится?

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

С любого, где запустится оболочка. И при любом запуске оболочки. Поэтому это в целом не очень хорошая идея.

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

У меня железяка на ARM - там embedded linux.
то есть в ID записать ttyx и он запустит с терминала?

Если init из бизибокса, там именно так терминалы и делают: tty2::askfirst:/bin/sh

baka-kun ★★★★★
()
Ответ на: комментарий от sin_a

Усек) да...пожалуй не лучший вариант.

Racot
() автор топика
Ответ на: комментарий от sin_a

что бы там приложение запустить всё равно нужно как минимум автологин делать.

Автологин где? Кто тебя вообще заставляет запускать getty на vty?

Я привел три варианта: для бизибокса, для mgetty с автологином и для запуска из init.d с помощью openvt.

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

Если init из бизибокса, там именно так терминалы и делают: >tty2::askfirst:/bin/sh

да из бизибокса.....там терминалы делаются так в inittab 1:2345:respawn:/sbin/getty 38400 tty1

Racot
() автор топика
Ответ на: комментарий от baka-kun

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

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

А, в бизибоксе скрина может и не быть.

скорей всего....там все очень скудно..... Нужен мне SSH server с поддержкой SFTP ....а там стоит dropbox....уже замаялся собирать OpenSSH под ARM... ниче не получается(извиняюсь что не в тему- накипело)

Racot
() автор топика
Ответ на: комментарий от sin_a

мне нравится вариант со скрином

Это хороший и правильный вариант, но ТС спросил нечто другое. Хотя, как теперь выясняется, он не умеет задавать вопросы и не совсем понимает, чего хочет.

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

Может dropbear?

похоже мне пора спать....

Ещё здорово поможет прочтение http://segfault.kiev.ua/smart-questions-ru.html, там про твой случай точно есть.

почитаю на досуге) я просто еще не так давно на линукс перебрался....поэтому мож чего недопонимаю.

Racot
() автор топика

baka-kun, не подскажешь, где почитать всё про tty, getty, /dev/tty*, /dev/console, как с ними работать, и что вообще с ними можно делать? без привязки к конкретному init'у

teod0r ★★★★★
()
Ответ на: комментарий от baka-kun

Я привел три варианта: для бизибокса, для mgetty с автологином и для запуска из init.d с помощью openvt.

Вот седня вернулся к старым баранам и у меня ничего не вышло..... У меня init не busybox - я вас обманул(просто много утилит из бизибокса - я поошибке подумал так и на инит) file /sbin/init /sbin/init: symbolic link to `/sbin/init.sysvinit'

соответственно форма записи там такая: 1:2345:respawn:/sbin/getty 38400 tty1 (взял из /etc/inittab)

6:2345:respawn:/sbin/mingetty --autologin app_user tty6

--autologin username делает автологин......а где запуск приложения? мне нужно запустить c терминала tty6 приложение: «test -qws». (естественно в автомате..... не трогая клавиатуру).

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

а где запуск приложения?

Либо в качестве шелла для юзера, либо у него в .profile, очевидно.

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