Выскочка: примите, что ввод данных пользователем переключает xorg.conf

Я пытаюсь получить сценарий запуска, требующий ввода данных пользователем, работающего, прежде чем gdm запустится (сценарий должен позволить мне выбирать из списка xorg.conf's тот, который я хотел бы использовать для текущей сессии).

Уже испытанное создание pregdm.conf в/etc/init, содержа:

start on filesystem
stop on runlevels [06]
#  ...
console output

script
  # script that uses read to gather user input and replaces xorg.conf with the selected one
end script

и изменение start on в/etc/init/gdm.conf к:

start on (filesystem
          and started dbus
          and started pregdm
          and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
               or stopped udevtrigger))

Echos отображены в консоли, но я не могу заставить ее ожидать ввода данных пользователем: gdm немедленно запускается.

Какие-либо указатели?

Большое спасибо

0
задан 15.02.2011, 16:07

1 ответ

Выскочка не предназначается для интерактивного использования.

Вероятно, что стандартный вход для Вашего сценария перенаправляется далеко от Вас. Вы могли попытаться использовать другой дескриптор файла.

#!/bin/bash
exec 3<&0
read -u 3 -p "Choose one: " input
exec 3<&-

Вот полный демонстрационный сценарий, который показывает вход, прибывающий из файла и от пользователя:

#!/bin/bash
exec 3<&0
while read -r line
do
    read -r -p "$line " -u 3 input
    echo "$line/$input"
done < inputfile

Если Вы используете оболочку, которая не имеет -u опция для чтения:

read input <&3
1
ответ дан 24.11.2019, 12:08

Теги

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