Подскажите, плз, как это обычно решается или дайте наводку.
Есть задача - запускать при старте системы "голые" Х-ы и в них mplayer с плейлистом. При этом логиниться не нужно, надо чтобы все работало автоматом. Подобным образом работают ОС для HTPC (типа GeeXbox).
Плейер можно запускать из ~/.Xsession, это понятно. А вот сами Х-ы? И как быть с пользователем, от которого всё это работать будет?
Х-ы обязательно, т.к. возможно нестандартное разрешение экрана.
Планируется использовать Debian, Ubuntu-server либо Gentoo, еще не определился. Нужен сам принцип.
Запустить "голые" Х-ы (с плейером)
Модератор: Модераторы разделов
-
Poor Fred
- Сообщения: 1575
- Статус: Pygoscelis papua
- ОС: Gentoo Linux, FreeBSD
Запустить "голые" Х-ы
Убить всех человеков!
-
deadhead
- Сообщения: 1913
- Статус: zzz..z
-
TweeKane
- Сообщения: 102
- ОС: Arch GNU/Linux
Re: Запустить "голые" Х-ы
Я возвращаюсь к простоте; я снова направляюсь к чистоте...
Спасибо сказали:
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
-
Poor Fred
- Сообщения: 1575
- Статус: Pygoscelis papua
- ОС: Gentoo Linux, FreeBSD
Re: Запустить "голые" Х-ы
Спасибо. Была у меня мысль как раз из rc.local запускать и/или su задействовать. Думал, может существует более православный метод
.
Убить всех человеков!
-
dergachev
- Сообщения: 847
- ОС: archlinux
Re: Запустить "голые" Х-ы
Как я тут уже где-то говорил, можно это делать через inittab:
agetty
Usage: agetty [-8hiLmUw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] baud_rate,... line [termtype]
or [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] line baud_rate,... [termtype]
Тогда они будут корректно перезапускаться по Ctrl+Alt+Backspace и аккуратно писать вывод на нужный терминал (скажем, tty6, ну или куда Вы это в inittab впишите).
Вот тут чуть-чуть есть про это.
agetty
Usage: agetty [-8hiLmUw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] baud_rate,... line [termtype]
or [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] line baud_rate,... [termtype]
Тогда они будут корректно перезапускаться по Ctrl+Alt+Backspace и аккуратно писать вывод на нужный терминал (скажем, tty6, ну или куда Вы это в inittab впишите).
Вот тут чуть-чуть есть про это.
Спасибо сказали:
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Запустить "голые" Х-ы
Вот именно, что чуть-чуть, но криво и косо.
Прописав в .bash_profile просто startx, Вы вообще не сможете зайти в текстовой консоли, это плохо, хотя вариант с проверкой имени TTY эту проблему решает. Однако, ни один из приведенных вариантов не делает «корректно перезапускаться по Ctrl+Alt+Backspace», после умирания X'ов пользователь просто вывалится в текстовую консоль.
Если хочется всего такого правильного, то можно написать примитивный DM хоть на bash и запускать уже его в rc-скрипте. Или воспользоваться готовым (возможно, допилить): http://cdm.ghost1227.com/
Мои розовые очки
-
dergachev
- Сообщения: 847
- ОС: archlinux
Re: Запустить "голые" Х-ы
Да, просто лень было искать "правильную" инструкцию, по которой я все время делал. Вот сейчас добрался до своего компутера - вот как это у меня выглядит (gentoo):
Код: Выделить всё
# grep -v "#" /etc/inittab
id:3:initdefault:
si::sysinit:/sbin/rc sysinit
rc::bootwait:/sbin/rc boot
l0:0:wait:/sbin/rc shutdown
l0s:0:wait:/sbin/halt -dhp
l1:1:wait:/sbin/rc single
l2:2:wait:/sbin/rc nonetwork
l3:3:wait:/sbin/rc default
l4:4:wait:/sbin/rc default
l5:5:wait:/sbin/rc default
l6:6:wait:/sbin/rc reboot
l6r:6:wait:/sbin/reboot -dk
su0:S:wait:/sbin/rc single
su1:S:wait:/sbin/sulogin
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty -L -n -l /usr/local/sbin/autologin 38400 tty6 linux
ca:12345:ctrlaltdel:/sbin/shutdown -r now
x:a:once:/etc/X11/startDM.shКод: Выделить всё
# cat /usr/local/sbin/autologin
#!/bin/sh
MAINAPP="true" /bin/login -f -p artemКод: Выделить всё
# grep -v export /home/artem/.bash_profile
#!/bin/sh
if [ "$MAINAPP" == "true" ]; then
startx
logout
fi-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Запустить "голые" Х-ы
А зачем занимать консоль под логи? Это же неудобно, лучше в файл скидывать.
Мои розовые очки
-
Poor Fred
- Сообщения: 1575
- Статус: Pygoscelis papua
- ОС: Gentoo Linux, FreeBSD
Re: Запустить "голые" Х-ы
Я что-то неправильно, похоже, делаю. Пишу в .Xsession:
И ничего не происходит. Вернее, Х-ы запускаются с черным экраном, а mplayer запускается где-то в другом месте.
Не подскажете, что за ерунда?
Код: Выделить всё
exec /usr/bin/mplayer video/tech_support.wmvИ ничего не происходит. Вернее, Х-ы запускаются с черным экраном, а mplayer запускается где-то в другом месте.
Убить всех человеков!
-
neol
- Сообщения: 600
- ОС: Debian Stable