Мне нужно, чтобы учителя заполняли электронные регистры в отдаленных районах, и они должны уметь делать это быстро и с наименьшими усилиями. Для этого я установил нетбуки с «ванильной» установкой Debian 6, на которой не было ничего, кроме rdesktop. Нетбук автоматически входит в систему (через / etc / inittab), а затем я использую .profile файлы .bashrc в домашнем каталоге пользователя, чтобы перезапустить сеть (чтобы исправить ошибку dhcp), запустить startx для оконного сервера, а затем запустить rdesktop в терминальный сервер взять реестр. Это работает безупречно, и учитель получает свой реестр менее чем за 30 секунд.
Я бы хотел, чтобы при закрытии rdesktop (выходе из терминального сервера) ноутбук выключился, но пока не удалось. Изначально я пытался просто добавить команду выключения в следующую строку скрипта, но по какой-то необъяснимой причине скрипт, похоже, вышел из строя, и машина выключается до запуска rdesktop. Я думаю, это потому, что rdesktop «разветвляется». Есть ли способ дождаться завершения работы rdesktop до того, как остальная часть скрипта запустится?
Я уже пробовал: спать перед выключением ждать перед выключением
Я знаю, как я могу сделать это в файле visual basic / vbscript / batch, но я новичок в Linux и начинаю думать, что упускаю очевидное или веду себя глупо!
Мои файлы следующие:
/home/user/.profile:
sudo dhclient
startx -- :1
/home/user/.bashrc:
rdesktop -u "" -k en-gb -f servername
(Отсутствие имени пользователя является преднамеренным, поскольку из-за этого терминальный сервер не заполняет имя пользователя для входа в систему с помощью имени пользователя нетбука в Linux)
На самом деле может происходить то, что .bashrc
выполняется больше, чем вы думаете.
Если он запущен и нет X-экрана или переменной DISPLAY, rdesktop завершится ошибкой, и затем будет выполнено завершение работы. Исправление @dimmer должно справиться с этим, хотя есть более чистый способ.
Он должен работать, если вы поместите команду выключения после startx
команду и поставить rdesktop
команда в пользователе .xinitrc
. Это может быть немного чище и надежнее. Попробуйте сами.
Вы пробовали это:
/home/user/.bashrc
rdesktop -u "" -k en-gb -f servername && sudo shutdown -h now