Access 2.0 указан как золотое приложение в WineHQ:
https://appdb.winehq.org/objectManager.php?sClass=version&iId=2746
Проблема, с которой вы столкнулись, похоже, связана с ахитектурой (ошибки класса ELF). Я полагаю, вы пытаетесь запустить приложение win32 на установке wine64.
Это сообщение должно помочь вам найти правильный способ установки wine для ваших нужд:
https://askubuntu.com/questions/74690/how-to-install-32-bit-wine-on-64-bit-ubuntu#74716
Я могу придумать несколько вариантов предоставления пользователям разумного редактора с максимально возможной паранойей. Поскольку это приложение, -чувствительное к безопасности, отнеситесь ко всему здесь с долей скептицизма и исправьте любые ошибки.
Я бы предложил сделать одну из этих вещей по умолчанию, но сделать так, чтобы люди могли использовать свои собственные vim
в качестве четко документированного варианта, чтобы они не пытались копировать данные из заблокированный -вниз vi
.
Кроме того, некоторые из этих предложений (, в частности возиться с LD_PRELOAD
), могут быть совершенно неприемлемыми, отключенными (насколько это возможно )или ограниченными в вашей среде.
Вот некоторые потенциально взаимоисключающие варианты в произвольном порядке,
sudoedit
. libc
функций с помощью LD_PRELOAD
. .vimrc
пользователя. 1 )запустить редактор как непривилегированный пользователь
Если у вас есть возможность создавать дополнительных пользователей или требовать, чтобы люди, использующие программное обеспечение, создавали выделенного непривилегированного пользователя, вы можете использовать тот же прием, который sudoedit
использует :, создавая временный файл и позволяя пользователю редактировать его. как непривилегированный пользователь. Я не знаю, как гарантировать, что временный файл никогда не коснется диска.
Похоже, вы уже делаете что-то подобное, но без непривилегированного пользователя.
Вот ответ суперпользователя, объясняющий, как sudoedit
работает .
Кроме того, я бы рекомендовал изучить, как работает функциональность sudoedit
в sudo
. вот соответствующий код .
2 )свяжите свои собственные vi
.
nvi
небольшой и имеет лицензию BSD,вы можете исправить его, чтобы никогда не создавать файлы подкачки или компилировать его без поддержки файла подкачки. На самом деле я не знаю, потому что в последний раз, когда я пытался собрать nvi
, я не мог понять, как заставить его древнюю версию autotools обнаруживать OS X.
В рамках сборки вашего основного продукта вы можете взять хэш вашего nvi
исполняемого файла и запечь его как постоянную времени сборки -.
Пользователи Emacs могут получить копию mg
. Вот ссылка на форк mg . Вариант, который фактически находится в дереве исходных текстов OpenBSD, имеет лицензию ISC. Возможно, вам придется исправить его, потому что он иногда выдает (, например, для взаимодействия сcscope
).
Думаю, пользователям нано не повезло.
3)LD_PRELOAD
используйте LD_PRELOAD
для направленияld.so
(в Linux )для загрузки прокладки для перехвата вызовов libc
функций, таких как fwrite
, fork
и т. д.
4 )пропустите параметры конфигурации пользователя в vim
, вместо этого запустите собственную минимальную конфигурацию.
Это самая надежная командная строка для vim
, которую я могу придумать, но я мог что-то упустить. Я получил это только после прочтения справочной страницы vim и просмотра моего .vimrc
.
-u NONE
--нет инициализации -i NONE
--нет.viminfo
-U NONE
--нет инициализации(gvim
но эй, вы никогда не должны быть слишком осторожными)-Z
--начните так, как если бы ваш argv[0]
был rvim
. set nocompatible
--несовместимы vi
-. set backspace=indent,eol,start
--сделать возврат назад более интуитивным set noexrc
--возможно избыточно, не читайте никакие rc
файлы. set secure
--нет autocmd
, нет shell
, нет write
, отображать команды --map
. set nobackup
--нет параметров резервного копирования set laststatus=2
--показать редактируемый файл Итак, вот командная строка, объединяющая все это.
vim -n -u NONE -i NONE -U NONE -Z \
--cmd "set nocompatible | set backspace=indent,eol,start | set noexrc | set secure | set nomodeline | set nobackup | set laststatus=2" \
--