Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Använd Plex i Apple TV utan jailbreak

Tråden skapades och har fått 110 svar. Det senaste inlägget skrevs .
  • Medlem
  • Stockholm
  • 2013-06-09 14:55

Jag har provat med programm, hämtade filer samt skrivbordet aset hittar fortfarande inte hehe

  • Medlem
  • International user
  • 2013-06-09 15:17

Det verkar som du skriver fel kommando.

Öppna terminalen
skriv cd och dra och släpp plex connect mappen på terminal fönstret och tryck enter
(det kommer att stå liknande cd /Users/userid/Downloads/PlexConnect-XML_templates)

Skriv sudo ./PlexConnect.py (tryck enter)

PlexConnect startar och kan avslutas genom att trycka enter igen.

  • Medlem
  • Stockholm
  • 2013-06-09 15:38

Nu hitta jag mappen, jag hade skrivit cd utan mellanslag, klantigt av mig. Men har kommit till ännu ett hinder nu hittar den mappen å jag har skrivit sudo ./plex.. och den går igång när jag väl sedan går in på apple tv så är det fortfarande apples trailer som finns där. På terminalen där den är ansluten på plexconnect så har jag på port 80 0.0.0.0. är det där felet är?

Har fixat det, tack för all hjälp!

Senast redigerat 2013-06-09 15:51
  • Medlem
  • Stockholm
  • 2013-06-09 16:28

Är det någon som har fått till det där att plex finns på appletv även när terminalen är avstängd? Såg lite tidigare i kommentarerna men då såg det ganska avancerat ut. Vad är liksom den smidigaste och lättaste sättet?

  • Medlem
  • International user
  • 2013-06-09 17:30

Vänta ett tag. Dem jobbar på en version som kör i backgrunden och sparar allt i en console log istället för terminalen.

Kan man inte starta programmet som en bakgrundsprocess, d.v.s. man lägger till ett & sist i kommandot? Eller funkar det inte i Apples Unix-dialekt? Eller dör det ändå om man stänger terminalfönstret?

  • Medlem
  • International user
  • 2013-06-09 19:25

Det fungerar men jag tror python skriptet pausar när du använder & i terminalen.

  • Medlem
  • Stockholm
  • 2013-06-09 19:54

Aja då får man vänta, underbart att ha Plex på apple tv! Önskar dock att Apple hade tillåts att ha appar på Appletven också! Tack för snabba svar.

  • Medlem
  • International user
  • 2013-06-11 21:49
Ursprungligen av hejnej:

Aja då får man vänta, underbart att ha Plex på apple tv! Önskar dock att Apple hade tillåts att ha appar på Appletven också! Tack för snabba svar.

Har du en Mac så kan du skapa ett AppleScript program som startar plexconnect programmet i bakgrunden.

Först måste du öppna Nyckelringen och skapa en nytt lösenordsobjekt.
I namn skriver du t ex plex. Som Konto skriver du ditt MacOS X konto namn och som lösenord anger du ditt kontos lösenord. Spara.

Öppna Applescript programmet och klipp och klistra följande skript.

set py to "path/to/PlexConnect.py"
set un to "username"
set theKeychainItem to "pw" #this is the name of the keychain item with your password in it
delay 10 #add this in or change the value as needed so that PlexConnect starts up after PMS

set theResult to do shell script "security 2>&1 find-generic-password -gs " & theKeychainItem
set thePassword to extractData(theResult, "password: \"", "\"", 0)

do shell script "screen -A -m -d -S PlexConnect " & py user name un password thePassword with administrator privileges

on quit
	do shell script "screen -A -m -d -S kill " & "kill `ps -u root | grep [P]lexConnect | grep python | awk '{print $2}'`" with administrator privileges
	continue quit
end quit

on extractData(theText, theFieldName, theEndDelimiter, spaces)
	set theDataStart to the offset of theFieldName in theText
	if theDataStart = 0 then
		return ""
	else
		set theDataStart to theDataStart + (length of theFieldName) + spaces
		set theData to text theDataStart through end of theText
		set theDataEnd to ((offset of theEndDelimiter in theData) - 1)
		set theData to text 1 through theDataEnd of theData
	end if
end extractData

På första raden skriver du sökvägen till PlexConnect.py skriptet.
På andra raden skriver du ditt korta kontonamn.
På tredje raden byter du ut pw mot ditt ny skapade lösenordsobjelt. I det här fallet plex.
Spara applescriptet som program och väljer Lämna öppet efter körhanteraren.
Starta programmet. Den kommer att fråga om du vill ge den tillgång till Nyckerlingen. Svara med alltid.
Klart.

