Я не думаю, что вы сможете получить прямой `<C- />` сопоставление как вам все равно придется ввести префикс. например, `<C-b><C- />` . Тогда вы могли бы задать вопрос, это лучше, чем<C-b>[?` ? Точно! Неудобства в часе-это для меня хорошо, и хорошо для гипотетического будущего посетителя без удобный друг/коллега, чтобы делать высадки. Несколько часов для меня, и не доступен для многих людей транзитом через Хитроу @Макс: они не теряют, может быть, даже сэкономить немного денег, если они выплачиваются в течение два перелета (даже если те сниженным ценам за счет в оба конца), но только один привыкает. Итак, еще раз, зачем они это делают? Конечно, если предположить, что первая нога просто *не принято* за счет заказчика, а не отменены с возвратом.

Добавление этого в качестве другого ответа, потому что другой все еще может стоять на своих собственных, но ваша проблема (после уточнения) - это другое. Если речь идет о библиотеках, которые поставляются с приложением, а также системой, то ситуация не сравнима. Ты почти на то, что вам нужно сделать, чтобы исправить это, но не совсем :-)

Есть несколько решений вашей проблемы: в переменной LD_LIBRARY_PATH, путь rpath, доставка изменен библиотеки и составления несколько раз. Каждый из них имеет свои преимущества и недостатки, поэтому позвольте мне объяснить:

  • В переменной LD_LIBRARY_PATH

    Если вы идете по этому пути, то вы установить переменную окружения перед запуском программы. Это, вероятно, требует, чтобы вы использовать обертку вокруг скрипта бинарных (т. е. не напрямую, а работает /путь/к/моему/на PHP, запустить shell-скрипт, который впервые устанавливает в переменной LD_LIBRARY_PATH , а затем запускает /путь/к/моему/РНР).

    Недостатком этого способа является то, что она немного хрупкая:

    • В переменной LD_LIBRARY_PATH добавляется в библиотеку путь поиска, но не заменяет его. Это означает, что если библиотеки будут установлены системы, но почему-то те, что вы отгрузили не может быть загружен, динамический компоновщик будет падать обратно на систему-обеспеченными.
    • Требование, чтобы вызвать shell-скрипт означает, что у вас есть лишняя вилка/exec вызов, который может сделать что-то идет не так. Это можно несколько уменьшить, используя метод exec команду в shell-скрипт (так что скрипт заменяется самого PHP, так что PHP программа правильного ребенка, родителя), но все равно лажа

    С другой стороны, это позволяет проявлять определенную гибкость с тем, где вы храните свои библиотеки (т. е., если система если вы достаточно хороши в некоторых случаях, это нормально, если вы удалите его из вашего переменной LD_LIBRARY_PATH каталог)

  • путь rpath

    Здесь идея заключается в том, что компилятор (для НКУ -зя,-путь rpath,'/путь/к/библиотеки) точно, где искать библиотеки. Это получает жестко в программу во время компиляции, и динамический компоновщик будет тогда совсем игнорировать версий библиотеки, которые находятся за пределами предоставленных путь rpath, включая системные-версии. Это позволяет избежать беспорядка в переменной LD_LIBRARY_PATH выше, но недостатком является то, что это делает вещи менее гибким; если вам нужно переместить вещи вокруг в файловой системе, вам нужно перекомпилировать все.

    Это также означает, что если ваши пользователи хотят видеть все установленные по-другому, они чертовски не повезло. Им это может не понравиться.

Оба метода описаны в ЛД.так человек страницы.

  • Доставка изменен библиотеки

    Здесь идея заключается в том, что вместо того, чтобы ссылка на libk5crypto.так.3, Вы ссылку на libmycorp-k5crypto.так.3. Там будут нулевые шансы динамический компоновщик подбирая предоставляемых системой libk5crypto.так.3 в этом случае. Преимущество здесь заключается в том, что это довольно легко и элегантно, как только установлен; недостатком является то, что люди могут начать интересно ли вам изменить libk5crypto на всех (и патчи), и вы также будете иметь, чтобы погрузиться в libk5crypto.так построить систему, чтобы сделать ее на самом деле излучают libmycorp-k5crypto.так библиотека. Он также может выглядеть плохо в долгосрочной перспективе, так что будьте осторожны, прежде чем вы идете по этому маршруту.

  • Компиляция нескольких раз

    А не грузить библиотеки, которые также предлагаются системы, вы можете просто скомпилировать приложение на каждый поддерживаемый дистрибутив, и корабль пакет для каждого распределения, а не грузить свои библиотеки. Такие вещи, как packagecloud.Ио сделать это легче сделать. Поскольку существует только одна библиотека с заданным именем в системе, есть только одна библиотека, чтобы забрать и никаких шансов на выбор не тот. Недостатком является то, что у вас большой ассортимент вещей, чтобы проверить, так что вы должны больше работать на момент выпуска (и вы лучше иметь хороший набор тестов).

    Преимущество в том, что этот метод гарантирует, что вы грузите меньше, чем могли бы (можно с поддержкой), и вы можете сказать, пользователи, которые находятся на дистрибутив, который имеет старую версию libk5crypto.так что вы не поддерживаете больше, что они должны обновить, что первый.