Is it possible to install a skin only through SSH?
#1
My Apple TV 2 has been acting weird ever since we took the network down for a few hours. It boots with a skin that I don't recognize. It won't let me access anything except the Video/Music and other icons. I can see the settings menu on the screen, but it just won't let me navigate to it. I have no idea if it's a limitation of the skin or my remote. I've tried with the stock Apple TV 2 remote and an iPad which a 3 or 4 control apps.

My train of thought up till now is if I install the skin (Night) that I was using before, everything should go back to normal. But since I can access the settings, I can't load a new zip file. So is there any way I can force a new skin to install via SSH? Or does anyone have another idea?
Reply
#2
Why don't you just ssh into the ATV2, remove or rename your preference file.

/private/var/mobile/Library/Preferences/XBMC/userdata/guisettings.xml

On the next launch, XBMC recreated that file and will default to the standard skin. All the settings will reset to default values.

Otherwise, you can try changing the skin value in your guisettings.xml file. Here's mine for example:
Code:
<lookandfeel>
        <enablerssfeeds>false</enablerssfeeds>
        <font>Default</font>
        <rssedit></rssedit>
        <skin>skin.confluence</skin>
        <skincolors>SKINDEFAULT</skincolors>
        <skintheme>SKINDEFAULT</skintheme>
        <skinzoom>0</skinzoom>
        <soundskin>SKINDEFAULT</soundskin>
        <startupwindow>10000</startupwindow>
    </lookandfeel>
Reply
#3
I actually did just that about a half hour ago. It recreated the file, but the skin is still there. So I'm guessing this is the default skin. I definitely don't remember it though. Is there anyway I can extract a skin file somewhere and edit the gui xml file to reflect it?
Reply
#4
Yeah, you should extract the skin file to:

/private/var/mobile/Library/Preferences/XBMC/addons/

Then edit the xml to reflect that new skin.
Reply
#5
Ah OK cool, thank you! You got me to poke around the GUI file, and for some reason it's loading up the skin 'Touched' which seems to be an iPad skin...I have no idea how that got on there. So the options I can't get to, would need a touch screen.

As for editing the xml, what would I do about the skin settings section? Are all settings universal to where I can just change the name of skin and the settings would be reflected on the new skin?
Reply
#6
Each skin would make a settings section for itself. Each skin may or may not have certain settings. It's up to the skin creator.

If you were loading the Touched skin, then it would explain your problem. But I am not sure how that is occuring. Are you installing the XBMC for IOS instead of the version for the ATV2?
Reply
#7
I edited the XML to point towards the Night skin, but that didn't change anything. I can't find where the Touched skin even is...if I did I could just delete it.

As for why the Touched skin is loading...I have no idea either. I installed the ATV2 version for sure. I've been running this setup for a few weeks now, and it was never an issue. I disabled the Apple updates, and have it booting directly to XBMC. The only thing I did was take down my network for some work on the server.
Reply
#8
Skins installed with the system are located in a different area.

/Applications/XBMC.frappliance/XBMCData/XBMCHome/addons/

As far as I know. Only the Confluence skin gets installed by default. There were talks of making the Touched skin be the default for IOS touch devices. i.e. iPad, iPhone, etc.

That's why I thought it was strange that your ATV2 defaults to the Touched skin upon recreating the guisettings.xml. It's not making any sense to me.
Reply
#9
Thanks dazex. It's not making any sense to me either. I found the Touched folder right where you said it would be. I just deleted that and the XML file, so hopefully it rewrites itself with Confluence? The Confluence folder is there too...so I don't know why it defaulted to Touched.
/crosses fingers

Edit: Well, that didn't work. The XML went back to Touched. I manually edited it for Confluence. /crosses fingers and toes

Edit2: That didn't work either. It just keeps replaying the XBMC boot screen.
Reply
#10
There's one important to note. It relates to permissions.

/var/mobile/Library/Preferences/XBMC/ and everything beneath it should be owned by the mobile user.

/Applications/XBMC.frappliance/ and everything beneath it should be owned by the root user.

Often times, people ssh into the user directory (/var/mobile/Library/Preferences/XBMC/) with the root user to make changes, etc. This of course changes the permissions...so now the XBMC application running as a "mobile" user is not longer able to write settings and such properly. It causes all sorts of weird issues.

Not saying it's the issue in your case, but it's definitely something that you can doublecheck.

You can open a terminal program and ssh in to reset the permissions.

Code:
ssh root@ip_of_ATV2

alpine is the default password.

Then issue the following command:

Code:
chown -R mobile:mobile /var/mobile/Library/Preferences/XBMC/

That should reset the ownership appropriately.

Personally, I use Filezilla as my sFTP program of choice.

I simply create two sites with default remote paths.

For example:

"ATV2 - root"
/Applications/XBMC.frappliance/
username: root
password: alpine


Site 2:
"ATV2 - mobile"
/var/mobile/Library/Preferences/XBMC/
username: mobile
password: alpine

This way, if I am going to manipulate user files, I would use the "ATV2 -mobile" site.

If I am going to manipulate files in the XBMC.frap...then I use "ATV2 - root" to login

Hope that makes sense. I am rushing in my explanation because it sounds like you're pretty competent.
Reply
#11
Also, it might be a good time to copy your xbmc.log file out to pastebin and give the link here so I can take a look to see what XBMC is doing.

xbmc.log file is located here: /var/mobile/Library/Preferences/
Reply
#12
I ran the command you posted about resetting the ownership, but I'm 90% sure I was logging in correctly.

It didn't let me post the whole log, but I think these are the issues in it:

Code:
19:49:34 T:69718016   DEBUG: Error: Requested setting (videoscreen.screenmode) was not found.  It must be case-sensitive

19:49:34 T:69718016   DEBUG: Error: Requested setting (videoscreen.screenmode) was not found.  It must be case-sensitive

19:49:37 T:69718016   ERROR: Default skin 'skin.touched' not found! Terminating..

I'm not sure what the screenmode setting is, and it's still clearly trying to launch Touched, even though I took it out of the gui xml. Is there another place it's told to launch by?

Edit: I just discovered Pastebin after browsing some other posts: http://pastebin.com/Kf5MpmMy
Reply
#13
For a quick test, you can try putting my guisettings.xml onto your ATV2. Then restart XBMC and see if confluence gets loaded up properly. Post another pastebin of your xbmc.log and let's see what's going on.

http://pastebin.com/yCfgtntW
Reply
#14
It could be that he is using one one the builds that was screwed up and set touched as the default skin on ATV as well as iPad but that was fixed a while ago now
Reply
#15
That would explain a lot. Didn't know that this had happen.
Reply

Logout Mark Read Team Forum Stats Members Help
Is it possible to install a skin only through SSH?0