SSH Using Cyberduck is Easiest Method...
I realize that the last time someone posted to this thread was 12-11-2007, 08:29 AM. I'm posting the information below for firmware 1.1.4 anyway, even if this has been outlined elsewhere. Spare me the flames of "this thread is old!"...if this helps someone, great. If not, it's only going to take up a few minutes of my time and a few bytes of storage on the server.
I took the following information on setting up SSH from:
http://gizmodo.com/gadgets/guide/short-and-sweet-ssh-guide-for-the-iphone-300323.php
I modified it slightly so that it doesn't have you changing your root password (causes looping Springboard crash in iPhone firmware 1.1.3 and 1.1.4, so DO NOT change the root password!). Obviously, before you begin, you have to jailbreak your iPhone. Read this all the way through so BEFORE you start performing the steps, taking note especially of the "notes" at the bottom of the post.
open up Installer on your iPhone and install the "BSD Subsystem", "Community Sources", and "OpenSSH". OpenSSH installs the program that lets you connect onto the iPhone remotely, and BSD Subsystem gets you some command line tools on the phone itself to do some file manipulation. Once done, turn your phone off and on (just to be safe) and you should be ready to connect.
Next, connect to your home's Wi-Fi network and find out what your iPhone's IP Address is. It should be listed under the clients section of your router's configuration pages. An even easier way is to look in your Settings App, under the Wi-Fi network you're currently connected to.
If you're on a Mac, you already have a built-in SSH client. If you're in Windows, you can use Putty. Now, open up Terminal (Mac) or Putty (Windows) and connect to your iPhone.
On Mac, just type in "ssh root@IPADDRESS" without the quotes. Accept any authentication requests that pop up. Type in "alpine" as the password when prompted.
It will prompt you to continue. Type in yes and press return (Mac OS X).
Depending on your firmware, the password might be "dottie", but it is "alpine" for 1.1.3 and 1.1.4.
You are now looking at the directories on your iPhone. Using Terminal is fine if you prefer it, but I like Cyberduck since it makes things faster. Cyberduck is an FTP client, and it supports SFTP.
Configure Cyberduck:
Open Cyberduck.
Click the Bookmarks icon, if your Cyberduck bookmarks aren't already shown in a panel to the left of the application window.
Click the plus (+) icon at the bottom of the bookmarks panel.
Enter the following information:
- Nickname (whatever you want to call it)
- Protocol = SFTP
- Server = the IP address of your iPhone on your local network
- Username = root
There is no password field. You will type "alpine" when you connect for the first time. You can then add it to your Mac OS X keychain.
You can now use this new connection to connect to your iPhone.
Once you are in the iPhone, browse the directory structure to get to /var/mobile/Library/Summerboard/Themes.
I copied a theme folder to my desktop and modified the background image. Then, I renamed the folder, and copied it back into the Themes directory. Restart the springboard on your iPhone (or turn it off and on again to restart Springboard), and you can choose your new theme.
A few notes:
- It is easier to connect to your iPhone if the IP address is always the same. I have my iPhone asking my router for 192.168.1.125 every time it connects. To set your IP address, open the Settings application, then click Wi-Fi. Connect to your home network, and click the blue and white arrow next to the signal strength for that network (looks like a >). Tap the "Static" tab near the top. Enter the desired IP address. Make sure that the IP address is in the range of addresses that your router will assign. My router will assign up to 50 addresses (192.168.1.100 - 192.168.1.149), so I chose one that was in the middle of the range.
- Get BossPrefs to turn SSH on and off, and set it to always start SSH after a reboot of the phone ("SSH on Reboot always" is the option...it is OFF by default). You do not want SSH on unless you are on your OWN NETWORK and actively using it. Turn it off otherwise. The Services app (also available on Installer) will turn SSH off, but turning it back on, at this time, isn't possible, so I recommend BossPrefs (get it on Installer as well). The reason you want SSH on every time you reboot your iPhone is for cases where you cause problems and (1) your Springboard crashes in a loop, and (2) iTunes cannot connect to your iPhone. SSH will be your only way into the iPhone to correct the problem(s) so that you can restore via iTunes. Although turning SSH off manually every time you reboot the device is a pain, it WILL save you if you cause problems and cannot connect to iTunes. Otherwise, you have no way into the iPhone.
Also note that I do not use Summerboard. I use Caterpillar, but the process for selecting themes and activating them is about the same.