Я загрузил исходный код evince (исходный код, предоставленный Debian 9.9, evince 3.22.1 ), и поскольку все ярлыки записываются «как -есть» в файлах интернационализации (.po
), я думаю, они жестко запрограммированы.
Например:
help/fr/fr.po:msgid "<keyseq><key>Ctrl</key><key>R</key></keyseq>"
help/fr/fr.po:msgstr "<keyseq><key>Ctrl</key><key>R</key></keyseq>"
Пытаюсь копнуть дальше, но способ управления ярлыком evince довольно... странный:)
Вам потребуется версия библиотеки GTK2 для i686. Вы не указали свой дистрибутив, поэтому сложно сказать, как его установить.
В Fedora 33 это будет:
dnf install gtk2.i686
Для Ubuntu/Debian/Mint/и т. д. это, вероятно, сработает:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libgtk2.0-0:i386
Используйте ldd
, чтобы увидеть, что ожидает увидеть исполняемый файл. Определите все недостающие библиотеки и:
mc
и скопируйте этот файл, который вам нужен. В этом случае вы можете столкнуться с тем, что.so не имеет других.so, с которыми он был скомпилирован, поэтому вы можете начать эту процедуру с no. 1 для этой конкретной библиотеки . Это должно вас завести. В большинстве случаев мне нужно было запустить какой-нибудь старый двоичный объект с отсутствующими библиотеками, фальшивую символическую ссылку (. Обычно я помещал их в /use/local/lib/fake, чтобы отслеживать их ). иногда я сталкивался с отсутствующими символами. Также обратите внимание на различия 64/32 бит. 64-битный код x86 полностью отличается от 32-битного x86. Еще одна проблема может заключаться в том, что в таком пакете, как Netscape, много двоичных файлов, и большинство из них нужно проверять с помощью ldd
.
(Кстати -это действительно ностальгия, а не чистая необходимость?)