Wine + Obmenu ну ни как не дружат

Автор vovan--vovan, 17 февраля 2015, 19:21:01

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

vovan--vovan

Доброе утро коллеги, подскажите пожалуйста как программу установленную в Wine прописать и вызвать из obmenu?
Не даст поколебаться Он ноге твоей, и не воздремлет хранящий тебя...

Haron Prime

#1
создать ручками десктоп-файл в /usr/share/applications, в котором прописать параметры запуска приложения
типа вот так
[Desktop Entry]
Version=1.0
Type=Application
Hidden=false
Terminal=false
Icon=icon_path
Name=programm_name
Exec=env WINEPREFIX="/home/haron/.wine" wine /home/haron/lib/programm_path/programm.exe

это если используется автообновляемое меню (pipe menu)
если меню статичное и его автообновление не предусмотрено, то прописать запуск в ~/.config/openbox/menu.xml вручную
команда запуска будет аналогична той, которая используется в десктоп-файле
у меня меню не автообновляемое (нафиг не надо), потому я руками добавил в него две программы, запускаемые вайном - всё работает и никаких заморочек с гуёвыми костылями
sudo ls -a | grep brain > /dev/head && cd

vovan--vovan

Как прописать в меню программу установленную в Debian, это я понял. Кстати у меня тоже меню не автообновляемое, даже не руссифицированное, я его вручную переписал на русский. Так же в  /usr/share/applications видел Wine и даже запускал оттуда, а программу установленную в Wine там не видел. Лежит она в другом месте. Домашняя папка, скрытые файлы. Вполне легко оттуда она запускается, и ярлыки, которые залетели в /home так же запускают программу, но когда указываешь в obmenu на название программы или в скрытой папке на запускаемый файл программы или на ярлык программы, то obmenu пишет что нет этого файла или каталога или... Не помню точно какую еще ругань я там видел. Вот опять ни чего не понимаю.
Не даст поколебаться Он ноге твоей, и не воздремлет хранящий тебя...

Haron Prime

#3
vovan--vovan,
запусти в терминале команду
env WINEPREFIX="/home/usename/.wine" wine /home/username/programm_path/programm.exe
у меня эта комада работает на трёх разных машинах с четырьмя разными осями/DE - стандартная убунта с юнити, ксубунта, арч с кедами, арч с опенбоксом
дебиан не настолько отличается от убунты или арча, чтобы в нём это не работало!
если у тебя не работает, значит ты где-то допускаешь ошибку

Сообщение объединено: 18 Февраль 2015, 17:37:29

Цитата: vovan--vovan от 18 февраля 2015, 18:16:34программу установленную в Wine там не видел.
её там и не будет - вайн не создаёт десктоп-файлы для установленных виндовых программ
хочешь иметь ярлык (десктоп-файл) - создай его сам!
Цитата: vovan--vovan от 18 февраля 2015, 18:16:34Лежит она в другом месте.
у меня вообще программы не установленны традиционным способом (через setup.exe) и ничего, работают без проблем!
и лежат совесем в другом месте, а не по стандартному пути

Сообщение объединено: 18 февраля 2015, 19:03:03

P.S> вот тебе конкретный пример (не поленился запустить ноут с опенбоксом)

три виндовых проги прописаны в menu.xml
две запускаются командой, которую я привёл, третья - скриптом, в котором используется та же команда
#!/bin/sh
cd /home/haron/lib/2D-Place
env WINEPREFIX="/home/haron/.wine" wine /home/haron/lib/2D-Place/PlaceRun.exe
exit 0

всё прекрасно работает
sudo ls -a | grep brain > /dev/head && cd

vovan--vovan

#4
Цитата: Haron Prime от 18 февраля 2015, 18:33:48значит ты где-то допускаешь ошибку
Согласен, согласен, только вот где...
Кстати, минут 10 тупо смотрел на эту "команду"- setup.exe ;D не мог вспомнить когда вводил ее последний раз, и куда? Потом только дошло.
И кстати терминал выдает наenv WINEPREFIX="/home/usename/.wine" wine /home/username/programm_path/programm.exe Нет такого файла или каталога.
И кстати у меня не совсем Дебиан, а CrunchBang Linux 11 "Waldorf".
Эх, программные коды приблуды...
Не даст поколебаться Он ноге твоей, и не воздремлет хранящий тебя...

Haron Prime

#5
Цитата: vovan--vovan от 18 февраля 2015, 19:15:13И кстати терминал выдает на
env WINEPREFIX="/home/usename/.wine" wine /home/username/programm_path/programm.exe
мда....
ладно, начнём с начала
usename - заменить на твоё имя пользователя
/home/username/programm_path/programm.exe - заменить на полный путь к исполняемому файлу программы

у меня такая команда выглядит вот так
env WINEPREFIX="/home/haron/.wine" wine /home/haron/distr/PRO100_4.42/PRO100/pro100.exe

выложи сюда полную команду, которую ты вводишь

Цитата: vovan--vovan от 18 февраля 2015, 19:15:13И кстати у меня не совсем Дебиан, а CrunchBang Linux 11 "Waldorf".
не имеет значения - это тот же дебиан, только с опенбоксом искаропки
кстати, на кранче это тоже работает - я им пользовался года полтора, сначала 10-м, потом 11-м
sudo ls -a | grep brain > /dev/head && cd

vovan--vovan

Это я понял.
env WINEPREFIX="/home/x/.wine" wine /home/x/(а исполняемый файл у меня лежит в .wine/ и т.д)
Так вот, писал как есть, но терминал матерные слова выдает - нет говорит такого файла.
Не даст поколебаться Он ноге твоей, и не воздремлет хранящий тебя...