Tagit från PlexForum

  • Medlem
  • Karlskoga
  • 2013-06-11 22:12

Det var en smidig lösning!

  • Medlem
  • Stockholm
  • 2013-06-11 23:03

Så jäkla Nice. Dock en fråga på rad ett, ska jag skriva sökvägen som till ex /user/desktop/ bla bla

Ursprungligen av hejnej:

Så jäkla Nice. Dock en fråga på rad ett, ska jag skriva sökvägen som till ex /user/desktop/ bla bla

Ja, sökvägen till där du har PlexConnect.py.

  • Medlem
  • Stockholm
  • 2013-06-11 23:15
Ursprungligen av keptang:

Ja, sökvägen till där du har PlexConnect.py.

Hej igen håller på fixa nu är så osäker på första raden ska jag ta bort path/toplexconnect bal bla å ersätta till ex där jag ahr min plexconnect vilket borde bli att ¨/Applications/PlexConnect-XML_templates/plexconnect.py¨

Ursprungligen av Robo-X:

Har du en Mac så kan du skapa ett AppleScript program som startar plexconnect programmet i bakgrunden.

Först måste du öppna Nyckelringen och skapa en nytt lösenordsobjekt.
I namn skriver du t ex plex. Som Konto skriver du ditt MacOS X konto namn och som lösenord anger du ditt kontos lösenord. Spara.

Öppna Applescript programmet och klipp och klistra följande skript.

set py to "path/to/PlexConnect.py"
set un to "username"
set theKeychainItem to "pw" #this is the name of the keychain item with your password in it
delay 10 #add this in or change the value as needed so that PlexConnect starts up after PMS

set theResult to do shell script "security 2>&1 find-generic-password -gs " & theKeychainItem
set thePassword to extractData(theResult, "password: \"", "\"", 0)

do shell script "screen -A -m -d -S PlexConnect " & py user name un password thePassword with administrator privileges

on quit
	do shell script "screen -A -m -d -S kill " & "kill `ps -u root | grep [P]lexConnect | grep python | awk '{print $2}'`" with administrator privileges
	continue quit
end quit

on extractData(theText, theFieldName, theEndDelimiter, spaces)
	set theDataStart to the offset of theFieldName in theText
	if theDataStart = 0 then
		return ""
	else
		set theDataStart to theDataStart + (length of theFieldName) + spaces
		set theData to text theDataStart through end of theText
		set theDataEnd to ((offset of theEndDelimiter in theData) - 1)
		set theData to text 1 through theDataEnd of theData
	end if
end extractData

På första raden skriver du sökvägen till PlexConnect.py skriptet.
På andra raden skriver du ditt korta kontonamn.
På tredje raden byter du ut pw mot ditt ny skapade lösenordsobjelt. I det här fallet plex.
Spara applescriptet som program och väljer Lämna öppet efter körhanteraren.
Starta programmet. Den kommer att fråga om du vill ge den tillgång till Nyckerlingen. Svara med alltid.
Klart.

Tagit från PlexForum

Visste faktiskt inte att screen kom med os x.

Ska skriva om mitt script så det använder screen istället för tmux. Slipper man trixa med nyckelring och AppleScript.

Får se om jag hinner med detta i denna vecka - annars kommer det i nästa.

@hejnej, ja om det är där du har PlexConnect.py.

  • Medlem
  • International user
  • 2013-06-11 23:19
Ursprungligen av hejnej:

Hej igen håller på fixa nu är så osäker på första raden ska jag ta bort path/toplexconnect bal bla å ersätta till ex där jag ahr min plexconnect vilket borde bli att ¨/Applications/PlexConnect-XML_templates/plexconnect.py¨

Ändra set py to "path/to/PlexConnect.py" till set py to "/Applications/PlexConnect-XML_templates/plexconnect.py"

Jag ändrade mappens namn till endast PlexConnect. Men du kan behålla standard namnet.

  • Medlem
  • International user
  • 2013-06-11 23:22
Ursprungligen av hansfilipelo:

Visste faktiskt inte att screen kom med os x.

Ska skriva om mitt script så det använder screen istället för tmux. Slipper man trixa med nyckelring och AppleScript.

Får se om jag hinner med detta i denna vecka - annars kommer det i nästa.

