Сегодня спросили как в ArchLinux сделать автологин без запуска иксов, я задумался — но быстро вспомнил что у меня у самого уже 4 дня как автологин правда с запуском иксов. Странно что я об этом так быстро забыл.
В общем решил написать известные мне способы автологина.
Способ с 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 умеет автологин)