Automatické spuštění aplikací na macu

Pokud si nevíte rady s operačním systémem MacOS X, jeho nastavením nebo aplikacemi týkajícími se právě práce s počítačem, tak zde můžete vznést svůj dotaz

Moderátoři: MichalM.Mac, zmiy, dandas, AdamVyborny, yonah, Macforum_Admin, Unreed

Odpovědět
eragons
Příspěvky: 5
Registrován: 15 kvě 2017 14:52

Automatické spuštění aplikací na macu

Příspěvek od eragons » 15 kvě 2017 15:15

Zdravím,

v jedné z provozoven mám Mac Mini (Sierra) jako zobrazovací zařízení pro dvě televize. Na každé obrazovce běží webový prohlížeč Chrome ve full screen módu. Mac je umístěn velmi daleko od televizí a signál je veden přes HDMI over Ethernet. Nemohu tedy připojit myšku a klávesnici a mac ovládat. Sám to řeším přes teamviewer, ale potřebuji vyřešit případ, kdy vypadne proud, vybijí se UPS, Mac se vypne a já nebudu k dispozici, abych tam znovu spustil aplikace, umístil je na obě obrazovky a načetl webovou adresu, která se zobrazuje.

Chci se tedy zeptat, jestli někdo nezná nějaký způsob, jak celý tento proces zautomatizovat. Aby se po každém restartu automtaticky spustil 2x Chrome, na každou obrazovku jedno okno, každé okno si načetlo jinou webovou adresu a obě okno se také musí maximalizovat. Zatím mám vyřešen jen automatický login uživatele. Po klasickém restartu si sice mac pamatuje, jaká okna měl otevřená a otevře je znovu, ale v případě vypnutí vlivem výpadku proudu se to nestane.

Uživatelský avatar
rony
Příspěvky: 3637
Registrován: 01 srp 2012 07:47
Bydliště: Bratislava
Kontaktovat uživatele:

Re: Automatické spuštění aplikací na macu

Příspěvek od rony » 15 kvě 2017 15:24

spustenie po starte zariadis zaradenim do


System preferences, Users & groups a potom u automaticky prihlasovaneho uzivatela zalozka Login items, tam pridas uz to, co ti zabezpeci spustenie danych okien na dane monitory.

https://apple.stackexchange.com/questio ... nd-monitor

a potom by som si pre kazdy monitor asi v Automatr spravil pseudoappku, ktora by volala chrome ako prikaz v kiosk mode s danou url. Potom by som kazdu tu pseudoappku podla linku vyssie napojil pre dany monitor.


Ten automator asi nejako takto:

Automator
New
Application
Launch application
Google Chrome
(alebo Apple Script a az z neho volat chrome?)
potom Save, tu uz pomenujes a umiestnis tu appku.

nasledne ju spustis, v docku jej priradis monitor...


https://gist.github.com/jelder/1453585/ ... b1487f5005

Kód: Vybrat vše


tell application "Google Chrome"
    if it is running then
                quit
    else
        activate
        open location "http://mywebsite.com"
        delay 1
        activate
        tell application "System Events" to keystroke "f" using {command down, shift down}
    end if
end tell
-- /\/\ .\ > .\ / Facebook skupina Uživatelé Apple Watch spravodaj.madaj.net
 Mac Mini  iPhone 13pro  iPad Pro  Pencil  TV  WATCH  AirPods  Homepod

Uživatelský avatar
Honza.Mac
Příspěvky: 3016
Registrován: 11 kvě 2015 22:12

Re: Automatické spuštění aplikací na macu

Příspěvek od Honza.Mac » 15 kvě 2017 15:28

Jen od boku, tak jak to mám na Linux kioscích.
Předpoklad je autologin.
Shell/Terminal script v Automatoru spouštět po user login.
Skript by měl obsahovat něco jako :
google-chrome http://ta_web_stranka
Uložit jako chrome1.sh
No a ten druhý skrip bude obsahovat to samé akorát jej uložíte jako chrome2.sh.
Nastavit chmod +x na oba skripty a mělo by to být.
Je to jen obecně ...
Honza.Mac
iPhone 8,8+,X 4dev
iPad Air 2 64 GB
Apple Watch Sport 42 mm
15" MBPro Retina (mid 2012)/16GB/480GB SSD
TB Extern. HDD Transcend StoreJet 500, 256GB
USB 3.0 Extern. HDD LaCie Porsche design 1 TB
Synology NAS DS-218, DS-216play 4TB WD Red

eragons
Příspěvky: 5
Registrován: 15 kvě 2017 14:52

Re: Automatické spuštění aplikací na macu

Příspěvek od eragons » 16 kvě 2017 10:49

Díky za odpovědi.

