Ярлыки на Рабочем столе при установке через Wine

sfx09

New member
Сообщения
18
#1
Добрый день!

Опишу свою ситуацию, может кто-нибудь сможет помочь.
Установил "Орел" самым свежим дистрибутивом с сайт. Далее выполнил установку Wine:

sudo apt update
sudo apt install wine
sudo apt install --reinstall winbind

Затем я установил Windows-приложение через Windows-инсталлятор (основанный на NSIS - Nullsoft Scriptable Install System), запущенный командой
wine setup.exe.
В целом установка прошла успешно, но с тонкостями:

1. В самом конце установки инсталлятор стабильно сваливается с ошибко (screenshot ниже). Возможно ли как-то решить эту проблему?

2252.jpg


2. После установки на Рабочем столе создались ярлыки с командой:

env WINEPREFIX="/home/sfx/.wine" wine-stable C:\\\\windows\\\\command\\\\start.exe /Unix /home/sfx/.wine/dosdevices/c:/users/Public/Рабочий\\ стол/Таможенные\\ документы.lnk

Но с такой командой программы не работают!

Если исправить ее вручную на:

env WINEPREFIX="/home/sfx/.wine" wine-stable C:\\\\windows\\\\command\\\\start.exe /Unix "/home/sfx/.wine/dosdevices/c:/users/Public/Рабочий стол/Таможенные документы.lnk"

Тогда все начинает работать замечательно. Можно это как-то исправить?

3. Ярлыки в меню-аналог "Пуска" по-моему вообще не создались.


Вот такие три момента, если кто-нибудь поможет разобраться - буду очень благодарен. Я сначала думал, что это проблемы конкретно Wine, и даже задал эти вопросы на его форуме, но дело в том, что в других Linux-операционных системах (например, Linux Mint) этих трех проблем нет - все работает, как часы.

Спасибо за любую помощь!
 

oko

New member
Сообщения
1 257
#2
1 - проблема Wine в связке с тем софтом, который ставите...
2 - проблема русских букв и, в особенности, пробелов в путях к файлам и ярлыкам...
3 - проблема движка Fly-DM в AstraLinux, с которой вряд ли что-то вменяемое можно сделать без вмешательств со стороны авторов дистрибутива...
В результате, нужно либо вручную разбираться с конкретной используемой версией Wine, конкретным ПО и тем, чего не хватает. Либо воспользоваться другим дистрибутивом, если в нем таких проблем нет...

ЗЫ Удалили бы вы указания на организацию/структуру, ага...
 

sfx09

