.bash_profile может быть автоматический полученный после изменения?

Я нашел следующие ресурсы, которые могли бы иметь то, что Вы ищете.

Я думаю, что запустил бы с 4-й ссылки на сайт X.org. Там был также комментарий:

Файлы данных XKB для различных моделей клавиатуры, разметок и локалей теперь сохраняются X проектами Конфигурации Клавиатуры на freedesktop.org.

Таким образом, ссылка на freedesktop.org могла бы быть лучшим местом для запуска также. Конкретно они описывают миссию как таковую:

Существует много реализаций X Window, которые имеют очень плохую поддержку нестандартных клавиатур, национальных разметок и опций.

Реализации X-оконной системы С открытым исходным кодом (xfree86, x.org) в настоящее время не синхронизировали базы данных конфигурации XKB: ошибки, исправленные в одном репозитории, не отражаются в другом, новые элементы конфигурации добавляются (в лучшем случае) отдельно и независимо к обоим деревьям CVS - но обычно только одно дерево получает их. Кроме того, эти реализации содержат несбалансированные и неструктурированные деревья макета (очень часто одна страна/язык имеют несколько разметок, каждого с ее собственным набором вариантов).

Коммерческие реализации X-оконной системы не могут поддерживать большое множество национальных разметок - обычно из-за отсутствия ресурсов. Таким образом, пользователи из "экзотических" стран чувствуют себя оскорбленными и расстроенными - их среды не завершены.

Решение, которое гарантировало бы качественную поддержку данных настройки клавиатуры, состоит в том, чтобы иметь единый репозиторий, который служил бы метапроектом для дистрибутивов ОС и X-серверов. X Баз данных Настройки клавиатуры пытаются быть той.

Freedesktop.org также поддерживает список рассылки, который мог бы быть лучше в помощи Вам переместиться по морю информации о XKB.

3
08.02.2015, 09:24
1 ответ

Это можно сделать автоматически, немного поработав с помощью PROMPT _ COMMAND и -nt с файлом маркера. Если поместить его в файл профиля ~/.bash _

touch /tmp/bash_profile-$$
resource_profile() {
    [ ~/.bash_profile -nt /tmp/bash_profile-$$ ] && source ~/.bash_profile
}
PROMPT_COMMAND=resource_profile

, то при запуске оболочки в /tmp будет создан пустой файл маркера с именем PID оболочки для ее идентификации.

Перед отображением приглашения каждый раз, когда оболочка запускает функцию resource _ profile , которая проверяет, изменился ли ~/.bash _ profile ( -nt ) с момента последнего запуска и обновления файла маркера, и автоматически source ~/.bash _ profile , если он был изменен. Когда файл будет получен, он снова обновит файл маркера в следующий раз.

Это не является безупречным - в зависимости от файловой системы, изменения, сделанные вскоре после получения файла, могут не быть обнаружены. Файл будет проверен только после выполнения команды или нажатия Enter , которая находится как можно ближе к немедленной, но не полностью мгновенной.

В зависимости от профиля вашей системы вы можете поместить файл маркера в другое место, где никто не сможет получить доступ к каталогу. Можно также построить нечто подобное из stat (1) , если он у вас есть, избегая файла маркера полностью.

3
27.01.2020, 21:23

Теги

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