В общем решил написать известные мне способы автологина.
Способ с ArchWiki
Vеняем в файле /etc/inittab в строке id:3:initdefault: тройку на пятерку и добавляем в конце файла строку (сие меняет ранлевел с третьего на пятый, хотя можно просто в загрузчике параметром в ядру указать цифру 5)
x:5:once:/bin/su LOGIN -l -c "/bin/bash --login -c startx >/dev/null 2>/dev/null"
Вместо startx у вас может быть любая программа или скрипт, который вы желаете запускать.
Способ с заменой agetty (я использую именно это)
А менять будем на mingetty, для начала установив его yaourt -S mingetty
И меняем в /etc/inittab строку
c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux
наc1:2345:respawn:/sbin/mingetty --autologin LOGIN tty1 linux
Что на первой консоли будет запускать автологин, так же можно сделать автологин в любой консоли.
up: с выходом util-linux 2.20 agetty получил возможность автологина из mingetty, так что последний ныне не нужен...
Ещё один способ c заменой
Программа на C
#include <unistd.h>
int main() {
execlp( "login", "login", "-f", "LOGIN", 0);
}
Компилируемgcc -o имя_будушего_бинарника имя_файла_с_исходником
и заменяем agetty на agetty -n -l путь_к_скомпилированной_программе. Получается что-то вроде c1:2345:respawn:/sbin/agetty -n -l /usr/bin/autologin 38400 tty1 linux
или поместить эту программу как запускаемую в пятом ранлевеле
Ну а если есть желание в последних двух способах автоматом запускать иксы то в случае с zsh прописываем в файл $ZDOTDIR/.zlogin
if [[ -z "$DISPLAY" && $(tty) = /dev/tty1 ]]; then
startx
logout
fi
Или если вы используете bash то прописываем тоже самое но в файле ~/.bash_login
Так же в жуйке когда я менял один dm на другой посоветовали nodm — дисплей менеджер который ничего не умеет кроме как автоматом запустить иксы от определенного пользователя.
Если кто ещё знает какие способы автологина, то просьба поделиться
UP У дисплей манагера slim тоже имеется возможность автологина (опция auto_login yes и секция default_user)Спасибо sg
UP2 обновил информацию о mingetty (теперь «стандартный» agetty умеет автологин)