INT 21h

Домашняя страница самого страшного прерывания

Raspberry Pi: Запуск tmux вместо логина на tty1

№ 5111 В разделе "Администрирование" от April 5th, 2013,

У меня стоит на Raspberry Pi дистрибутив Arch Linux. Если у вас Debian, то действия будут немного отличаться, но принцип один и тот же.

Итак, задача такая: малинка включается, загружается и вместо запроса логина должен появиться tmux с рутовой консолью. В Arch Linux сейчас используется systemd вместо нормальных скриптов, поэтому открывайте файл /etc/systemd/system/getty.target.wants/getty@tty1.service для редактирования. Если вы не хотите, чтобы первое же обновление systemd затерло конфиг, то сделайте копию этого файла и замените им симлинк на /usr/lib/systemd/system/getty@.service.

Чтобы tmux запустился надо добавить к agetty всего 2 параметра: -n и -l. Параметр -l указывает на программу, которая будет запущена вместо программы входа. Грабля в том, что без -n (отключение входа под юзером) эта программа не запустится :)

ExecStart=/sbin/agetty -n -l /usr/bin/tmux --noclear %I 38400 linux

А теперь нужно закомментировать строку обнуляющую Environment, чтобы запущеный mc не был похож на говно.

#Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=

Заметка от читателя Пауль о Pedora:

Этот фокус в описанном варианте проходит на некоторых системах, а на Fedora – нет!
Дело в том, что Fedora-Pi по непонятной причине не опрашивает каталог /etc/systemd/system/getty.target.wants/ и не реагирует на помещенный в этот каталог файл getty@tty1.service с нужным нам содержанием. Несколько дней убил на разгадку этой таинственной проблемы, совершенно уверенный в правоте исходной рекомендации. Тем более что она (рекомендация) совпадает с воззрениями Lennart-а Poettering-а, автора systemd (стр. 42)

Решение:
Скопировал getty@.service в файл с именем getty@tty1.service в том же каталоге /usr/lib/systemd/system, подправил его как надо, и все заработало.

Например, вместо строки
ExecStart=-/sbin/agetty --noclear %I 38400
ввел строку
ExecStart=-/sbin/agetty -n -l /usr/bin/bash --noclear %I 38400

Теперь на первом терминале вместо login/password сразу идет приглашение к диалогу с правами root и корневым каталогом (/) в качестве текущего.

Еще одно дополнение, если кому интересно: agetty может не только выполнить любую программу вместо login, но и передать ей необходимые параметры. Для этого служит ключ --login-options:
ExecStart=-/sbin/agetty -n -l /usr/bin/bash --login-options "/home/paul/exec.bat" --noclear %I 38400
При этом сам параметр (список параметров) заключается в двойные кавычки “”.
Наконец, agetty позволяет перед вызовом программы перейти в нужный нам рабочий каталог с помощью ключа --chdir:
ExecStart=-/sbin/agetty --chdir /home/paul -n -l /usr/bin/bash --login-options "exec.bat" --noclear %I 38400
Обратите внимание: теперь уже не обязательно указывать полное путевое имя исполняемого файла exec.bat, поскольку после перехода по ключу --chdir он окажется в текущем каталоге.

Если вам интересно почитать как подключить Raspberry Pi к вашему телевизору.

3 комментариев »

3 комментариев »

Comment by Пауль | August 24, 2015 @ 10:52:50

Этот фокус в описанном варианте проходит на некоторых системах, а на Fedora – нет!
Дело в том, что Fedora-Pi по непонятной причине не опрашивает каталог /etc/systemd/system/getty.target.wants/ и не реагирует на помещенный в этот каталог файл getty@tty1.service с нужным нам содержанием. Несколько дней убил на разгадку этой таинственной проблемы, совершенно уверенный в правоте исходной рекомендации. Тем более что она (рекомендация) совпадает с воззрениями Lennart-а Poettering-а, автора systemd (http://www2.kangran.su/~nnz/pub/s4a/s4a_latest.pdf стр. 42)

Решение:
Скопировал getty@.service в файл с именем getty@tty1.service в том же каталоге /usr/lib/systemd/system, подправил его как надо, и все заработало.

Например, вместо строки
ExecStart=-/sbin/agetty –noclear %I 38400
ввел строку
ExecStart=-/sbin/agetty -n -l /usr/bin/bash –noclear %I 38400

Теперь на первом терминале вместо login/password сразу идет приглашение к диалогу с правами root и корневым каталогом (/) в качестве текущего.

Comment by 21h | August 24, 2015 @ 11:35:11

ну федора отличается от дебиана и довольно сильно. добавил твое решение в запись чтоб не потерялось.

Comment by Пауль | August 24, 2015 @ 17:10:49

Еще одно дополнение, если кому интересно: agetty может не только выполнить любую программу вместо login, но и передать ей необходимые параметры. Для этого служит ключ –login-options:
ExecStart=-/sbin/agetty -n -l /usr/bin/bash –login-options “/home/paul/exec.bat” –noclear %I 38400
При этом сам параметр (список параметров) заключается в двойные кавычки “”.
Наконец, agetty позволяет перед вызовом программы перейти в нужный нам рабочий каталог с помощью ключа –chdir:
ExecStart=-/sbin/agetty –chdir /home/paul -n -l /usr/bin/bash –login-options “exec.bat” –noclear %I 38400
Обратите внимание: теперь уже не обязательно указывать полное путевое имя исполняемого файла exec.bat, поскольку после перехода по ключу –chdir он окажется в текущем каталоге.

Форма отправки комментария

CAPTCHA
*

Разрешенные HTML-теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

RSS RSS Feed только для этого поста |


Комментарии
  • Игорь: Все настроил, еще раз просмотрел видео и методом научного тыка все настроил и сохранил, все работает и обе...
  • 21h: Здравствуйте, Игорь! Я не знаю :) Думаю аналогично согласно инструкции к вашей радиостанции.
  • Игорь: Добрый день, просмотрел Ваше видео все доступно и ясно для 8 ми канальных радеек, но мне нада настроить 69...
  • Гоги: Есть инструкция к Моторолкам – она подходит к серии Motorola TLKR T4… Т8. В конце сетка частот и...
  • 21h: торчок давно уже не обновлял, как только закрыл сайт где он работал. да, это морда для opentracker. без...
  • Buter: Какова дальнейшая жизнь торчка? Он кстати веб-интерфейсом для OpenTracker выступает? Без OpenTracker работать...
  • 21h: понятия не имею. гуглите инструкцию к вашей радейке и сверяйтесь с ней.
  • Денис: хочу их подружить с uv5r
  • Денис: t-388 walkie talkie на эти шпаргалочек нет,или как приминить ваши к их настройке?
  • John: Стекла для электроник – техночас.ру