Вино автоматично додає певні міметипи та асоціації файлів (наприклад, notepad.exe для .ini файлів). Тут вже є відповідь, яка пояснює, як усунути ці асоціації.
Але як можна завадити Віно додавати їх знову і знову?
Вино автоматично додає певні міметипи та асоціації файлів (наприклад, notepad.exe для .ini файлів). Тут вже є відповідь, яка пояснює, як усунути ці асоціації.
Але як можна завадити Віно додавати їх знову і знову?
Відповіді:
Якщо вимкнути winemenubuilder.exe, то взагалі не вдасться викрасти вина у ваші асоціації файлів, але це також не дозволить йому створити записи меню для встановленого програмного забезпечення, що може спричинити небажану поведінку. Кращим рішенням є таке:
Видаліть існуючі винні викрадення ( з FAQ щодо вина ):
rm -f ~/.local/share/mime/packages/x-wine*
rm -f ~/.local/share/applications/wine-extension*
rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
rm -f ~/.local/share/mime/application/x-wine-extension*
Редагуйте /usr/share/wine/wine.inf
(як корінь), знайдіть [Services]
розділ:
[Services]
HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
...
і відредагуйте його, щоб він писав:
[Services]
HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -r"
...
(а саме для початку winemenubuilder.exe
без -a
вимикача). Це запобіжить оновлення асоціацій файлів у нових облікових записах користувачів (або з новими WINEPREFIX
es).
Редагуйте $WINEPREFIX/system.reg
файл (якщо він існує) аналогічним чином. Де сказано
[Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -a -r"
зняти -a
вимикач. (За замовчуванням,. WINEPREFIX=$HOME/.wine
)
Це запобіжить крадіжці вина з улюбленими вами mimeapps, але winemenubuilder все одно буде працювати та створювати зручні записи на робочому столі для вашого програмного забезпечення Windoze.
З http://wiki.winehq.org/FAQ :
Користувачі, які не хочуть, щоб інсталятор програми Windows змінював асоціації файлів, додавав елементи меню або створював посилання на робочий стіл, може відключити winemenubuilder.exe
. Існує кілька способів зробити це:
У winecfg : перед запуском програми інсталятора запустіть winecfg
. Перейдіть на вкладку "Бібліотеки" і введіть winemenubuilder.exe
у поле "Нові переопрацювання" (його немає у випадаючому списку). Клацніть додати, а потім виберіть її у вікні "Існуючі зміни". Клацніть "Редагувати" та виберіть "Відключити" зі списку, а потім натисніть "Застосувати".
Файл реєстру: Якщо вам потрібно застосувати налаштування багато разів (наприклад, кожен раз, коли ви відтворюєте префікс Wine), такий підхід може бути зручнішим. Створіть текстовий файл з іменем розширення .reg (наприклад, disable-winemenubuilder.reg
), що містить таке:
[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
"winemenubuilder.exe"=""
Щоб застосувати налаштування, запустіть regedit disable-winemenubuilder.reg
Змінна середовища: встановіть змінну середовища WINEDLLOVERRIDES під час запуску інсталятора, наприклад,
WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
Якщо відключити winemenubuilder.exe
, винні програми будуть друкувати помилки, які вони не можуть їх знайти (хоча помилки, здається, не заважають роботі програми).
Альтернативний підхід, який дозволяє уникнути помилок, - це замінити його програмою "нічого не робити". Складіть наступне з gcc MinGW під вином і помістіть виконуваний файл за адресою C:\Windows\System32\winemenubuilder.exe
:
int main() { /* Do nothing */ return 0; }
Потім виконайте ту саму процедуру, що і вище, але встановіть winemenubuilder.exe
на "нативні" замість "відключити".
Оскільки це перший хіт в Google. У FAQ Wine тепер перелічено альтернативний метод для нових версій вина.
"Починаючи з вина-3,14, winecfg має вкладку" Керувати асоціаціями файлів "на вкладці Інтеграція робочого столу. Якщо встановити прапорець, він зможе створити асоціації файлів, а якщо зняти прапорець, його поведінка відключає."
/opt/wine-staging/share/wine/wine.inf
. Якщо файл знаходиться у нестандартному місці, запустітьlocate wine.inf
його.