Ответ d_inevitable почти решил мою проблему, но не полностью. Проблема заключалась в том, что хотя:
DHCP-сервер отправил имя хоста (добавивoption host name 'client1'
в dhcpd.conf), и я действительно проверил его, захватив и проанализировав содержимое предложения DHCP с помощью wirehark Клиент DHCP ожидал имя хоста с сервера DHCP (добавив request host-name
в dhclient.conf) Клиент не получал новое имя хоста (его легко проверить, набрав
hostname
в терминале и получить старое имя хоста или без имени хоста, если я удалил содержимое / файл). В результате предлагаемое решение d_inevitable только копировало пустую строку.
Чтобы решить эту проблему, я применил решение crud, которое, как правило, не должно выполняться, если вы не отчаянно пытаетесь заставить его работать, как я был.
Сначала открываем с возможностью редактирования сценарий управления клиентом DHCP:
sudo vi /sbin/dhclient-script
Там вам нужно будет найти функцию
set_hostname()
Просто используйте поиск, и он должен появиться. Теперь, по крайней мере на моем компьютере, эта функция имеет три условия if-then-else, инкапсулированные друг другу:
# установить имя хоста set_hostname () {local current_hostnameif [ -n "$new_host_name" ]; then
current_hostname=$(hostname)
# current host name is empty, '(none)' or 'localhost' or differs from new one from DHCP
if [ -z "$current_hostname" ] ||
[ "$current_hostname" = '(none)' ] ||
[ "$current_hostname" = 'localhost' ] ||
[ "$current_hostname" = "$old_host_name" ]; then
if [ "$new_host_name" != "$old_host_name" ]; then
hostname "$new_host_name"
fi
fi
fi }
[d17 ] Теперь вам нужно принудительно назначить новое имя хоста вашему хосту, несмотря ни на что. Поэтому вы хотите прокомментировать два инкапсулированные if-then-else. Результат должен выглядеть примерно так: # установить имя хоста set_hostname () {local current_hostname
if [ -n "$new_host_name" ]; then
current_hostname=$(hostname)
# current host name is empty, '(none)' or 'localhost' or differs from new one from DHCP
#if [ -z "$current_hostname" ] ||
# [ "$current_hostname" = '(none)' ] ||
# [ "$current_hostname" = 'localhost' ] ||
# [ "$current_hostname" = "$old_host_name" ]; then
# if [ "$new_host_name" != "$old_host_name" ]; then
hostname "$new_host_name"
# fi
#fi
fi }
# установить имя хоста set_hostname () {local current_hostname
Одной из основных особенностей Notepad ++ является то, что он «использует чистый API Win32». Это делает его очень специфичным для Windows - он использует встроенные функции Windows для большого количества пользовательского интерфейса и общего функционирования. Чтобы запустить его на любой другой платформе (без подделок Windows API, таких как Wine), потребуется довольно серьезная переработка.
Это альтернатива, а не способ скомпилировать, но я бы, вероятно, посмотрел, можно ли запустить ее с помощью WINE.
Ну, я тоже фанат блокнота ++. Перешел на Linux, искал альтернативы - просмотрел Google, блоги, форумы и, наконец, придумал потрясающий редактор - http://www.sublimetext.com/
И, наконец, я перестал думать о Notepad ++: )
Хотя он просит вас купить, вы можете использовать версию трейла навсегда.
Я рекомендую Notepadqq для пользователей Ubuntu, которые любят Notepad ++.
Notepadqq обеспечивается этот официальный PPA, и вы можете установить его, запустив:
sudo add-apt-repository ppa:notepadqq-team/notepadqq
sudo apt update
sudo apt install notepadqq
Затем вы можете запустить его из программирования → Notepadqq в своем меню или использовать команду notepadqq. (Это также должно появиться в меню «Открыть» при щелчке правой кнопкой мыши по файлу в вашем браузере файлов, хотя это может зависеть от вашей настройки.)
Связан ли этот проект с Notepad ++? Нет. Этот проект не зависит от Notepad ++ и не использует какой-либо его код. Notepadqq вдохновлен Notepad ++: это означает, что мы пытаемся воспроизвести его лучшие черты, не боясь делать разные варианты того, что, по нашему мнению, может быть улучшено.В моей Lubuntu 16.04 LTS системе установлены оба Notepadqq и Notepad ++. (Notepad ++ работает с Wine.) У меня не было проблем с установкой обоих, и они оба работают достаточно хорошо, хотя Notepad ++ иногда медленный, когда я использую его для редактирования очень больших файлов исходного кода. У меня не было этой проблемы с Notepadqq, а также с Notepad ++ в Windows. Обратите внимание, что я не тестировал их и не использовал в обеих системах в одной и той же системе, поэтому, пожалуйста, скептически относитесь к производительности.
Два редактора выглядят несколько иначе, но вы можете видеть, что они во многом схожи. Я считаю, что реальный опыт взаимодействия с ними почти одинаковый.
GPLv3 Notepadqq (слева) и Notepad ++ (справа) на Lubuntu 16.04 LTS, просмотр sqlite3.c. [ ! d27]
Вы можете дополнительно настроить внешний вид с помощью тем (они оба предназначены для темы) и путем настройки настроек рабочего стола. Они могут выглядеть не так, как в вашей системе Ubuntu. Я использую среду рабочего стола LXDE. Если вы используете другую среду рабочего стола, такую как GNOME, границы окна и заголовки будут отличаться по-разному.
В качестве примера того, как Notepadqq отличается от Notepad ++, но не так много, и о том, как это прост в использовании, если вы уже знаете, что у вас далеко от Notepad ++, вот как они выглядят при поиске открытого файла с использованием регулярного выражения:
Notepadqq (слева) и Notepad ++ (справа) на Lubuntu 16.04 LTS, просмотр sqlite3.c.
Обратите внимание, что они поддерживают те же три типа шаблонов поиска (по-разному).
Если вы хотите посмотреть исходный код Notepadqq или скомпилировать последнюю версию разработки, см. . Инструкции о том, как создать его из исходного кода или установить официальные предварительно созданные двоичные файлы для других ОС, см. В FOSS . Вы также можете быть заинтересованы в рекомендациях по предоставлению.