Действительно ли возможно добавить профиль GRUB, чтобы автовойти в пользователя и запустить сценарий (15.10)?

У меня есть 15,10 машин на 64 бита с многопользовательскими учетными записями.
Обычно, я выбираю Ubuntu в GRUB, она загружает и показывает мне экран входа в систему, я выбираю учетную запись, ввожу пароль и запускаю мои приложения.

Это в порядке и должно остаться тот путь, но я хотел бы иметь другую опцию в меню GRUB:

Если я выбираю тот, он должен загрузить ту же установку Ubuntu, но автоматически войти в одну определенную учетную запись пользователя (который защищенный паролем), и запустите сценарий, который не может быть запущен, если я обычно вхожу в систему.
Поскольку автовход в систему обходит пароль учетной записи, я также любил бы к паролю, защищают этот параметр загрузки GRUB, так, чтобы я ввел свой пароль (или другой) в GRUB, прежде чем он загрузит этот сингл опции.

Действительно ли возможно настроить что-то вроде этого? Как я должен был бы сделать это?

1
задан 30 January 2017 в 15:19

1 ответ

Происходящая работа

Это может быть выполнено при помощи:

  1. пользовательское X сессий, которые запускают основной менеджер окон и запускают скрипт
  2. пользовательская конфигурация для LightDM, который будет автовходить в Вашего пользователя и использовать вышеупомянутую сессию
  3. служба поддержки для LightDM, который будет использовать вышеупомянутую конфигурацию
  4. соответствующие параметры ядра, чтобы отключить нормальный сервис LightDM и запустить пользовательский
  5. Конфигурация GRUB для автоматического создания записей с вышеупомянутыми параметрами, с защитой паролем

Для этого примера я покажу, как установить режим киоска с помощью Google Chrome.

Сценарий

#! /bin/sh
metacity &
while true
do 
    google-chrome --start-maximized
    if zenity --question --text='Do you want to logout?' --title='Logout'
    then
        exit
    fi
done

Сохраните его в, скажите /usr/local/bin/chrome-kiosk.sh, сделайте это исполняемым файлом. Обратите внимание, что я использую metacity для простого менеджера окон, который предоставляет мне осуществимую установку без дальнейшей конфигурации.

X сессий

[Desktop Entry]
Name=Chrome
Comment=This session logs runs a Google Chrome kiosk
Exec=/usr/local/bin/chrome-kiosk.sh
Icon=google-chrome
Type=Application
X-LightDM-DesktopName=Chrome

Сохраните его в /usr/share/xsessions/chrome.desktop. Если Вы используете другой сценарий, изменяетесь, по крайней мере, Exec выровняйте соответственно.

Конфигурация LightDM

[Seat:*]
autologin-guest=false
autologin-user=username
autologin-user-timeout=0
autologin-session=chrome

Сохраните его как /etc/lightdm/autologin-lightdm.conf. Замена username с Вашим именем требуемого пользователя.

Услуги LightDM

systemctl cat lightdm.service | 
  sed '/ExecStart/s/$/ --config=/etc/lightdm/autologin-lightdm.conf' |
  sudo tee /etc/systemd/system/autologin-lightdm.service

Это создает пользовательскую копию значения по умолчанию lightdm.service именованный autologin-lightdm.service в /etc/systemd/system, с ExecStart строка, измененная на:

ExecStart=/usr/sbin/lightdm --config /etc/lightdm/autologin-lightdm.conf

Параматери ядра

Проверять это, в меню GRUB, e нажатия для редактирования записи Ubuntu. Найдите linux строка, и добавляет:

systemd.mask=display-manager.service systemd.wants=autologin-lightdm.service

(Можно опустить .service расширения.)

Нажмите CtrlX. Вы должны быть зарегистрированы в пользователя и иметь максимизируемое окно Google Chrome.

Конфигурация GRUB

TBD.

2
ответ дан 7 December 2019 в 13:51

Другие вопросы по тегам:

Похожие вопросы: