1

Хочу сделать сервачок 24/7 на старенькой железке, соответственно иксы не нужны.
Как сделать автологин и автозапукс программ в консоли от конкретного пользователя, а не от рута?
Пробовал в /etc/inittab менять

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

допустим это:

2:2345:respawn:/sbin/mingetty tty2

на это:

2:2345:respawn:/sbin/rungetty -u username tty2 -- /usr/bin/exec_prog

эффекта нет. только заместо приглошения к вводу логина теперь пустота.
Если использовать просто автологин:

2:2345:respawn:/sbin/mingetty tty2 --autologin username

то не знаю как дальше запустить программу...
Может я что делаю не так, или есть для таких действий другой вариант? Или может стоит использовать другую программу для автологина и автозапуска, но какую?

2

su для скрипта не?

3 (21.07.2010 15:47:43 отредактировано Lupo Alberto)

alex-seed пишет:

то не знаю как дальше запустить программу...
Может я что делаю не так, или есть для таких действий другой вариант? Или может стоит использовать другую программу для автологина и автозапуска, но какую?

Попробуйте создать в домашнем каталоге пользователя, от имени которого осуществляется автологин, файл .xinitrc, со строкой вида

exec /usr/bin/exec_prog

P.S. Не помню насколько критичен синтаксис mingetty к порядку передаваемых ей параметров, попробуйте так

2:2345:respawn:/sbin/mingetty --autologin username tty2

P.S. Извините, забыл, что «иксов» у вас нет.
Тогда куда-нибудь из ~/.bash_profile или  ~/.bashrc

Был, был и весь вышел...

4

Lupo Alberto пишет:

файл .xinitrc

А он тут при чем?