Låter bra. Så länge man inte måste behöva installera massa libraries så är det att föredra. Applescript och nyckelring har ett säkerhets problem så det är en nödlösning tills det finns något bättre.

  • Medlem
  • Stockholm
  • 2013-06-11 23:25
Ursprungligen av Robo-X:

Ändra set py to "path/to/PlexConnect.py" till set py to "/Applications/PlexConnect-XML_templates/plexconnect.py"

Jag ändrade mappens namn till endast PlexConnect. Men du kan behålla standard namnet.

Nu har jag gjort det sparat enligt som du beskriv allt är klart ska jag gå in på Apple tv för att bli tilfrågad efter lösenordet eller? Vad gör jag nu helt enkelt

Mvh Ravve

  • Medlem
  • Stockholm
  • 2013-06-11 23:26

Måste jag köra det här på terminal alltså sudo bla bla bal?

  • Medlem
  • Stockholm
  • 2013-06-11 23:32

Fixat! Nu fungerar det, helvete vad bra. Tack för hjälpen Robo-X, guld! Är bara lite bekymrad över att den har något med min nyckelring att göra

  • Medlem
  • International user
  • 2013-06-11 23:37

Nja nyckelringen behövs just nu för att pythonscriptet måste köra med admin rättigheter. Och då måste du ange ditt admin lösenord. Det är bara tillfälligt tills pythonskriptet är ändrat att köras i bakgrunden då kan man ta bort applescriptet igen.

Sådär har uppdaterat mitt script som finns här: https://gist.github.com/hansfilipelo/ae201251...

Se till att ändra sökvägen till PlexConnect så den passar på ditt system.

Scriptet fungerar nu direkt med OS X. Antingen kör man scriptet manuellt i terminalen:

sudo /path/to/script start

Eller sås kan man göra så det startar med systemet m h a launchd - jag har själv tyvärr bara dåliga erfarenheter av launchd så kan inte bistå med hjälp där.

Min klagar på att UDP Port 53 är upptagen. Tacka fan för det. DNS går där. Doh.

  • Medlem
  • International user
  • 2013-06-13 19:46
Ursprungligen av Mattias Hedman:

Min klagar på att UDP Port 53 är upptagen. Tacka fan för det. DNS går där. Doh.

Du kan stänga av DNS servern i skriptet och ändra ditt interna DNS server att inkludera trailers.apple.com.

Ursprungligen av Robo-X:

Du kan stänga av DNS servern i skriptet och ändra ditt interna DNS server att inkludera trailers.apple.com.

Jodå det är precis vad jag ska göra. Det senare alltså.

#!/usr/bin/python

"""
PlexConnect

Sources:
inter-process-communication (queue): http://pymotw.com/2/multiprocessing/communica...
"""


import sys
from multiprocessing import Process, Queue

import WebServer
import Settings
from Debug import *  # dprint()



if __name__=="__main__":
    try:
        #cmd_DNSServer = Queue()
        cmd_WebServer = Queue()
        
        #p_DNSServer = Process(target=DNSServer.Run, args=(cmd_DNSServer,))
        #p_DNSServer.start()
        
        p_WebServer = Process(target=WebServer.Run, args=(cmd_WebServer,))
        p_WebServer.start()
        
        dprint('PlexConnect', 0, "***")
        dprint('PlexConnect', 0,  "PlexConnect")
        dprint('PlexConnect', 0,  "Press ENTER to shut down.")
        dprint('PlexConnect', 0,  "***")
        key = raw_input()
    
    except KeyboardInterrupt:
        print "^C received."
    
    finally:
        dprint('PlexConnect', 0,  "Shutting down.")
        #cmd_DNSServer.put('shutdown')
        cmd_WebServer.put('shutdown')
        
        #p_DNSServer.join()
        p_WebServer.join()

Jag la till i min 10.8 servers DNS inställningar att trailers.apple.com ska gå till min Plex-server.
Det funkar. Men så kör jag Plexconnect ovan och det funkar trots inte detta.
Detta är felloggen:

WebServer : Shutting down.
Process Process-1:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/ladmin/Desktop/PlexConnect-master - modified/WebServer.py", line 135, in Run
    server.socket.close()
UnboundLocalError: local variable 'server' referenced before assignment
Senast redigerat 2013-06-13 20:33
  • Medlem
  • International user
  • 2013-06-13 22:53

Hm vilken skript kör du egentligen? I den nyaste så är det bara att öppna settings.cfg filen och ändra enable_dnsserver från true till false. Färdigt.

