У меня была проблема, когда я выполнил команды Докера:
ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (failed to map segment from shared object): ignored.
После некоторого исследования я узнал, что библиотека, обеспеченная в переменной среды LD_PRELOAD, не могла быть найдена. Когда я работаю:
env | grep LD_
Я возвращаюсь:
LD_PRELOAD=libgtk3-nocsd.so.0
После установки этой libgtk3 библиотеки через Кв. - добираются, мне определили местоположение ее здесь:
/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
Каков надлежащий способ установки LD_PRELOAD? Если я перезаписываю его с полным путем к библиотеке, или если я так или иначе копирую эту библиотеку для предоставления доступа к этому доступным глобально, и оставить LD_PRELOAD он - текущее значение.
Я пытался добавить это к моему ~/.profile
:
unset LD_PRELOAD
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
Но когда я перезагружаю свой профиль, я возвращаюсь:
LD_PRELOAD=libgtk3-nocsd.so.0:/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
По некоторым причинам сброс не очищает переменную и просто добавляет мой путь к существующему значению, и это не работает.
У меня есть та же проблема. Я протестировал выполнение LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
в терминале и это решило проблему для того терминального сеанса. Но, когда я перезапустил терминал, проблема возвращаются.
Благодаря Sanjay Prajapat я добавил команду к .bashrc
файл в домашней папке и это решило проблему постоянно. Однако вместо того, чтобы добавить следующую строку:
export LD_PRELOAD=$LD_PRELOAD:/usr/lib/x86_64-linux-gnu/
этот работал на меня:
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
(Извините, если существует некоторая ошибка грамматики).
Править:
Удостоверьтесь, что Вы имеете libgtk3-nocsd.so.0
в /usr/lib/x86_64-linux-gnu
Ищите его в наутилусе
Если у Вас не было его, попробовать sudo apt-get install gtk3-nocsd
Попытайтесь включить следующую строку ~/.bashrc
файл
export LD_PRELOAD=$LD_PRELOAD:/usr/lib/x86_64-linux-gnu/