Як не допустити Wine додавати асоціації файлів?


35

Вино автоматично додає певні міметипи та асоціації файлів (наприклад, notepad.exe для .ini файлів). Тут вже є відповідь, яка пояснює, як усунути ці асоціації.

Але як можна завадити Віно додавати їх знову і знову?

Відповіді:


47

Якщо вимкнути winemenubuilder.exe, то взагалі не вдасться викрасти вина у ваші асоціації файлів, але це також не дозволить йому створити записи меню для встановленого програмного забезпечення, що може спричинити небажану поведінку. Кращим рішенням є таке:

  1. Видаліть існуючі винні викрадення ( з 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* 
    
  2. Редагуйте /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вимикача). Це запобіжить оновлення асоціацій файлів у нових облікових записах користувачів (або з новими WINEPREFIXes).

  3. Редагуйте $WINEPREFIX/system.regфайл (якщо він існує) аналогічним чином. Де сказано

    [Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
    "winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -a -r"
    

    зняти -aвимикач. (За замовчуванням,. WINEPREFIX=$HOME/.wine)

Це запобіжить крадіжці вина з улюбленими вами mimeapps, але winemenubuilder все одно буде працювати та створювати зручні записи на робочому столі для вашого програмного забезпечення Windoze.


1
Для мене шлях був скоріше /opt/wine-staging/share/wine/wine.inf. Якщо файл знаходиться у нестандартному місці, запустіть locate wine.infйого.
Привіт-Ангел

13

З 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на "нативні" замість "відключити".


Гаразд. Тож для мене це означає, що я створюю префікс, встановлюю додаток, видаляю вручну всі асоціації та меню вина за замовчуванням (я хочу, щоб асоціації з додатками), а потім змінив ключ reg, щоб запобігти повторному додаванню асоціацій щоразу, коли Wine оновлюється, правильно?
mniess

4

Оскільки це перший хіт в Google. У FAQ Wine тепер перелічено альтернативний метод для нових версій вина.

"Починаючи з вина-3,14, winecfg має вкладку" Керувати асоціаціями файлів "на вкладці Інтеграція робочого столу. Якщо встановити прапорець, він зможе створити асоціації файлів, а якщо зняти прапорець, його поведінка відключає."

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.