Как я могу отобразить IP-адрес eth0 на экране входа в систему на Precise Server?

Пожалуйста, смотрите, что звук Ubuntu не работает, спасибо!

Если вы чувствуете странность в публикации отчета об ошибке в Launchpad, процедура, которую мы обычно следуем, чтобы запросить необходимую информацию, заключается в том, чтобы спросить, что сценарий оболочки отладки разработчика казнены. Этот скрипт bash доступен в звук Ubuntu не работает , и вы должны выполнить его с помощью bash ~/Desktop/alsa-info.sh --no-upload в терминале, если вы сохранили сценарий оболочки на своем рабочем столе. Вы можете затем pastebin /tmp/alsa-info.txt и / или ссылку на него из ответа здесь.

1
задан 15 November 2012 в 05:16

3 ответа

С Debian 8 / jessie вы можете использовать escape-символы \4 и \6 для вывода адресов IPv4 и IPv6. Таким образом, файл /etc/issue:

Debian GNU/Linux 8 \n \l

eth0: \4{eth0}

Выведет на консоли входа что-то вроде следующего:

Debian GNU/Linux 8 myserver tty1

eth0: 192.168.1.100
myserver login:

Я полагаю, Ubuntu обеспечит аналогичную функциональность (по крайней мере, в новых релизы)

13
ответ дан 25 May 2018 в 04:23
  • 1
    Это сработало для меня в Ubuntu 16.04 LTS, ответ, отмеченный как правильный, не был, вероятно, проблема с комментарием grep, в любом случае, спасибо за публикацию этого. – Tracker1 19 January 2017 в 20:19

На основе ответа Алекса и комментария Рэбса это то, что у меня есть для моего файла /etc/rc.local (только соответствующие строки):

PRE_MSG="Ubuntu 14.04.3 LTS" # this is from the original /etc/issue

IP=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')

IP_MSG="Server IP Address:"

printf "%s %s %s\n\n%s %s\n\n" "$PRE_MSG" '\n' '\l' "$IP_MSG" "$IP" > "/etc/issue"

Команда printf делает магию. К сожалению, вставка '\n' и '\l' внутри строки формата закончилась заменой первого символа новой строки, а файл /etc/issue был испорчен.

Столь длинная история, эти 4 строки сохраните исходную информацию, отображаемую файлом /etc/issue, и добавьте сообщение Server IP Address:.

И, как сказал Rebs, помните, что каждый раз, когда вы перезагружаете сервер, этот скрипт будет переопределять /etc/issue файл, поэтому, возможно, попробуйте его в другом скрипте и в другом файле, и как только он начнет работать, переносите изменения ...

Удачи и счастливы BASHing:)

1
ответ дан 25 May 2018 в 04:23

С systemd вы можете сделать systemctl edit getty@ с чем-то вроде:

[Service]
ExecStartPre=-/bin/bash -c '[ ! -f /etc/.issue.orig ] && cp /etc/issue /etc/.issue.orig; int=`ls /sys/class/net|grep enp|head -1`; sed -r "s/\\\\\\n/[\\\\\\4\{$$int\}]/" < /etc/.issue.orig > /etc/issue'

Затем systemctl daemon-reload && systemctl restart getty@tty1

0
ответ дан 25 May 2018 в 04:23

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

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