Настраиваем процесс входа в систему на десктопе

prolinux

Опубликован:  2023-06-20T04:40:26.953719Z
Отредактирован:  2023-06-20T04:40:26.953719Z
Статус:  публичный
51
0
0

Привет, Интернет... Хочу поделиться одним простеньким лайфхаком, речь пойдёт о настройке операционной системы с ядром 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
newbie

Отлично... Имя пользователя мне известно, теперь необходимо открыть файл, указанный в адресе A и отредактировать его. Открыть файл одного из системных каталогов с возможностью редактирования можно с использованием программы sudo и любого консольного текстового редактора, я буду использовать Vim, можно использовать Nano или любой другой.

$ sudo vim /usr/share/lightdm/lightdm.conf.d/01_debian.conf

В самый конец этого файла вписываю две дополнительные строчки следующего содержания:

autologin-user=newbie
autologin-user-timeout=0

В первой строчке в качестве значения я указал имя пользователя, которое мне показала программа whoami. Сохраняю изменения в файл.

lwFH2xfHXL.png

Теперь текстовый редактор можно покинуть и для проверки настроек перезагрузить машину, компьютер загрузится без запроса логина и пароля на графический рабочий стол.

Защищаем графическую рабочую сессию паролем

У каждого графического рабочего стола есть список так называемой автозагрузки, в нём указаны программы, которые автоматически запускаются на стадии загрузки рабочего стола. На моей системе установлено графическое окружение LXDE.

Заблокировать текущую рабочую сессию можно при помощи программы XScreenSaver, установить её в систему можно такой командой:

$ sudo apt install xscreensaver

В составе этой программы есть программа-блокировщик рабочего стола, её вызов следует положить в список автозагрузки графической сессии LXDE, для этого открываю всё в том же текстовом редакторе следующий файл.

vim .config/lxsession/LXDE/autostart

В любом месте этого файла, можно в начало, можно в конец, дописываю следующие пару строчек:

@xscreensaver -no-splash
@xscreensaver-command -lock

Сохраняю изменения в файл и покидаю текстовый редактор. Всё, рабочий стол защищён паролем, после перезагрузки компьютер выйдет на рабочий стол, а xscreensaver автоматически заблокирует экран, и когда вы вернётесь с чаем (или кофе), вы увидите на экране компьютера картинку хранителя экрана, подвигаете курсором мыши, или нажмёте любую клавишу на клавиатуре, и обнаружите запрос на ввод пароля.

Gd6FTfclIW.png

А уж после ввода пароля не нужно будет ничего ждать, рабочий стол уже загружен и готов к работе. Таким образом разрыв в процессе загрузки компьютера устранён, при этом рабочий стол закрыт паролем, и злоумышленник, если получит доступ к вашей машине, пока вы наливаете себе чай, останется неудовлетворённым. Задача решена.

Выводы и умозаключения

Разрыв в процессе загрузки компьютера на ввод логина и пароля можно исключить, при этом паролем нужно защитить рабочий стол, если к компьютеру есть доступ посторонних людей. С такой блокировкой великолепно справляется программа XScreenSaver и соответствующая команда в списке автозагрузки графической сессии рабочего стола.

Продемонстрированный процесс настройки актуален для систем начиная с Debian bookworm и рабочим столом LXDE, на системах более ранних выпусков я не знаю, будет ли этот вариант работать.