LINUX.ORG.RU

Не работает автовход в сессию X без дисплейного менеджера в Debian 9

 , , , ,


0

2

Доброго времени суток всем!

Собственно, сабж.

Вхожу в сессию иксов — в файле ~/.bashrc, в конце добавил:

if [ -z "$DISPLAY" ] && [ -n "$XDG_VTNR" ] && [ "$XDG_VTNR" -eq 1 ]; then
  exec startx
fi

Ввожу логин-пароль, все нормально. Решил использовать автовход. Сделал как написано в арчвики:

systemctl edit getty@tty1
Добавил:
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin user --noclear %I $TERM

Сохранилось это все в /etc/systemd/system/getty@tty1.service.d/override.conf.

После загрузки черный экран с мигающим курсором.

С другой виртуальной консоли:

user@a-one:~# sudo systemctl status getty@tty1.service
...
● getty@tty1.service - Getty on tty1
   Loaded: loaded (/lib/systemd/system/getty@.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/getty@tty1.service.d
           └─override.conf
   Active: failed (Result: start-limit-hit) since Wed 2017-02-22 22:28:54 MSK; 1min 29s ago
     Docs: man:agetty(8)
           man:systemd-getty-generator(8)
           http://0pointer.de/blog/projects/serial-console.html
 Main PID: 559 (code=exited, status=203/EXEC)

Feb 22 22:28:54 a-one systemd[1]: getty@tty1.service: Service has no hold-off time, scheduling re
Feb 22 22:28:54 a-one systemd[1]: Stopped Getty on tty1.
Feb 22 22:28:54 a-one systemd[1]: getty@tty1.service: Start request repeated too quickly.
Feb 22 22:28:54 a-one systemd[1]: Failed to start Getty on tty1.
Feb 22 22:28:54 a-one systemd[1]: getty@tty1.service: Unit entered failed state.
Feb 22 22:28:54 a-one systemd[1]: getty@tty1.service: Failed with result 'start-limit-hit'.
user@a-one:~# systemctl --version
systemd 232
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN

Подскажите, кто знает, как решить проблему. Заранее всем спасибо!

Не работает автовход в сессию X без дисплейного менеджера в Debian 9

Подскажите, кто знает, как решить проблему. Заранее всем спасибо!

Поставить вместо дебилян нормальную ОС. Заранее пожалуйста.

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

Неплохая попытка. Попробуйте потоньше, пожалуйста.

mad_austronaut ★★★★
() автор топика

То же помню ковырялся с tty1, какая проблема не помню, но плюнул и сделал автовход с tty2.

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

Держать ФМ только ради манипуляции с файлами это тоже оверхед? Ведь есть mv/cp/rm/touch/etc

Dron ★★★★★
()
Ответ на: комментарий от mandala
user@a-one:~# sudo systemctl status getty@tty1
...
● getty@tty1.service - Getty on tty1
   Loaded: loaded (/lib/systemd/system/getty@.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/getty@tty1.service.d
           └─override.conf
   Active: failed (Result: start-limit-hit) since Wed 2017-02-22 23:18:05 MSK; 1min 27s ago
     Docs: man:agetty(8)
           man:systemd-getty-generator(8)
           http://0pointer.de/blog/projects/serial-console.html
 Main PID: 546 (code=exited, status=203/EXEC)

Feb 22 23:18:05 a-one systemd[1]: getty@tty1.service: Service has no hold-off time, scheduling re
Feb 22 23:18:05 a-one systemd[1]: Stopped Getty on tty1.
Feb 22 23:18:05 a-one systemd[1]: getty@tty1.service: Start request repeated too quickly.
Feb 22 23:18:05 a-one systemd[1]: Failed to start Getty on tty1.
Feb 22 23:18:05 a-one systemd[1]: getty@tty1.service: Unit entered failed state.
Feb 22 23:18:05 a-one systemd[1]: getty@tty1.service: Failed with result 'start-limit-hit'.
mad_austronaut ★★★★
() автор топика
Ответ на: комментарий от mad_austronaut

Сначала выполни

sudo systemctl set-default multi-user.target

Покажи ~/.xinitrc

Попробуй закомментировать изменения в ~/.bashrc касающиеся исксов и просто проверь автологин.

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

Все, разобрался.

Нашел ответ у наших японских друзей:

$ sudo mkdir /etc/systemd/system/getty@tty1.service.d
$ sudo vi /etc/systemd/system/getty@tty1.service.d/autologin.conf
...
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin user --noclear %I 38400 linux

Всем спасибо!

mad_austronaut ★★★★
() автор топика

автоматизирую иксы немного по другому, добавляю нижней строкой в ~/.profile

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
ну и случайно наткнулся на такое - если добавить эту строчку в /etc/profile тогда система начинает стартовать без всяких запросов логин пароль, а пользователь будет наделен супер мега правами root или даже круче, так как домашней дирректорией станет /

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

костыльно же. А если захочется в иксы смотретть, пока первые tty заняты?

[ -z $(pgrep X) ] && xinit ~/.xinitrc

Очень просто и логично. Таким методом пользуюсь давно, никаких проблем.

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

Да, сначала тоже такой строчкой стартовал иксы. Добавил ее в ~/.bashrc пользователя.

а пользователь будет наделен супер мега правами root или даже круче, так как домашней дирректорией станет /

Это таких дел можно натворить, только шляпу держи. Ну зато автологин-автовход работает.

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

Ну зато автологин-автовход работает.

Сделай хард-ресет (sync сделай предварительно). Работает?

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

Все наладил. Работает.

Да я тебе про другую возможную проблему.

arson ★★★★★
()

делать автозапуск иксов в bashrc через консольный автологин при наличии systemd - типичный арч ;)
делай всё правильно так:
systemctl edit xorg@.service

[Unit]
Description=Xorg on %I
After=systemd-user-sessions.service

Conflicts=getty@%i.service
After=getty@%i.service

[Service]
User=ПОЛЬЗОВАТЕЛЬ
PAMName=login

StandardOutput=tty
StandardInput=tty-fail

ExecStart=/usr/bin/xinit -- /usr/bin/X -quiet -nolisten tcp :0 vt${XDG_VTNR}
Type=simple
Restart=always
RestartSec=0
UtmpIdentifier=:0
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
IgnoreSIGPIPE=no

WorkingDirectory=/home/ПОЛЬЗОВАТЕЛЬ

[Install]
WantedBy=multi-user.target

systemctl enable xorg@.service

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

А, не, я прав, зря удалил сообщение, это баш.

mandala ~ $ [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
mandala ~ $ sh
$ [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
sh: 1: [[: not found
$ 
mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от anonymous

как это работает?

как нагуглено - так и работает, либо slim - который автоматом все подхватит, либо добавить в ~/.profile

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
вот тут https://sites.google.com/site/amdamdsoft/Home/dedian-jwm небольшая инструкция по этому действию

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

У анона не отработал «башизм», вот он и спрашивал. По хорошему стоило бы это место переписать.

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

Да, поствить Debian jessie и из тестинга ставить по необходимости. Сам сижу на тестинге сейчас и оно очень сломано. Я бы даже подождал после релиза стретча ещё немного, да.

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

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

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

Да, поствить Debian jessie и из тестинга ставить по необходимости. Сам сижу на тестинге сейчас и оно очень сломано. Я бы даже подождал после релиза стретча ещё немного, да.

Съешь ещё этих зеленых колючих кактусов, да стрельни себе в ногу.

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

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

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