Zadařilo se mi ale jen částečně, použil jsem následující skript:

Kód: Vybrat vše

tell application "Google Chrome"
	activate
	open location "http://google.com"
	delay 1
	activate
	tell application "System Events" to keystroke "f" using {control down, command down}
end tell
Úspěšně mi to spustí chrome na prvním monitoru, načte danou url a spustí celoobrazovkový režim.
Když ale použiji další skript, otevře nový Tab a ne nové okno.

Taky jsem úplně nepochopil, jak říct té aplikaci, aby se spustila v jiném okně. V docku mi to žádnou možnost přidělit monitor nenabízí. Po rozkliknutí mám v docku v aplikacích po rozbalení Options pouze Remove from dock, open at login, show in finder.

Uživatelský avatar
MichalM.Mac
Příspěvky: 3342
Registrován: 30 črc 2012 11:03
Kontaktovat uživatele:

Re: Automatické spuštění aplikací na macu

Příspěvek od MichalM.Mac » 16 kvě 2017 22:08

Můj bastl skript, který sort of works.
Je to hodně naivní. Na druhý monitor to okno dostanu přes dostatečně velkou zápornou souřadnici, protože je vlevo od mého primárního monitoru.

Kód: Vybrat vše

tell application "Google Chrome"
	activate
	set window1 to make window with properties {title:"window1"}
	set URL of first tab of window1 to "http://www.macforum.cz"
	set window2 to make window
	set URL of first tab of window2 to "http://www.seznam.cz"
	
	activate first tab of window1
	
	tell application "System Events" to tell process "Google Chrome"
		
		set position of window 2 to {0, 50}
		
		perform action "AXRaise" of window 1
		set position of window 1 to {-2000, 50}
		
		keystroke "f" using {control down, command down}
		delay 2
		perform action "AXRaise" of window 2
		keystroke "f" using {control down, command down}
	end tell
	
end tell
Zdroje:
https://apple.stackexchange.com/questio ... to-another
https://apple.stackexchange.com/questio ... e-commands
http://stackoverflow.com/questions/1036 ... ain-window

eragons
Příspěvky: 5
Registrován: 15 kvě 2017 14:52

Re: Automatické spuštění aplikací na macu

Příspěvek od eragons » 17 kvě 2017 14:30

Toto už vypadá pěkně a funguje to. Pokud to spustím z editoru skriptů, udělá to vše co má, akorát jsem si před to přidal ještě

Kód: Vybrat vše

tell application "Google Chrome"
	set windowList to every tab of every window
	repeat with tabList in windowList
		repeat with thisTab in tabList
			close thisTab
		end repeat
	end repeat
end tell
aby mi to zavřelo všechny panely, pokud jsou nějaké otevřené.

Chtěl jsem to nějak zautomatizovat, takže jsem v Automateru dal vytvořit novou appku, zvolil Run AppleScript a vložil kód. Pokud to spustím přímo za automateru, tak to stále funguje. Jakmile ale aplikaci uložím a spouštím jí už přes .dmg soubor, dostanu chybu

Kód: Vybrat vše

The action “Run AppleScript” encountered an error.
Nevíte někdo, proč se mi to děje?

Uživatelský avatar
rony
Příspěvky: 3637
Registrován: 01 srp 2012 07:47
Bydliště: Bratislava
Kontaktovat uživatele:

Re: Automatické spuštění aplikací na macu

Příspěvek od rony » 17 kvě 2017 15:14

.dmg? pripona z Automatora by mala byt .app
-- /\/\ .\ > .\ / Facebook skupina Uživatelé Apple Watch spravodaj.madaj.net
 Mac Mini  iPhone 13pro  iPad Pro  Pencil  TV  WATCH  AirPods  Homepod

eragons
Příspěvky: 5
Registrován: 15 kvě 2017 14:52

Re: Automatické spuštění aplikací na macu

Příspěvek od eragons » 17 kvě 2017 15:15

Pardon, vytváří to samozřejmě .app

Uživatelský avatar
MichalM.Mac
Příspěvky: 3342
Registrován: 30 črc 2012 11:03
Kontaktovat uživatele:

Re: Automatické spuštění aplikací na macu

Příspěvek od MichalM.Mac » 17 kvě 2017 20:09

Aby to mohlo sahat na System Events, potřebuje to povolit app v accessibility.


Sent from my iPhone using Tapatalk

eragons
Příspěvky: 5
Registrován: 15 kvě 2017 14:52

Re: Automatické spuštění aplikací na macu

Příspěvek od eragons » 19 kvě 2017 07:43

Paráda, měl jsem za to, že stačí mít povolený jen Automator obecně. Teď to funguje parádně, díky všem za pomoc.

Odpovědět