Назад | Перейти на главную страницу

Получать ввод пользователя при запуске

У меня есть сценарий, который мне нужно запустить после установки при первой загрузке, который запрашивает у пользователя имя хоста и устанавливает новое имя хоста. Как лучше всего это сделать? Прямо сейчас я делаю это так:

rc.local

openvt -s -w /opt/post_install_script

post_install_script:

#!/bin/bash

NEW_HOSTNAME="$1"
echo -n "Please enter new hostname: "
read NEW_HOSTNAME < /dev/tty
doing other stuff..

Он работает нормально на Ubuntu 12, но не ждите ввода пользователя и продолжайте загрузку на Ubuntu 16.

Я читал о systemd systemd-ask-password, но он тоже не работает.

Любые идеи?

Создать файл /etc/systemd/system/renamepc.service:

[Unit]
Description=Hostname configuration
DefaultDependencies=no
Before=nss-user-lookup.target

[Service]
Type=oneshot
ExecStart=/opt/script

[Install]
WantedBy=multi-user.target

Создать файл / opt / скрипт:

#!/bin/bash       
NEW_HOSTNAME=$(systemd-ask-password "Please enter new hostname: " --echo)
change hostname code...    

Изменить разрешение скрипта chmod u + x / opt / test