Haron Prime

vovan--vovan, выложи пожалуйста полную команду!
без где-то там и т.п.

P.S> я примерно на 95% знаю, где ошибка, но мне нужно подтверждение
скорее всего у тебя в пути к исполняемому файлу присутствует пробел
sudo ls -a | grep brain > /dev/head && cd

vovan--vovan

Вот что писал:
env WINEPREFIX="/home/x/.wine" wine /home/x/.wine/drive_c/Program Files/BibleQuote 5 Bibliologia Edition/BQ5.EXE
Не даст поколебаться Он ноге твоей, и не воздремлет хранящий тебя...

Haron Prime

#9
vovan--vovan,  о чём я и говорил!
пробел в пути к файлу!
да ещё и не один!
/home/x/.wine/drive_c/Program Files/BibleQuote_5_Bibliologia_Edition/BQ5.EXE

ПРОБЕЛЫ НУЖНО ЭКРАНИРОВАТЬ!
env WINEPREFIX="/home/x/.wine" wine /home/x/.wine/drive_c/Program Files/BibleQuote\ 5\ Bibliologia\ Edition/BQ5.EXE
или брать путь в кавычки
env WINEPREFIX="/home/x/.wine" wine "/home/x/.wine/drive_c/Program Files/BibleQuote 5 Bibliologia Edition/BQ5.EXE"

но лучше всё-таки экранировать

Сообщение объединено: 18 февраля 2015, 19:59:21

P.S> в следующий раз, когда тебя попросят выложить вводимую команду или выхлоп терминала, выкладывай полностью всё, что просят, а не "типа-опа, где-то_там" - съэкономишь своё и чужое время
sudo ls -a | grep brain > /dev/head && cd

vovan--vovan

Нет вины на мне, боярин. Про экранирование первый раз слышу. И кстати, на вот этот код: env WINEPREFIX="/home/x/.wine" wine /home/x/.wine/drive_c/Program Files/BibleQuote\ 5\ Bibliologia\ Edition/BQ5.EXE, мне терминал ответил: cannot find '/home/x/.wine/drive_c/Program'
А вот где кавычки стоят, вот эту ругань выдал: fixme:keyboard:X11DRV_LoadKeyboardLayout L"00000419", 0000: stub!
fixme:keyboard:X11DRV_ActivateKeyboardLayout (nil), 0001: semi-stub!
fixme:keyboard:X11DRV_ActivateKeyboardLayout flags 1 not supported
fixme:keyboard:X11DRV_ActivateKeyboardLayout HKL_NEXT and HKL_PREV not supported

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

Haron Prime

Цитата: vovan--vovan от 18 февраля 2015, 20:12:29И кстати, на вот этот код: env WINEPREFIX="/home/x/.wine" wine /home/x/.wine/drive_c/Program Files/BibleQuote\ 5\ Bibliologia\ Edition/BQ5.EXE, мне терминал ответил: cannot find '/home/x/.wine/drive_c/Program'
виноват - пропустил ещё один пробел в Program Files
env WINEPREFIX="/home/x/.wine" wine /home/x/.wine/drive_c/Program\ Files/BibleQuote\ 5\ Bibliologia\ Edition/BQ5.EXE
вот так будет работать
Цитата: vovan--vovan от 18 февраля 2015, 20:12:29Про экранирование первый раз слышу
ну так теперь будешь знать, что пробел обязательно нужно экранировать обратным слешем \
всегда! т.к. система интерпретирует пробел, как конец пути или команды
а ещё лучше - не использовать названия, содержащие пробел
если конечно есть такая возможность

Цитата: vovan--vovan от 18 февраля 2015, 20:12:29А вот где кавычки стоят, вот эту ругань выдал:
это не ругань, а обычный вывод терминала - программа просто уведомляет, что, к примеру, комбинации клавиш HKL_NEXT and HKL_PREV not supported - не поддерживаются
ну и так далее
ничего критического в выводе терминала нет

что касается кавычек/экранирования - я всё-таки настоятельно рекомендую использовать именно экранирование, т.к. кавычки в определённых ситуациях могут привести к глюку
вот простой пример
"env WINEPREFIX="/home/x/.wine" wine "/home/x/.wine/drive_c/Program Files/BibleQuote 5 Bibliologia Edition/BQ5.EXE""
берём всю команду в кавычки (иногда бывает нужно) и получаем проблему - система будет читать эту строку не так, как ты задумал, а по-своему, согласно правилам
"env WINEPREFIX=" - первая часть
/home/x/.wine - вторая часть
" wine " - третья часть
/home/x/.wine/drive_c/Program Files/BibleQuote 5 Bibliologia Edition/BQ5.EXE - четвёртая часть
"" - пятая часть
результат - система напишет тебе об ошибке
чтобы этого избежать, нужно использовать как двойные, так и одинарные кавычки
'env WINEPREFIX="/home/x/.wine" wine "/home/x/.wine/drive_c/Program Files/BibleQuote 5 Bibliologia Edition/BQ5.EXE" '

прими к сведенью, на будущее
и ещё один момент - в опенбоксе много приходится редактировать текстовые конфиги
установи себе нормальный редактор, который будет подсвечивать не только синтаксис, но и скобки и кавычки
типа вот так

будет намного удобнее и позволит избежать некоторых ошибок
sudo ls -a | grep brain > /dev/head && cd

vovan--vovan

Большое спасибо за такие подробнейшие разъяснения. Все получилось. В obmenu прописал, все открывается.
Не даст поколебаться Он ноге твоей, и не воздремлет хранящий тебя...