Ett för gammalt verkar det som… tog ner den senaste och fixade och hade mig. Så nu klagar den på att web-servern är igång. Hur får jag den att lira med min egen apache-server?

  • Medlem
  • International user
  • 2013-06-14 17:53

OK jag tror du får läsa igenom det här.

  • Medlem
  • International user
  • 2013-06-20 23:54

Så var det dags igen. Jag skrev hur man kan skapa en Applescript för att starta PlexConnect. Det var rätt smidigt men jag hade 2 problem med skriptet. Först och främst så var det säkerheten, det var rätt enkelt att kunna läsa av Keychain lösenordet vilket är inte så bra. Och för det andra så fick jag alltid skriva in mitt lösenord när jag ville stänga apple skriptet t ex vid omstart.

På Plex forumet så har någon kommit på en annan lösning som startar automatiskt vid start av datorn och som man måste inte ange något lösenord alls. Det krävs lite vana i att använda Terminalen så det kan vara knepigt för vissa. Och eftersom man ändrar på launchctl daemon skriptet kan det skapa problem vid uppstarten om man är oförsiktigt .

Så här gjorde jag:

Ladda ner senaste versionen av PlexConnect.

Packa upp den i en mapp som du tycker passar. Jag sparade allt i /Users/Shared/ och döpte om mappen till endast PlexConnect.

Öppna terminaler och skriv sudo /Users/Shared/PlexConnect/PlexConnect.py

Prova att koppla upp dig med AppleTV och se om allt fungerar som det ska. När all fungerar stäng plexconnect genom att trycka enter.

Editera PlexGDM.py filen och vid rad 108 efter "No servers discovered") lägger du till sys.exit(1). Så ska det se ut:

if PMS_list==[]:
        dprint(__name__, 0, "No servers discovered")
	sys.exit(1)
    else:

Ändra PlexConnect.py filen och ta bort eller kommentera bort alla rader efter rad 91:

try:
        key = raw_input()
    except KeyboardInterrupt:
        dprint('PlexConnect', 0, "^C received.")
    
    finally:
        dprint('PlexConnect', 0,  "Shutting down.")
        if cfg.getSetting('enable_dnsserver')=='True':
            cmd_DNSServer.put('shutdown')
            p_DNSServer.join()
        
        cmd_WebServer.put('shutdown')
        p_WebServer.join()

Spara båda filerna och prova att köra PlexConnect.py igen. Se till att allt fungerar igen. När allt fungerar så kan du avsluta skriptet genom att trycks control+c.

Nu kommer det svåra. Skapa ett start skript. Vi börjar med att skriva sudo pico /Library/LaunchDaemons/com.plex.plexconnect.plist
Skriv in ditt lösenord (man ser inget i terminalen men det skriver in ditt lösenord i alla fall) avsluta med enter.

Copy Paste den här koden:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
    "http://www.apple.com/DTDs/PropertyList-1.0.dt...">
<plist version="1.0">
<dict>
    <key>Label</key>
  <string>com.plex.plexconnect</string>
	<key>WorkingDirectory</key>
	<string>/Users/Shared/PlexConnect</string>
    <key>ProgramArguments</key>
	<array>
	    <string>/Users/Shared/PlexConnect/PlexConnect.py</string>
	</array>
    <key>RunAtLoad</key>
	<true/>
    <key>KeepAlive</key>
	<true/>
</dict>
</plist>

Anpassa båda sökvägarna /User/Shared/PlexConnect... att peka till din installation av PlexConnect.

För att avsluta och spara tryck control+x enter, när den frågar om du vill spara svara med att trycka y och igen tryck enter. Jag använder pico du kan gärna ta en annan editor. T ex vi, vim eller nano.

Kör nu följade kommandon och se om allt fungerar efter varje kommando tryck enter.

sudo launchctl load /Library/LaunchDaemons/com.plex.plexconnect.plist
sudo launchctl start com.plex.plexconnect

Om allt fungerar så startar PlexConnect vid varje start utan att man behöver skapa extra applescript.

  • Medlem
  • Malmö
  • 2013-06-22 01:12

Sicket meck ni har med allt detta

Själv kör matar jag iFlicks och efter 30-90 sek så har jag en fil jag slänger in i iTunes och allt är klart. Innan ni har hunnit börja med allt detta så sitter jag med en skål popkorn i famnen och njuter av det som visas på tv...allt genom Apples egna Hemmadelning

Bevaka tråden