New member
Сообщения
18
#3
1 - проблема Wine в связке с тем софтом, который ставите...
2 - проблема русских букв и, в особенности, пробелов в путях к файлам и ярлыкам...
3 - проблема движка Fly-DM в AstraLinux, с которой вряд ли что-то вменяемое можно сделать без вмешательств со стороны авторов дистрибутива...
В результате, нужно либо вручную разбираться с конкретной используемой версией Wine, конкретным ПО и тем, чего не хватает. Либо воспользоваться другим дистрибутивом, если в нем таких проблем нет...
ЗЫ Удалили бы вы указания на организацию/структуру, ага...
Спасибо за ответ.
1. Это я понял. По крешу этому никак нельзя понять, откуда ноги проблемы растут? Я думал Wine одинаковый в любом Linux'е. Креш явно ссылается на модуль system.
2. Это понятно, тут проблема именно в пробелах, а не в русских буквах (ну либо в том числе русских буквах). Я пробовал устанавливать чисто англоязычные Win-программы, например, SpeedFan, ярлык на "рабочем столе" к которому также содержал пробелы в пути - и там также ярлык не запускает программу. :(
3. Т.е. все-таки имеет смысл брать подписку на техподдержку, и пытаться решить эти вопросы через нее?

ЗЫ. Да тут ничего секретного вроде нет. Просто конкретный живой пример с общедоступным для скачивания дистрибутивом.
 

oko

New member
Сообщения
1 257
#4
Проблема дампа в том, что он ссылается на имитацию поведения Windows-приложения с выхлопом состояний регистров процессора и прочей требухой. Т.е. вариантов может быть слишком много. В глаза бросается только 32-битный префикс, а, как известно, в AstraLinux есть проблемы с поддержкой чисто 32-битного Wine и приложений, связанных с ним. Возможно, корень зла в этом - не настолько специалист по Wine, чтобы что-то утверждать...
Как вариант, попробовать ту версию Wine, которая стабильно сработала у вас на Deb-подобном дистрибутиве (тот же Linux Mint). Но вкорячивать ее в AstraLinux придется самостоятельно (либо компилляцией из исходников, либо из совместимого deb-репозитория)...
Подписка на техподдержку всегда желательна, особенно когда машина не домашняя. Только модуль жизненного опыта подсказывает, что техподдержка длительное время будет отмахиваться от решения какой-то там проблемы с каким-то там Windows-софтом под Wine. Хотя все зависит от настойчивости, ага...
 

sfx09

New member
Сообщения
18
#5
Спасибо Вам за помощь и подсказки, буду думать. Может еще кто-нибудь что-то подскажет хотя бы по одной проблеме. Я уже понял, что причина в общей связке Астралинукс + Wine + конкретная ситуация (Win-приложение). Только вот как решить хотя бы первые две проблемы - никак не получается придумать.
 

oko

New member
Сообщения
1 257
#6
Залейте куда-нибудь win-инсталлятор этого софта - поковыряю на досуге...
Единственное, "Орла" под рукой нет, только "Смоленск 1.6", но принципиально это ничего не меняет...
 

sfx09

New member
Сообщения
18
#7
Залейте куда-нибудь win-инсталлятор этого софта - поковыряю на досуге...
Единственное, "Орла" под рукой нет, только "Смоленск 1.6", но принципиально это ничего не меняет...
Вот по этой ссылке кнопка "скачать дистрибутив": https://www.alta.ru/programs/tamdoc/
Буду благодарен любой подсказке.
 

oko

New member
Сообщения
1 257
#8
Это который "ТамДок" на 1.3Гб? Ему ж вроде лицензия нужна...
Впрочем, да, для теста Wine оно не требуется...
 

oko

New member
Сообщения
1 257
#10
Бегло посмотрел...
Primo, использовал ALSE 1.6 (Смоленск) и WINE версии 5.0 (в wiki есть статья, как установить) - вашей ошибки инсталлятора не получил. Впрочем, ТамДок отказался стартовать под Wine без прав root, ибо уж очень хочет биндить какой-то сервис в сетевой подсистеме, на что у обычного пользователя, по понятным причинам, прав нет. Впрочем, не исключаю проблем именно в ALSE - особо разбираться не стал. Не исключаю, что у вас на ALCE все пошло от лица юзеровской уч.записи, но по причине нехватки прав уперлость в приведенный скриншот ошибки...
Secundo, отсутствие "кавычек" при формировании ярлыка стоит возложить на ошибку Fly-DM - не заложено разработчиками идеи по умолчанию экранировать кавычками любой путь к оконечным lnk-файлам в своем desktop-файле...
Tertio, отсутствие автоматического создания ярлыка в "Пуск" - это нормально, поскольку сам "ТамДок" не делает Win-вызова для помещения ярлыка куда-либо кроме рабочего стола пользователя. Поэтому ярлык появляется только на рабочем столе AstraLinux-пользователя (благодаря любезности Wine), а не где-то еще...
Quatro, ну и дрянь же этот ТамДок-софт. Мало того, что в нем полная собственная реализация SSL (для Windows оно понятно), нужны модули MS SQL, КриптоПро, но при этом криптоключи в формате PEM хранятся в открытом виде. Понятно, что речь идет, верояно, о коннекте к серверам разработчика с целью проверки/регистрации лицензии, но почему в открытом виде-то? И, главное, что имеются какие-то модули TeamViewer. Это то дерьмо зачем в подобный софт пихать?
Last, не советую юзать этот софт под AstraLinux (да и под любым другим nix) в формате Wine. Куда надежнее будет завести вирт.машину (средствами того же KVM/QEMU) с Windows на борту и запускать этот софт в ней. А лучше вообще не использовать, если есть альтернативы и возможность отказаться, ага...

ЗЫ Еще отследил несколько попыток HTTP-коннекта к внешним серверам в Сети. Не стал разбираться, сервера ли это разработчиков или чьи-то чужие. Но коннекты идут как в период инсталляции софта, при его удалении и периодически во время работы. Вкупе с TeamViewer, бездарным отношением к ключам и проч... Короче, пока виртуалка восстанавливается из бэкапа до момента игр с этим софтом - пойду я руки помою, ага...
 

sfx09

New member
Сообщения
18
#11
Спасибо за столь подробный комментарий. Но только не очень понял по нижеотквоченному:

Tertio, отсутствие автоматического создания ярлыка в "Пуск" - это нормально, поскольку сам "ТамДок" не делает Win-вызова для помещения ярлыка куда-либо кроме рабочего стола пользователя. Поэтому ярлык появляется только на рабочем столе AstraLinux-пользователя (благодаря любезности Wine), а не где-то еще...
Собственно "ТамДок" и не должен делать Win-вызова для помещения ярлыков. Ярлыки, как в "Пуск", так и на "Рабочем столе" делает setup.exe, а Wine (насколько я понимаю) эти попытки создания ярлыков переделывает через себя под совместимые. И в некоторых Linux + Wine (как я уже писал про Linux Mint) - все работает, а вот в "Орле" не хочет.

В общем, если я правильно понял - пофиксить изначальные три проблемы без контакта с разработчиками AstraLinux не получится? Или все-таки это скорее общие вопросы сразу к связке AstraLinux и Wine? При условии, что изначально в Windows нет этих проблем естественно?
 

oko

New member
Сообщения
1 257
#12
Ярлыки, как в "Пуск", так и на "Рабочем столе" делает setup.exe, а Wine (насколько я понимаю) эти попытки создания ярлыков переделывает через себя под совместимые. И в некоторых Linux + Wine (как я уже писал про Linux Mint) - все работает, а вот в "Орле" не хочет.
Это и имел в виду. Но есть разница между пунктом "ярлык на рабочем столе" и "ярлык в меню пуск" - последнего setup.exe ТамДока не выполняет...

А что до проблем. Логично, что в Windows их нет. И логично, что при всех описанных особенностях этого софта, под Wine они будут появляться. Ошибки инсталлятора еще можно пофиксить, используя более-менее свежую версию Wine. Но вот все остальное. Впрочем, при использовании Wine ни один дистрибутив не дает никаких гарантий (Wine о своем использовании, кстати, тоже)...
 

sfx09

New member
Сообщения
18
#13
Это и имел в виду. Но есть разница между пунктом "ярлык на рабочем столе" и "ярлык в меню пуск" - последнего setup.exe ТамДока не выполняет...
Выполняет же, если бы не выполнял - то и в том же Mint нормальное меню "Пуск" не появилось бы. Однако там все есть. Да и в Астре по пути /.wine/drive_c/ProgramData/Microsoft/Windows/Start Menu/Programs ярлыки в виде .lnk-файлов винды тоже имеются (в подпапке).

Также проводил эксперименты и с Wine 5.0 - креш в конце установки пропал действительно. Это большой плюс.
Но, еще сильнее сломались ярлыки на рабочем столе Fly-DM. Теперь даже если команду вручную исправить на правильную (хоть с кавычками, хоть без с заменой пробелов на '\ ') - ярлык ничего не делает. :( Если эту же команду из ярлыка скопировать и выполнить в терминале - все ОК. :(
В общем, пофиксилась одна проблема - усугубилась другая.

Есть ли смысл искать варианты установки Wine более старших версий (если конечно другие версии могут работать в астре)?

P.S. Извините, что с "Орлом" влез в неверную ветку, сразу в форуме не разобрался.
 

sfx09

New member
Сообщения
18
#14
Поставил в ярлыке на рабочем столе fly-dm галочку "Терминал" и смог разглядеть ошибку "env /usr/bin/wine: Нет такого файла или каталога". Видимо где-то для него и wine5 в переменных нужно что-то подправить?

Если я в команде ярлыка прописываю путь:
env WINEPREFIX="/home/sfx/.wine" /opt/wine/bin/wine C:\\\\windows\\\\command\\\\start.exe /Unix "/home/sfx/.wine/dosdevices/c:/users/Public/Рабочий стол/Заполнитель.lnk"
Тогда все работает. Но fly-dm с ярлыка смотрит на /usr/bin/wine (именно тут ищет исполняемый wine). Может как-то можно для fly-dm дать правильную подсказку, куда смотреть? Не смотрит он в $PATH получается.
 
Последнее редактирование:

sfx09

New member
Сообщения
18
#18
Может кто-то подскажет, как можно сделать в Астре что-то вроде скрипта, который на готовых ярлыках на рабочем столе fly-dm изменит команду? Как я понимаю, ошибки в путях в ярлыках - исправить нельзя (до создания ярлыка), но теперь хотелось бы попробовать их исправить запуском какого-то скрипта (что-то типа аналога bat-ника)?
Доуточню. Т.е. ярлык (.desktop) уже создан. Нужно взять (считать) из него команду (содержимое Exec), и заменить вхождение символов "\\ " на "\ " - таким образом косяк с пробелами будет полечен.
В принципе, для упрощения - можно во всем файле .desktop исправить такое вхождение. Главное сделать это чем-то автоматическим, что можно вызвать после установки программы максимально просто для пользователя.
Пните, пожалуйста, что почитать по этому вопросу. Спасибо!
 
Последнее редактирование:

countmein

New member
Сообщения
328
#19
В принципе, для упрощения - можно во всем файле .desktop исправить такое вхождение. Главное сделать это чем-то автоматическим
Думаю, можно считать файл в переменную и там заменить. Только для полной ясности приведите содержимое файла до замен и после них. Что из чего должно получиться.
 

sfx09

New member
Сообщения
18
#20
Думаю, можно считать файл в переменную и там заменить. Только для полной ясности приведите содержимое файла до замен и после них. Что из чего должно получиться.

Астра делает так:

Код:
[Desktop Entry]
Name=Заполнитель
Exec=env WINEPREFIX="/home/sfx/.wine" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/sfx/.wine/dosdevices/c:/users/Public/Рабочий\\ стол/Заполнитель.lnk
Type=Application
StartupNotify=true
Path=/home/sfx/.wine/dosdevices/c:/ALTA
Icon=C32A_zapoln.0
StartupWMClass=zapoln.exe
Но такой Exec не работает. Работает такой (в Exec в ярлыках прописывается для пробела почему-то "\\ " вместо "\ "):

Код:
[Desktop Entry]
Name=Заполнитель
Exec=env WINEPREFIX="/home/sfx/.wine" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/sfx/.wine/dosdevices/c:/users/Public/Рабочий\ стол/Заполнитель.lnk
Type=Application
StartupNotify=true
Path=/home/sfx/.wine/dosdevices/c:/ALTA
Icon=C32A_zapoln.0
StartupWMClass=zapoln.exe