Настраиваем процесс входа в систему на десктопе с Linux
prolinux
Операционные системы с Linux в качестве ядра очень часто используются на домашних компьютерах. В этом обзоре я хочу поделиться одним довольно простым лайфхаком. Речь пойдёт о начальной настройке операционной системы на базе Linux на десктопе и, в частности, о изменении порядка загрузки пользовательской сессии в графическом режиме при включении или перезагрузке компьютера. Как известно, пользовательская сессия таких операционных систем защищена паролем, но, работая в графическом режиме, мы вольны выбирать, когда и как будет запрошен пароль у пользователя. Сейчас расскажу как...
Вникаем в суть проблемы
Каждый пользователь компьютера со стационарным HDD знает, как долго машина может загружаться. Иногда мы просто включаем компьютер и идём на пару минут заниматься другими повседневными мелкими делами, которые можно решить за эти пару минут. А вернувшись к компьютеру обнаруживаем вместо готового к использованию графического рабочего стола всего лишь окно менеджера входа с требованием ввести логин и пароль. Увы, после ввода собственных идентификаторов нам опять приходится ждать, пока загрузится графическое окружение рабочего стола.
Менеджер входа можно настроить соответствующим образом, чтобы логин и пароль не запрашивались при входе, но в этом случае, пока мы ходим, наш рабочий стол и документы на нём доступны всем ветрам. Дома, где нет случайных людей, это допустимо, но мы не всегда оказываемся дома.
Сейчас я расскажу, как сделать процесс загрузки полным и непрерывным, но при этом защитить рабочую сессию всё теми же логином и паролем, но только их ввод перенести в порядке следования процесса загрузки, чтобы после ввода ничего уже не ждать, а садиться и работать.
Настоящий лайфхак актуален и действителен для пользователей операционных систем с Linux на борту, в которых в качестве менеджера входа используется программа LightDM. На моём компьютере, например, установлен Debian sid с рабочим столом LXDE, в текущем стабильном релизе (bookworm) описанный рецепт тоже будет работать. Приступим...
Настраиваем автоматический вход пользователя
Поскольку компьютер, о котором идёт речь в этом описании, является персональным, мы можем настроить соответствующим образом менеджер входа - LightDM, то есть автоматический вход уже на стадии загрузки определённого пользователя, указанного в настройках менеджера.
Где LightDM хранит актуальные настройки, можно посмотреть следующей командой.
$ sudo lightdm --show-config
На моей системе эта команда выхлопывает на терминал следующий текст:
[Seat:*]
A greeter-session=lightdm-greeter
A greeter-hide-users=true
A session-wrapper=/etc/X11/Xsession
Sources:
A /usr/share/lightdm/lightdm.conf.d/01_debian.conf
B /etc/lightdm/lightdm.conf
Из этого выхлопа видно, что настройки хранятся в двух адресах. Первый обозначен литерой A
, второй - B
. Первый адрес я буду править. В этот файл я должен вписать пару строчек и, в том числе, указать имя пользователя, который будет осуществлять автоматический вход в систему без ввода идентификаторов. Имя пользователя можно уточнить командой whoami, вот что она показывает в моём терминале.
$ whoami
jazz
Отлично... Имя пользователя мне известно. Достаточно открыть файл, указанный в адресе A
, и отредактировать его. Открыть файл одного из системных каталогов с возможностью редактирования можно с использованием программы sudo и любого консольного текстового редактора. Я буду использовать Vim, можно использовать Nano или любой другой подобный.
$ sudo vim /usr/share/lightdm/lightdm.conf.d/01_debian.conf
В самый конец этого файла вписываю две дополнительные строчки следующего содержания:
autologin-user=jazz
autologin-user-timeout=0
В первой строчке в качестве значения я указал имя пользователя, которое мне показала программа whoami. Сохраняю изменения в файл.
Теперь текстовый редактор можно покинуть и для проверки настроек перезагрузить машину. Компьютер загрузится без запроса логина и пароля, и мы сразу попадаем на готовый к работе графический рабочий стол.
Защищаем графическую рабочую сессию паролем
У каждого графического рабочего стола есть список так называемой автозагрузки, в нём указаны программы, которые автоматически запускаются на стадии загрузки рабочего стола. На моей системе установлено графическое окружение LXDE.
Заблокировать текущую рабочую сессию можно при помощи программы XScreenSaver, установить её в систему можно такой командой:
$ sudo apt install xscreensaver
В составе этой программы есть программа-блокировщик рабочего стола. Её вызов следует положить в список автозагрузки графической сессии LXDE, для этого открываю всё в том же текстовом редакторе следующий файл.
vim .config/lxsession/LXDE/autostart
Этот файл и каталог, в котором он хранится, принадлежат текущему пользователю системы, и поэтому в команде отсутствует вызов sudo.
В любом месте этого файла, можно в начало, можно в конец, дописываю следующие пару строчек:
@xscreensaver -no-splash
@xscreensaver-command -lock
Сохраняю изменения в файл и покидаю текстовый редактор. Всё, рабочий стол защищён паролем, после перезагрузки компьютер выйдет на рабочий стол, а xscreensaver автоматически заблокирует экран, и когда вы вернётесь с чаем (или кофе), вы увидите на экране компьютера картинку хранителя экрана, подвигаете курсором мыши, или нажмёте любую клавишу на клавиатуре, и обнаружите запрос на ввод пароля.
А после ввода пароля не нужно будет ничего ждать, рабочий стол уже загружен и готов к работе. Таким образом разрыв в процессе загрузки компьютера устранён, при этом рабочий стол закрыт паролем, и злоумышленник, если получит доступ к вашей машине, пока вы наливаете себе чай, останется неудовлетворённым. Задача решена.
Выводы и умозаключения
Разрыв в процессе загрузки компьютера на ввод логина и пароля можно исключить, при этом паролем нужно защитить рабочий стол, если к компьютеру есть доступ посторонних людей. С такой блокировкой великолепно справляется программа XScreenSaver и соответствующая команда в списке автозагрузки графической сессии рабочего стола.
Продемонстрированный процесс настройки актуален для систем начиная с Debian bookworm и рабочим столом LXDE, будет ли этот вариант работать на системах более ранних выпусков я не знаю.