Попробовал заместо migetty скормить ему скрипт допустим такого вида:
mingetty tty6 --autologin seed
sleep 1
/usr/bin/top
(может тут еще приписать вначале #!bin/bash? Хотя итак выполняется...)
Оно вроде и запускается, почему-то совсем неуправляемое становится - ни на что не реагирут вообще... Или у меня ОСь кривая или руки - уж не заню  ag

5

Я же написал, что забыл об отсутствии Х на сервере.
~/.bash_profile  или  ~/.bashrc тоже не отрабатывает?

Был, был и весь вышел...

6

Lupo Alberto пишет:

Я же написал, что забыл об отсутствии Х на сервере.
~/.bash_profile  или  ~/.bashrc тоже не отрабатывает?

Если бы с иксами, то это в сто раз проще ab
.bash_profile у меня там все - прокатывает автозапуск (блин, тестирую все на рабочей машинке, после этих манипулций с .bash_profile не смог загрузиться под иксами, пришлось файлик назад выправлять ) но вот как быть если надо запустить в двух разных консолях две разных программы?

7 (21.07.2010 16:25:58 отредактировано Lupo Alberto)

alex-seed пишет:

но вот как быть если надо запустить в двух разных консолях две разных программы?

От одного пользователя или от разных?
Если от одного, то зачем в разных консолях? Часть программ можно запускать в фоне. Если всё же требуется интерактивный ввод от одного пользователя в разных консолях, можно посмотреть screen.
Если нужен запуск от разных пользователей, то вроде бы всё и так понятно.

Был, был и весь вышел...

8

Lupo Alberto пишет:

Если от одного, то зачем в разных консолях?

Да, от одного. Чтоб наглядней, хотя думаю можно кое-что и в фоне пускануть...

Lupo Alberto пишет:

Если всё же требуется интерактивный ввод от одного пользователя в разных консолях, можно посмотреть screen.

Я так понимаю эту штуку можно использовать без гуя на сервере? Сервер впринципе будет иметь иногда включаемый монитор, в остальном - управление через ssh и веб-интерфейс.

9

alex-seed пишет:

Я так понимаю эту штуку можно использовать без гуя на сервере?

Только так и можно  ag

Был, был и весь вышел...

10

Lupo Alberto пишет:
alex-seed пишет:

Я так понимаю эту штуку можно использовать без гуя на сервере?

Только так и можно  ag

И на том спасибо  ag
В скором времени буду пробовать. Но вопрос про автологин/запуск из inittab остается открытый.

11 (21.07.2010 18:58:59 отредактировано Lupo Alberto)

Я только сейчас подумал и удивился, а зачем на сервере, даже на «маленьком и домашнем», автологин и куча открытых консолей? Или, в конце концов, запустил сервер, залогинился куда надо и сколько надо раз, к чему его перезапускать часто?  oO
Если будете часто на сервер по ssh заходить, не забудьте, кроме screen, посмотреть и tmux.

Был, был и весь вышел...

12

Lupo Alberto пишет:

перезапускать часто?  oO

Вот Вам наверное интересно, а мне даже не смешно - электричество у нас всякие паразиты вырубать любят и притом довольно часто. Вот поэтому и автоматизм просто необходим, благо комп сам врубается при подаче питалова.  :lol:

13 (21.07.2010 19:28:59 отредактировано Lupo Alberto)

Всё равно мне до конца не понятно, зачем залогиниваться в консоль, т. е. предполагается необходимость в интерактивной работе с компьютером?
Сервер — от английского «to serve», обслуживать. Компьютер включился, загрузил сервисы — значит, работает. И даже, если вам надо запустить сервис от определённого пользователя, при условии, что сама программа таких настроек не имеет, есть sudo.
Ну да, ладно, переубеждать не буду, вам на месте виднее.

Был, был и весь вышел...

14

Я в числе прочего хочу свои познания в линуксе расширить, так что меня переубеждать нет смысла.  wink
О, и еще - не пользуюсь я sudo.

15

alex-seed пишет:

Я в числе прочего хочу свои познания в линуксе расширить, так что меня переубеждать нет смысла.  wink

вам подсказывают стандартные решения.

По делу - засунуть автозагрузку в inittab ИМХО - плохая идея. Для этого есть rc.local

alex-seed пишет:

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

в rc.local
пишете  sudo -u user my_script.sh

alex-seed пишет:

О, и еще - не пользуюсь я sudo.

и зря. её сделали специально для вашего случая.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

16

drBatty пишет:

По делу - засунуть автозагрузку в inittab ИМХО - плохая идея. Для этого есть rc.local

alex-seed пишет:

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

в rc.local
пишете  sudo -u user my_script.sh

alex-seed пишет:

О, и еще - не пользуюсь я sudo.

и зря. её сделали специально для вашего случая.

А все же можно сделать с помощью не sudo, а обычного su:

su -l username -c exec_file

Полез ставить sudo, поставил, стал читать ман, а там была ссылка на su, вот я и полез ман по su читать - оно оказывается тоже много чего умеет нужного.  smile
p.s. если прописать то, что Вы написали в rc.local, то как оно выполняется? В фоне?

17

alex-seed пишет:

p.s. если прописать то, что Вы написали в rc.local, то как оно выполняется? В фоне?

Смотря что и смотря как настроить.
Проще бы было это всё обсуждать и, возможно, найти какое-либо иное разумное решение, если бы вы показали, что именно вы хотите запускать.
«Мы не первые — всё уже придумано до нас!» ©

Был, был и весь вышел...

18

alex-seed,

zerg пишет:

su для скрипта не?

http://linuxforum.ru/viewtopic.php?pid=72817#p72817

19

alex-seed пишет:

А все же можно сделать с помощью не sudo, а обычного su:

позвольте, а как вы пароль введёте?!
учтите, su проверяет ОТКУДА пароль. его ручками надо вбивать.
для sudo пароль не нужен (при запуске от рута).

(хотя для su вроде тоже. но у меня всё равно ваш вариант su не работает)

конечно su намного проще, но использовать её в скриптах неудобно и опасно.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

20

drBatty пишет:

позвольте, а как вы пароль введёте?!

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

zerg пишет:

su для скрипта не?

Извиняюсь, почему то не заметил сразу...

Пока темку в сторону ненадолго отложим т.к. времени сейчас совсем свободного нет на эксперименты.

21

alex-seed пишет:

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

?????
жуть ac

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

22

Попробовал автологин на арче настроить, но там оказался agetty
c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux

Поставил из аура mingetty...
/etc/inittab:

c1:2345:respawn:/sbin/mingetty --autologin USERNAME tty1 linux

Работает однако.  smile

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.