Это зависит от того, что делает DHCP?
Большинство домашних маршрутизаторов использует dnsmasq, и можно использовать это в качестве локального сервера DNS. Просто необходимо установить dnsmasq для возврата себя как сервер DNS. Затем, необходимо удостовериться, что ПК широковещательно передают имя хоста во время запроса DHCP.
Затем вуаля, необходимо смочь разрешить все локальные машины через сервер DNS/DHCP.
В зависимости от того, что Вы хотите выполнить, Вы могли настроить avahi, который может широковещательно передать существование sshd сервиса на Вашу машину. Будьте осторожны во 'внешних' сетях хотя...
Я часто задавался вопросом об этом, и я пытался создать сценарий как это в/etc/sysconfig/network-scripts/update-hosts:-
#!/bin/sh
set -e
if [ "$IFACE" = lo ]; then
exit 0
fi
SHORT_HOST=`hostname`
# Remove current line with hostname at the end of line
sed -i '/'$SHORT_HOST'$/ d' /etc/hosts
ipaddr=$(ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
echo "$ipaddr $SHORT_HOST" >>/etc/hosts
У меня затем был бы выполненным с помощью init сценария/etc/init.d/updatehosts:-
#!/bin/sh
# chkconfig: 2345 11 89
# description: automatically update /etc/hosts
#
if [ ! -x /etc/sysconfig/network-scripts/update-hosts ]
then
echo "Update hosts: can't update hosts file"
exit
fi
case "$1" in
'start')
# Update hosts:
cp /etc/hosts /etc/hosts.001
/etc/sysconfig/network-scripts/update-hosts
echo "/etc/hosts updated"
;;
'stop')
# Restore hosts:
cp /etc/hosts.001 /etc/hosts
echo "/etc/hosts restored"
;;
esac
включенное использование chkconfig - добавляет updatehosts
Кто-либо может рекомендовать лучший путь или улучшения этого метода?
stty
не имеет значения. Аппаратная линейная скорость, набор через линейную дисциплину, не имеет значения для виртуального терминала, если она ненулевая. Он имеет значение только для «терминалов», которые формируются с фактическими последовательными устройствами, потому что он управляет скоростью линии последовательного устройства. В встроенном эмуляторе терминала ядра нет последовательного устройства.
ywrap
не является панацеей. Дисплей аппаратные механизмы, такие как те, которые включены ywrap
, могут помочь эмулятору терминала только с (почти) полноразмерной прокруткой по ширине.
По понятным причинам эмулятор терминала не может использовать такие аппаратные механизмы вообще , если он поддерживает левое и правое поля, и, таким образом, действия прокрутки не прокручивают всю ширину строки. Встроенный эмулятор терминала ядра Linux не поддерживает управляющую последовательность DECSLRM («DEC Set Left and Right Margins») (или что-либо подобное), однако, поэтому частичная прокрутка строк здесь не вызывает беспокойства.
Но прокрутка по частичной высоте выполняется. Встроенный эмулятор терминала ядра Linux поддерживает последовательность управления DECSTBM («DEC Набора Top and Bottom Margins»), которая позволяет приложениям устанавливать первую и последнюю строки на экране для участия в прокрутке. Эта последовательность управления правильно указана как change _ scroll _ region
в записи linux
terminfo. Использование таких областей прокрутки действительно довольно распространено в полноэкранных приложениях TUI. Например, vim
использует их при прокрутке окон полной ширины.
Драйвер fbcon
ядра Linux использует механизм ywrap
только в том случае, если более трех четвертей всего изображения экрана сохраняется и перемещается действием прокрутки. Это связано с тем, что частичная прокрутка по высоте с использованием ywrap
также включает в себя некоторое копирование, так что «нескрученные» части экрана, по-видимому, остаются на том же месте, даже если аппаратные средства прокрутили весь экран . Чем меньше область прокрутки, тем менее полезен ywrap
, потому что чем больше количество копирования, которое должно происходить, чтобы представить иллюзию того, что некоторые части дисплея не были прокручены.
На реальных терминалах, в отличие от виртуальных, иногда существуют управляющие последовательности, позволяющие выбирать скорости прокрутки. Например, семейство DEC VT имеет флаг DECSCLM («DEC Scroll Mode», флаг закрытого режима DEC # 4). При сбросе (с помощью последовательности управления ECMA-48 RM) терминал прокручивается как можно быстрее. Если установлено (через последовательность управления ECMA-48 SM), терминал прокручивается медленнее, вставляя задержки по мере прокрутки.
Если бы встроенный эмулятор терминала ядра Linux был полной эмуляцией DEC VT, это было бы способом управления скоростью прокрутки. Но это не так.Хотя некоторые эмуляторы терминала userspace, такие как xterm
, реализуют этот флаг режима, я не знаю, что эмулятор терминала ядра это делает. Встроенный эмулятор терминала ядра Linux, конечно, не работает.
Существует по крайней мере два способа создания такой системы:
inetd
попал путь в немилость, и существует ряд замен , включая xinetd
, systemd
и другие. Можно использовать демон avahi для привязки IP-адреса к какому-либо разрешаемому имени хоста каждый раз при изменении IP-адреса DHCP.