Odkaz z webu pustí specifickou aplikaci
Moderátoři: MichalM.Mac, zmiy, dandas, AdamVyborny, yonah, Macforum_Admin, Unreed
Odkaz z webu pustí specifickou aplikaci
Zdravím ve spolek,
na macOS jsem přešel z Linuxu, který jsem používal od roku 2002. Aktuálně bych potřeboval vyřešit věc, kterou jsem používal na Linuxu a na macOS nevím jak nastavit. Mám webový informační systém, kde po odkliknutí odkazu v tomto tvaru
nwinbox:ipadresa
se mi na linuxu spustil skript
#!/bin/bash
IP=`echo $1 | cut -d: -f2`
env WINEPREFIX="/home/user/.wine" /usr/bin/wine /home/user/Plocha/winbox3.exe $IP:8295 admin heslo
který zajistil spuštění programu s předvyplněnou ip adresou a heslem
Lze to nějak?
na macOS jsem přešel z Linuxu, který jsem používal od roku 2002. Aktuálně bych potřeboval vyřešit věc, kterou jsem používal na Linuxu a na macOS nevím jak nastavit. Mám webový informační systém, kde po odkliknutí odkazu v tomto tvaru
nwinbox:ipadresa
se mi na linuxu spustil skript
#!/bin/bash
IP=`echo $1 | cut -d: -f2`
env WINEPREFIX="/home/user/.wine" /usr/bin/wine /home/user/Plocha/winbox3.exe $IP:8295 admin heslo
který zajistil spuštění programu s předvyplněnou ip adresou a heslem
Lze to nějak?
Re: Odkaz z webu pustí specifickou aplikaci
A co Automator.app nepomůže?
Na to tu jsou docela machři. Když popíšeš co a jak na OS X tak určitě někdo poradí.
Na to tu jsou docela machři. Když popíšeš co a jak na OS X tak určitě někdo poradí.
Re: Odkaz z webu pustí specifickou aplikaci
Kód vypadá takto, kdy ip adresa se zobrazuje podle databáze zákazníka. To nwinbox je moje interní označení, na základě kterýho jsem v linuxu definoval jaká aplikace se má spustit.
<a href="nwinbox:100.64.202.111">[w]</a>
Já potřebuji, aby se přes wine spustil winbox.exe a převzalo to tuto ip adresu.
<a href="nwinbox:100.64.202.111">[w]</a>
Já potřebuji, aby se přes wine spustil winbox.exe a převzalo to tuto ip adresu.
- moreplavec
- Příspěvky: 211
- Registrován: 29 čer 2013 06:29
- Bydliště: Praha
- Kontaktovat uživatele:
Re: Odkaz z webu pustí specifickou aplikaci
Nějak jsem nepochopil co je cílem, ale vzdáleně něco spustit je řešení pro VPN, SSH nebo remote desktop. Případně, pokud to řešit skripty, proč nemít na cílovém stroji robota, který checkuje nějaký stav. Ale těžko radit, zadání moc nepobírám, asi mi uniká něco zásadního, proč nejde profi a ověřené řešení použít.
MacBook PRO 16" (i9/32GB/2TB), Macbook PRO 15" late 2013 (i7/16GB/500GB), Macbook 12", iPad mini, iPhone 8 plus
Re: Odkaz z webu pustí specifickou aplikaci
Nepotřebuji nic spouštět vzdáleně, potřebuji kliknutím na odkaz spustit lokální aplikaci. Jako když je v kódu mailto: tak to spustí poštovního klienta, když tam bude mms: tak to spustí nějaký multimediální přehravač. A já když kliknu na w, pod kterým se skrvý nwinbox: , tak potřebuji spustit lokální skript. Říká se tomu tuším uri handler. Teď když jsem se hrabal v googlu, tak jsem našel aplikaci, která zobrazuje asociace, ale nedá se tam přidat můj typ.
Re: Odkaz z webu pustí specifickou aplikaci
Pomůže toto:
https://support.shotgunsoftware.com/hc/ ... -protocols
?
Nebo toto:
http://hublog.hubmed.org/archives/001154.html
?
Nebo toto:
https://stackoverflow.com/questions/471 ... on-the-mac
Nechce se mi to číst vše
https://support.shotgunsoftware.com/hc/ ... -protocols
?
Nebo toto:
http://hublog.hubmed.org/archives/001154.html
?
Nebo toto:
https://stackoverflow.com/questions/471 ... on-the-mac
Nechce se mi to číst vše
Re: Odkaz z webu pustí specifickou aplikaci
Za mne hlasuju pro Platypus.
Kdyz se pri vyrobe "aplikace" zaskrtne "Accept dropped items" tak v nasledne objevsim "settings" je volba "Register as URI scheme handler" (coz bude ve tvem pripade onen "nwinbox"): "Script Path" je jen zdrojovy script pro vyroby App (jednorazove, neni potreba ho mit nafurt. Platypus si ho do toho App bundlu zkopiruje). V Safari (anebo i ve Firefoxu, mozna i jinde) kdyz pak kliknes na: Tak dany script (pouzity/napsany a zbundlovany v Platypu) obdrzi v ARGV ($@ v shellu): nwinbox://1.2.3.4
V tom scriptu s tim naloz jak uznas za vhodne (ja tam mel echo "$@" >> /tmp/testik-$$.txt ).
Jinak ano, technicky to dela totez co je popsano v odkazech v postu od Gwalhir. Ale uzivatelsky je to zretelne snazsi pres Platypus
Kdyz se pri vyrobe "aplikace" zaskrtne "Accept dropped items" tak v nasledne objevsim "settings" je volba "Register as URI scheme handler" (coz bude ve tvem pripade onen "nwinbox"): "Script Path" je jen zdrojovy script pro vyroby App (jednorazove, neni potreba ho mit nafurt. Platypus si ho do toho App bundlu zkopiruje). V Safari (anebo i ve Firefoxu, mozna i jinde) kdyz pak kliknes na: Tak dany script (pouzity/napsany a zbundlovany v Platypu) obdrzi v ARGV ($@ v shellu): nwinbox://1.2.3.4
V tom scriptu s tim naloz jak uznas za vhodne (ja tam mel echo "$@" >> /tmp/testik-$$.txt ).
Jinak ano, technicky to dela totez co je popsano v odkazech v postu od Gwalhir. Ale uzivatelsky je to zretelne snazsi pres Platypus
Re: Odkaz z webu pustí specifickou aplikaci
Sorry, “koser” web pro Platypus je tenhle: https://sveinbjorn.org/platypus
(ja dal predtim odkaz na github, ale jinak je to furt jedno a totez)
Jinak cela tahle vopicarna se musi udelat proto, ze macOS nema zadny centralni registr namapovanejch pripon, urischemat a podobne, to si nese kazda aplikace (App bundle) sebou. To znamena ze nejprve musis mit aplikaci, ktera o sobe nabonzuje ze je toho schopna, v ramci OS pak maximalne muzes vybrat kterou z nich pouzijes (pokud se ke stejnymu schematu/pripony/pomalu cehokoliv hlasi vic aplikaci). Odinstalaci (hozenim do kose) posledni aplikace podporujici danou priponu/schema/... mizi i povedomi OS o danem typu.
Funguje to skrz naskrz pomalu vseho a proto taky typicka macOS aplikace nepotrebuje nejaky instalator/deinstalator, ale jen pretazeni/rozbaleni na disk a pripadne vymazani z disku.
(ja dal predtim odkaz na github, ale jinak je to furt jedno a totez)
Jinak cela tahle vopicarna se musi udelat proto, ze macOS nema zadny centralni registr namapovanejch pripon, urischemat a podobne, to si nese kazda aplikace (App bundle) sebou. To znamena ze nejprve musis mit aplikaci, ktera o sobe nabonzuje ze je toho schopna, v ramci OS pak maximalne muzes vybrat kterou z nich pouzijes (pokud se ke stejnymu schematu/pripony/pomalu cehokoliv hlasi vic aplikaci). Odinstalaci (hozenim do kose) posledni aplikace podporujici danou priponu/schema/... mizi i povedomi OS o danem typu.
Funguje to skrz naskrz pomalu vseho a proto taky typicka macOS aplikace nepotrebuje nejaky instalator/deinstalator, ale jen pretazeni/rozbaleni na disk a pripadne vymazani z disku.
Re: Odkaz z webu pustí specifickou aplikaci
Děkuji moc za nasměrování. Zasekl jsem se dřív než jsem chtěl. Než ten skript předhodím platypusu, tak musím docílit toho, že to se spuštěním toho skriptu pustí vůbec to co má. Aktuálně jsem se zarazil, že když spustím z řádky příkaz níže, tak se winbox spustí ale nepřevezme ip adresu. To samé když si udělám na linuxu (se správnýma cestama), tak se ip adresa načte :-/
Kód: Vybrat vše
/Applications/Wine.app/Contents/MacOS/Wine /Users/userja/Desktop/winbox3.exe 172.20.0.1
Re: Odkaz z webu pustí specifickou aplikaci
Takhle se s Wine.app nepracuje. Nejsem si uplne jisty, jak spravne, ale mam takovy dojem ze je to spis pro praci s WineBottler.app (pomoci nej si vytvoris skorojako macOS .app - s vlastnim wine prostredim, o vlastni verzi, s vlastnimi knihovnami a tak).hafieror píše: ↑07 bře 2019 15:53...Kód: Vybrat vše
/Applications/Wine.app/Contents/MacOS/Wine /Users/userja/Desktop/winbox3.exe 172.20.0.1
Mimoto by to melo byt volany spis jako:
Kód: Vybrat vše
/Applications/Wine.app/Contents/Resources/bin/wine
Neco takovyhleho (tohle je asi nezbytny minimum):
Kód: Vybrat vše
export WINEUSRPATH="/Applications/Wine.app/Contents/Resources"
export WINEPREFIX="$HOME/Library/Application Support/winbox" # Je potreba definovat kde bude nasimulovany ten "MS Win" disk
export DYLD_FALLBACK_LIBRARY_PATH="/usr/lib":"$WINEUSRPATH/lib":"/opt/X11/lib":"/usr/X11/lib"
$WINEUSRPATH/bin/wine winbox.exe "$SEM_PRIJDE_IP_ADRESA"
Kód: Vybrat vše
brew install wine # jednorazove
/usr/local/bin/wine winbox.exe 1.2.3.4
P.S.: Dej si pozor na zasprclej wineserver nebo jiny zombikovity wine instance. Dokazou z funkcniho postupu udelat nefungujici vec.
Re: Odkaz z webu pustí specifickou aplikaci
Děkuji ti moc, varianta B byla to správné, jednoduché. Udělal si dnes jednoho člověka šťastným. Mě úplně pilo krev, když jsem spouštel aplikaci exe, která má asi 3MB zabalenou do apple světa, kde měla asi 200MB. Pak jsem objevil, že existuje wine jako balík a už jsem měl při spouštění lepší pocit. Ale to, že to nyní spouštím stejně jednoduše jako v linuxu mě dostalo a ve spojení s platypus je to prostě super a v to že to půjde rozhýbat i přes ten web, v to jsem ani nedoufal. Ještě jednou moc děkuji. Vyvrátilo to i moje přesvědčení, že macos je pro lidi co nechtějí nic řešit, ale on se dá i ohýbat pro ty co chtějí něco víc. (y)
Re: Odkaz z webu pustí specifickou aplikaci
Ad velikosti aplikaci. Ono to musis brat tak, ze typicka macOS aplikace je neco jako Flatpak v Linuxu. Je to sice vetsi, ale bez komplikaci zavislosti na sdilenych knihovnach a tak. Jen to holt trochu skripe kdyz to chces pouzit z terminalu (o kterem asi vetsina uzivatelu jabka nema ani tucha).
Homebrew, nebo Macports, to je zachrana pro takovy zvrhliky jako jsme my .
Ja osobne bych asi ten Winbox* spachal pres WineBottle jako MacApp, abych se o nej do budoucna nemusel dal starat (jako ze mi bude chybet wine nebo tak) a dal se poustet i klikacim zpusobem. Pak se to da pouzitelnym zpusobem zavolat i z terminalu.
Ale je to o neco komplikovanejsi to vyrobit (ale zase ne o moc).
Premejslim ze by to mozna slo zkombinovat (aby to umelo i to volani pres uri), ale to bude asi peknej bumbrlicek
*) On se porad jeste pouziva? Ja mel za to ze dneska ma RouterOS webui snad v zakladu. A pro slozitejsi veci lezes do Mikrotiku stejne pres ssh. Nebo ne?
Homebrew, nebo Macports, to je zachrana pro takovy zvrhliky jako jsme my .
Ja osobne bych asi ten Winbox* spachal pres WineBottle jako MacApp, abych se o nej do budoucna nemusel dal starat (jako ze mi bude chybet wine nebo tak) a dal se poustet i klikacim zpusobem. Pak se to da pouzitelnym zpusobem zavolat i z terminalu.
Ale je to o neco komplikovanejsi to vyrobit (ale zase ne o moc).
Premejslim ze by to mozna slo zkombinovat (aby to umelo i to volani pres uri), ale to bude asi peknej bumbrlicek
*) On se porad jeste pouziva? Ja mel za to ze dneska ma RouterOS webui snad v zakladu. A pro slozitejsi veci lezes do Mikrotiku stejne pres ssh. Nebo ne?
Re: Odkaz z webu pustí specifickou aplikaci
Co se týká té velikosti, tak já mám třeba otevřeny 4 winboxy najednou a to mě trochu děsilo. Teď jsem trochu víc v klidu. Přes ten platypus jsem si udělal dvě verze. Jedna mě spouští ty odkazy z webu a počítá s ipadresou a druhou mám dole v doku, když potřebuji někam jít přímo. Prostě šťastnej člověk teď.
Winbox se používá stále, webui je pro rozumnou práci k ničemu a to co nabízí winbox nemůže nahradit. Mám v síti tisíce mikrotiků od BGP až po koncové routery uživatelů a když jedu diagnostiku třeba s koncovým uživatelem, tak mám ve winboxu otevřený okno s pinge, traceroute, signálem wifi, leasses od dhcp .... dál vychytávky typu romon taky webui nenahradí. SSH samozřejmě používám taky, třeba pro otvírání tunelů.
Winbox se používá stále, webui je pro rozumnou práci k ničemu a to co nabízí winbox nemůže nahradit. Mám v síti tisíce mikrotiků od BGP až po koncové routery uživatelů a když jedu diagnostiku třeba s koncovým uživatelem, tak mám ve winboxu otevřený okno s pinge, traceroute, signálem wifi, leasses od dhcp .... dál vychytávky typu romon taky webui nenahradí. SSH samozřejmě používám taky, třeba pro otvírání tunelů.
Re: Odkaz z webu pustí specifickou aplikaci
Ještě jsem narazil na jeden problém a to, že mě nejde otevřít více oken z webu = otebřu si jednoho zákazníka a potřebuji otevřít druhého, tak odkliknu [w] a nic se neděje. Zavřu předchozí okno a spustí se to. To teda nevím jak bych obešel :-/
- MichalM.Mac
- Příspěvky: 3342
- Registrován: 30 črc 2012 11:03
- Kontaktovat uživatele:
Re: Odkaz z webu pustí specifickou aplikaci
Pokud chceš spustit aplikaci přes URL něco://, imho musíš to něco zaregistrovat do LaunchServices, aby o tom macOS věděl.
https://developer.apple.com/documentati ... h_services
https://developer.apple.com/documentati ... h_services
Re: Odkaz z webu pustí specifickou aplikaci
To je v pohode, tuhle cast uz ma poresenou pres CFBundleURLSchemes v Plistu ty “appky”. To uz chodi.
Ted je tematem dne vicenasobna instance ty “appky”.
Ted je tematem dne vicenasobna instance ty “appky”.
- MichalM.Mac
- Příspěvky: 3342
- Registrován: 30 črc 2012 11:03
- Kontaktovat uživatele:
Re: Odkaz z webu pustí specifickou aplikaci
Dalo by se mít jednu master aplikaci, které by pouze zpracovala URL a otevřela jinou aplikaci (v tvém případě winbox).
Re: Odkaz z webu pustí specifickou aplikaci
Dokáže mi někdo poradit, jak ten skript udělat na dva aby to běhalo podle té myšlenky master aplikace? Aktuální skript vypadá takto
Kód: Vybrat vše
#!/bin/bash
IP=`echo $1 | cut -d: -f2`
env WINEPREFIX="/Users/user/.wine" /usr/local/bin/wine /Users/user/Desktop/winbox3.exe $IP:8295 admin password
Re: Odkaz z webu pustí specifickou aplikaci
Nerikam ze tak jak jsem to spachal je jedina a nedejboze spravna cesta, ale pac mne to beztak zajimalo jak co nejmene pracnym zpusobem se k necemu takovymu dopracovat, tak jsem zkusil tohle:
(edit: jsem si nevsiml ze to volas v podobe "nwinbox:i.p.k.o", ja to celou dobu mel jako "nwinbox://i.p.k.o". Tak jsem to upravil aby to vzalo oboji)
- "Vyroba" WinBox.app:
- Za pomoci WinBottle jsem vypachal cosi a la macOS aplikace. Nastaveni WineBottle podle obrazku:
- Vysledny WinBox.app jsem drobet poupravil (ve vychozim stavu nepredava argumenty pro Wine). Verim ze unifikovany diff vystup, pouzitelny pro prikaz patch, znas:
(Dooprav podle potreby, tohle je bez kontroly, bez niceho. Proste neadertalskym zpusobem predhozeny argumenty.)
Kód: Vybrat vše
--- WinBox.app/Contents/MacOS/startwine 2019-03-13 13:22:54.000000000 +0100 +++ WinBox.app/Contents/MacOS/startwine 2019-03-13 13:31:50.000000000 +0100 @@ -47,8 +47,8 @@ cd "$BIN_PATH" fi if [ "$(defaults read "$BUNDLERESOURCEPATH/../Info" WineProgramArguments)" != "" ]; then -"$WINEUSRPATH/bin/wine" "$BIN_FILE" $(defaults read "$BUNDLERESOURCEPATH/../Info" WineProgramArguments) +"$WINEUSRPATH/bin/wine" "$BIN_FILE" $(defaults read "$BUNDLERESOURCEPATH/../Info" WineProgramArguments) $@ else -"$WINEUSRPATH/bin/wine" "$BIN_FILE" +"$WINEUSRPATH/bin/wine" "$BIN_FILE" $@ fi
- Tim je hotova "macOS" aplikace WinBox. Normalne spustitelna, uplne samostatna (Wine si nese sebou, takze neni treba nic doinstalovavat).
- Vyroba WinBoxHelper.app:
- V aplikaci Platypus:
- Script obsahuje toto:
Kód: Vybrat vše
#!/bin/sh if [ $# -gt 0 ]; then DST=$(echo $1 | sed -e 's/^nwinbox:\/*//') open -na WinBox --args ${DST}:8295 admin password fi
- O spousteni jako nova instance se stara prepinac '-n' u prikazu 'open' (ktery se sice asi ma pouzivat trochu jinak, ale takhle dela presne to co cekam).
- Zmineny script se pak nachazi v WinboxHelper.app/Contents/Resources/script, takze jde upravovat podle potreby bez nutnosti znovuvyroby v Platypu.
- Zkopirovat/presunout oboji, WinBox.app i WinboxHelper.app, do "Aplikaci" (at uz do tech na koreni, nebo v domovskem adresari). Nejsem si jisty jestli je nutny aspon jednou pustit WinboxHelper.app.
(edit: jsem si nevsiml ze to volas v podobe "nwinbox:i.p.k.o", ja to celou dobu mel jako "nwinbox://i.p.k.o". Tak jsem to upravil aby to vzalo oboji)
Naposledy upravil(a) kmarty dne 13 bře 2019 14:57, celkem upraveno 6 x.
Re: Odkaz z webu pustí specifickou aplikaci
A pokud jde o zabrani RAM, tak si myslim muzes zustat v klidu:
A na disku je to jen jednou .Re: Odkaz z webu pustí specifickou aplikaci
Tak tady jsem se zaseknul, trochu si mě přecenil
"Vysledny WinBox.app jsem drobet poupravil (ve vychozim stavu nepredava argumenty pro Wine). Verim ze unifikovany diff vystup, pouzitelny pro prikaz patch, znas:"
"Vysledny WinBox.app jsem drobet poupravil (ve vychozim stavu nepredava argumenty pro Wine). Verim ze unifikovany diff vystup, pouzitelny pro prikaz patch, znas:"
Re: Odkaz z webu pustí specifickou aplikaci
To melo byt abys mohl pustitkde winbox.patch je obsah toho "kodu", toho "unified diff".
Ok, nevadi. Tak jinak:
V WinBox.app/Contents/MacOS/startwine na radkach 50 a 52 (zacinaji "$WINEUSRPATH/bin/wine", jsou prakticky az na konci toho scriptu) pridej na jejich konec $@. Standardnim buildem pres WineBottle totiz spousteny EXE nedostane parametry (a ty tu potrebujes, jinak to nepreda tu IP adresu, juzrnejm ani heslo).
Jinak ten DMG na uloztu uz to obsahuje upraveny.
Kód: Vybrat vše
patch -p0 < winbox.patch
Ok, nevadi. Tak jinak:
V WinBox.app/Contents/MacOS/startwine na radkach 50 a 52 (zacinaji "$WINEUSRPATH/bin/wine", jsou prakticky az na konci toho scriptu) pridej na jejich konec $@. Standardnim buildem pres WineBottle totiz spousteny EXE nedostane parametry (a ty tu potrebujes, jinak to nepreda tu IP adresu, juzrnejm ani heslo).
Jinak ten DMG na uloztu uz to obsahuje upraveny.
Re: Odkaz z webu pustí specifickou aplikaci
Tak tvůj balík šlape jak víno podle představ, zkoušel jsem to udělat také, ale narazil jsem, že se mi stále nechtěl asociovat nwinbox, ale tolik času jsem tomu nevěnoval proč se tak děje. To nastane, až vydají novou verzi winboxu a budu to muset udělat znovu. Poslední vada na kráse, že to neukládá konfigurační soubor. Hlásí to Error: Could not save configuration.
Ještě jednou moc děkuji za pomoc.
Ještě jednou moc děkuji za pomoc.
Re: Odkaz z webu pustí specifickou aplikaci
Heh, tak to nemam tuchy.
Re: Odkaz z webu pustí specifickou aplikaci
Ahoj, nainstaloval jsem Catainu a přestalo mi fungovat vše kolem wine tedy primárně winbox.exe bez kterého žít nemohu. Je nějaké řešení, aby to v Catalině opět šlo?
Re: Odkaz z webu pustí specifickou aplikaci
Wine je implementace MS Win API*, nikoliv emulator windowsiho stroje => (p|d)okud je winbox.exe 32bit aplikace, pak nepobezi. Je mi lito.
*) Bez podpory MS. Tzn. vyviji se vicemene systemem "blackbox" - kdyz je vstup "A" a vystup je "B", tak moje reseni musi na zaklade "A" udelat taky "B". Proto je taky ta uspesnost tak prachbidna, protoze tenhle system vyvoje neni rychly (a 100% spolehlivy).
*) Bez podpory MS. Tzn. vyviji se vicemene systemem "blackbox" - kdyz je vstup "A" a vystup je "B", tak moje reseni musi na zaklade "A" udelat taky "B". Proto je taky ta uspesnost tak prachbidna, protoze tenhle system vyvoje neni rychly (a 100% spolehlivy).
Naposledy upravil(a) kmarty dne 10 říj 2019 17:23, celkem upraveno 2 x.
Re: Odkaz z webu pustí specifickou aplikaci
Jj, už jsem to pochopil a udělal jsem zpět downgrade. Doufám, že se to tvůrcům wine podaří vyřešit.
Re: Odkaz z webu pustí specifickou aplikaci
Nepodari. To neni uloha Wine, to je o tom ze macOS jadro se bavi pouze se 64bit binarkami a Winbox.exe je 32bit binarka. Wine je de facto pouze slovnik nazvu, ze "zufanek" je naberacka, "rozni" je rozsvitit a tak (akorat jde o jmena MS Win volani a jejich prevod na macOS volani). Ale samotne spusteni te binarky (Winbox.exe v tomto pripade) je v ramci macOS jadra.
Re: Odkaz z webu pustí specifickou aplikaci
Tak jsem tu zpět. Svět se pohnul, že existuje 64bit verze winboxu. Podle návodu
https://help.mikrotik.com/docs/display/ ... OSCatalina
ji dokážu spustit z řádku, ale jsem zase na začátku zda z toho dokážu udělat aplikaci viz postupy výše, protože winbottler to nezvládne, protože asi neumí s 64bit pracovat.
Je nějaká cesta jak pokračovat?
https://help.mikrotik.com/docs/display/ ... OSCatalina
ji dokážu spustit z řádku, ale jsem zase na začátku zda z toho dokážu udělat aplikaci viz postupy výše, protože winbottler to nezvládne, protože asi neumí s 64bit pracovat.
Je nějaká cesta jak pokračovat?
Re: Odkaz z webu pustí specifickou aplikaci
Hadam ze ted je potreba (64bit) winebottler s 64bit wine.
Re: Odkaz z webu pustí specifickou aplikaci
Podle tohoto článku https://mike.kronenberg.org/64-bit-supp ... ler-4-0-1/
jsem pochopil, že 64bit verze existuje. Stáhnul jsem to, nainstaloval jsem winebottler + wine v tom balíku, nastavil podle tvého návodu zde jen s tím, že jsem dal Win7 64bit, ale skončilo to s chybou viz níže :-/
jsem pochopil, že 64bit verze existuje. Stáhnul jsem to, nainstaloval jsem winebottler + wine v tom balíku, nastavil podle tvého návodu zde jen s tím, že jsem dal Win7 64bit, ale skončilo to s chybou viz níže :-/
Kód: Vybrat vše
###BOTTLING### Create .app...
###BOTTLING### Enabling CoreAudio, Colors, Antialiasing and flat menus...
/Applications/WineBottler.app/Contents/Frameworks/WBottler.framework/Resources/bottler.sh: line 142: /Applications/Wine.app/Contents/Resources/bin/wine: Bad CPU type in executable
### LOG ### Command '/Applications/Wine.app/Contents/Resources/bin/wine regedit /tmp/reg.reg' returned status 126.
###ERROR### Command '/Applications/Wine.app/Contents/Resources/bin/wine regedit /tmp/reg.reg' returned status 126.
Task returned with status 1.
Re: Odkaz z webu pustí specifickou aplikaci
Neco mi rika ze nemas tu verzi WineBottleru u ktere je deklarovana podpora wine64.
Re: Odkaz z webu pustí specifickou aplikaci
Ke stažení je jen verze 4.0.1.1 u které píší v tom článku, že 64bit podporuje tak nevím kde bych udělal chybu.
Re: Odkaz z webu pustí specifickou aplikaci
Koukam ze ne ty, ale tvurce Winebottleru
Na to aby to vyslovene nezanadavalo, je potreba upravit Winebottler.app:
Tim jsem se dopracoval k tomu ze se "naflaskoval" 64bit winbox. A sel spustit. Ale jestli je tam jeste nejaky zadrhel, to nevim a ani nemam nijakou chut to zkoumat (nepouzivam winbox).
Na to aby to vyslovene nezanadavalo, je potreba upravit Winebottler.app:
Kód: Vybrat vše
diff -Naur WineBottler-original.app/Contents/Frameworks/WBottler.framework/Versions/Current/Resources/bottler.sh WineBottler.app/Contents/Frameworks/WBottler.framework/Versions/Current/Resources/bottler.sh
--- WineBottler-original.app/Contents/Frameworks/WBottler.framework/Versions/Current/Resources/bottler.sh 2019-09-03 10:43:26.000000000 +0200
+++ WineBottler.app/Contents/Frameworks/WBottler.framework/Versions/Current/Resources/bottler.sh 2019-12-12 19:10:34.000000000 +0100
@@ -36,7 +36,6 @@
########## Debug Info ##########
################################################################################
-WINE_VERSION=$("$WINEPATH/wine" --version |sed 's/wine-//')
if [[ "$WINETRICKS_ITEMS" == *"arch=64"* ]]; then
export WINEARCH=win64
@@ -44,6 +43,13 @@
export WINEARCH=win32
fi
+if [ "$WINEARCH" = "win64" ]; then
+ export WINEBIN="wine64"
+else
+ export WINEBIN="wine"
+fi
+WINE_VERSION=$("$WINEPATH/$WINEBIN" --version |sed 's/wine-//')
+
echo "###BOTTLING### Gathering debug Info..."
echo ""
echo "Versions"
@@ -100,7 +106,7 @@
########## Some export because I had troubles with paths #########
################################################################################
export PATH="$BUNDLERESOURCEPATH":"$BUNDLERESOURCEPATH/bin":"$WINEPATH":$PATH
-export WINE="$WINEPATH/wine"
+export WINE="$WINEPATH/$WINEBIN"
export WINESERVER="$WINEPATH/wineserver"
export WINEPREFIX="$BOTTLE/Contents/Resources/wineprefix"
export USERNAME="$USER"
@@ -264,7 +270,9 @@
cp "$BUNDLERESOURCEPATH/startwine" "$BOTTLE/Contents/MacOS/startwine"
cp "$BUNDLERESOURCEPATH/startwine.rsrc" "$BOTTLE/Contents/Resources/startwine.rsrc"
cp "$BUNDLERESOURCEPATH/main.scpt" "$BOTTLE/Contents/Resources/Scripts/main.scpt"
- cp "$BUNDLERESOURCEPATH/startwine.sh" "$BOTTLE/Contents/MacOS/startwine.sh"
+ #cp "$BUNDLERESOURCEPATH/startwine.sh" "$BOTTLE/Contents/MacOS/startwine.sh"
+ sed -e "s/__WINEARCH__/$WINEARCH/g;s/__WINEBIN__/$WINEBIN/g" "$BUNDLERESOURCEPATH/startwine.sh" > "$BOTTLE/Contents/MacOS/startwine.sh"
+
chmod a+x "$BOTTLE/Contents/MacOS/startwine.sh"
# Info.plist
@@ -582,12 +590,12 @@
# WINE64SAVE=$WINE64
PATHSAVE=$PATH
PREFSAVE=$WINEPREFIX
- ln -s "$WINEPATH/wine" "$NOSPACE_PATH/wine"
- ln -s "$WINEPATH/wine64" "$NOSPACE_PATH/wine64"
+ ln -s "$WINEPATH/$WINEBIN" "$NOSPACE_PATH/$WINEBIN"
+# ln -s "$WINEPATH/wine64" "$NOSPACE_PATH/wine64"
ln -s "$(which cabextract)" "/$NOSPACE_PATH/cabextract"
ln -s "$WINEPREFIX" "$NOSPACE_PATH/wineprefix"
export PATH="$NOSPACE_PATH":"$PATH"
- export WINE="$NOSPACE_PATH/wine"
+ export WINE="$NOSPACE_PATH/$WINEBIN"
export WINEPREFIX="$NOSPACE_PATH/wineprefix"
# APPLY winetricks
diff -Naur WineBottler-original.app/Contents/Frameworks/WBottler.framework/Versions/Current/Resources/startwine.sh WineBottler.app/Contents/Frameworks/WBottler.framework/Versions/Current/Resources/startwine.sh
--- WineBottler-original.app/Contents/Frameworks/WBottler.framework/Versions/Current/Resources/startwine.sh 2019-09-03 10:43:26.000000000 +0200
+++ WineBottler.app/Contents/Frameworks/WBottler.framework/Versions/Current/Resources/startwine.sh 2019-12-12 19:01:40.000000000 +0100
@@ -8,13 +8,13 @@
#find wine, try in Bundle, ~/Applications, /Applications, Spotlight
-if [ -f "$BUNDLERESOURCEPATH/Wine.bundle/Contents/Resources/bin/wine" ]; then
+if [ -f "$BUNDLERESOURCEPATH/Wine.bundle/Contents/Resources/bin/__WINEBIN__" ]; then
export WINEUSRPATH="$BUNDLERESOURCEPATH/Wine.bundle/Contents/Resources"
-elif [ -f "$HOME/Applications/Wine.app/Contents/Resources/bin/wine" ]; then
+elif [ -f "$HOME/Applications/Wine.app/Contents/Resources/bin/__WINEBIN__" ]; then
export WINEUSRPATH="$HOME/Applications/Wine.app/Contents/Resources"
-elif [ -f "/Applications/Wine.app/Contents/Resources/bin/wine" ]; then
+elif [ -f "/Applications/Wine.app/Contents/Resources/bin/__WINEBIN__" ]; then
export WINEUSRPATH="/Applications/Wine.app/Contents/Resources"
-elif [ -f "$(mdfind 'kMDItemCFBundleIdentifier == org.kronenberg.Wine' | grep -m 1 'Wine.app')/Contents/Resources/bin/wine" ]; then
+elif [ -f "$(mdfind 'kMDItemCFBundleIdentifier == org.kronenberg.Wine' | grep -m 1 'Wine.app')/Contents/Resources/bin/__WINEBIN__" ]; then
export WINEUSRPATH="$(mdfind 'kMDItemCFBundleIdentifier == org.kronenberg.Wine' | grep -m 1 'Wine.app')/Contents/Resources"
else
echo "Wine not found!"
@@ -37,7 +37,7 @@
export DYLD_FALLBACK_LIBRARY_PATH="/usr/lib":"$WINEUSRPATH/lib"
export WINEPATH="$WINEUSRPATH/bin"
export FREETYPE_PROPERTIES="truetype:interpreter-version=35"
-export WINEARCH=win32
+export WINEARCH=__WINEARCH__
@@ -53,9 +53,9 @@
cd "$BIN_PATH"
fi
if [ "$(defaults read "$BUNDLERESOURCEPATH/../Info" WineProgramArguments)" != "" ]; then
-"$WINEUSRPATH/bin/wine" "$BIN_FILE" $(defaults read "$BUNDLERESOURCEPATH/../Info" WineProgramArguments) "$@" & PID=$!
+"$WINEUSRPATH/bin/__WINEBIN__" "$BIN_FILE" $(defaults read "$BUNDLERESOURCEPATH/../Info" WineProgramArguments) "$@" & PID=$!
else
-"$WINEUSRPATH/bin/wine" "$BIN_FILE" "$@" & PID=$!
+"$WINEUSRPATH/bin/__WINEBIN__" "$BIN_FILE" "$@" & PID=$!
fi
Re: Odkaz z webu pustí specifickou aplikaci
Děkuji moc, nevím co bych bez tebe dělal. Jen co pochopím jak funguje ten diff tak to otestuju. Ještě jednou moc děkuji.