fatpuss / mobileterminal

Automatically exported from code.google.com/p/mobileterminal
0 stars 0 forks source link

No good method of installation #220

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
There is no cut and dry way to install this app. There is an outdated and 
unusable version of it on cydia but again it is unusable. Is there a way we can 
get an info page setup on how to install this app, or make it into a .deb and 
add it to the .zip download? I know many persons who's lives it would make 
easier, myself included.

Original issue reported on code.google.com by RethinkR...@gmail.com on 18 Oct 2010 at 10:08

GoogleCodeExporter commented 9 years ago
I hope you know that there is absolutely nothing difficult about downloading a 
zip-archive on the iphone, unzip it, move it and respring. Of course, a .deb 
would be easier, so why don't you create one and share it with us?

Original comment by dave.sto...@gmail.com on 19 Oct 2010 at 5:21

GoogleCodeExporter commented 9 years ago
a) thanks for the quick reply. b) where do I copy it too? c) I would love to 
make a .deb out of it, do you know any good resources where I can learn how in 
a not too technical way? (I am unfortunately still closer to the beginning of 
my coding/linux/unix journey and the easier it is to understand the better).

Original comment by RethinkR...@gmail.com on 19 Oct 2010 at 1:33

GoogleCodeExporter commented 9 years ago
Here, I made a *.deb for you
http://www.mediafire.com/?m8ksylm93qs45jk

If you want to pack a *.deb yourself, the folder structure should go like this:
/base
   /DEBIAN
       control
   /Applications
       /Terminal.app
            Default.png
            View.nib
            Terminal
            Other files

The "control" file in "/base/DEBIAN" looks like this:
Package: com.googlecode.mobileterminalbeta
Name: Mobile Terminal (beta)
Version: 472
Provides: com.googlecode.mobileterminal
Priority: standard
Depends: coreutils
Architecture: iphoneos-arm
Section: System
Author: Allen Porter <allen.porter@gmail.com>
Description: Terminal for iOS

The "DEBIAN" directory must exist in all *.deb files, it's where the 
information for the package is stored.
Everything else outside the "DEBIAN" directory is copied to it's place during 
install.

To finally build the *.deb (assuming you're using SSH or something), type:
1. cd (wherever the "base" directory is stored)
2. dpkg -b base file.deb
It creates your file.deb in the current folder

Original comment by lpq...@gmail.com on 19 Oct 2010 at 8:37

GoogleCodeExporter commented 9 years ago
Thanks a lot

I always wanted to know this too by the way

Original comment by dave.sto...@gmail.com on 19 Oct 2010 at 8:41

GoogleCodeExporter commented 9 years ago
I think a guide similar to what I'm about to write should be made available in 
this project site's wiki, as the project is given only as .zip.

Here is how I installed the most recent version of Mobile Terminal (was 472 at 
the time) onto my iPod Touch 2nd Generation with the most recent iOS (was 4.2 
at the time), from start to finish.

First, use something like Greenpois0n to jail break your device (comes with its 
own instructions). This places an icon on your springboard that will install 
Cydia. Do that. Then, on the Cydia app's home screen, find the instructions for 
"OpenSSH Access How-To" and "Root Password How-To." Follow both of those.

In Windows, you can download and install PuTTY to use instead of a terminal on 
your computer. In a terminal, you would type "ssh root@192.168.1.100", whereas 
in PuTTY you initiate an SSH connection into 192.168.1.100 first, then give it 
the name 'root' when it asks for what you want to login as.

After you've changed the default passwords (always a good idea), download the 
most recent .zip file from this project's site, and unzip it somewhere. In the 
resulting folder, you should find a folder called Terminal.app. You need to 
copy this folder to a specific place on your device. Cydia has an article 
"Copying Files to/from Device" that can help. I'll describe how I did it.

After changing the passwords, while still SSH'd into your device, type "ls 
/var/stash/". Notice that one of the listed folder names is something like 
"Applications.I6uCg8/". Copy that or write it down. Now, open up a new terminal 
on your computer, and type "scp -r Downloads/Terminal-472/Terminal.app/ 
root@192.168.1.121:/var/stash/Applications.I6uCg8/", where 
Downloads/Terminal-472/ is the directory holding the Terminal.app folder you 
unzipped earlier, 192.168.1.121 is your device's IP address, and 
Applications.I6uCg8/ is that folder name I told you to write down. You can also 
try using PuTTY's pscp.exe program inside Command Prompt on Windows to do this. 
Or, try using something Cydia recommended that I mentioned earlier.

Now, exit from your SSH session, and reboot your device (you might need to hold 
power and home until it reboots and shows an apple). There should now be an 
icon for Terminal on your springboard.

Original comment by pgn674 on 21 Oct 2010 at 1:11

GoogleCodeExporter commented 9 years ago
I have made all of the contributers to this bug project members so that any of 
you are free to improve the wiki pages.  Thanks for all of your awesome 
contributions, and hopefully you can continue to share your knowledge via the 
documentation.

Original comment by allen.po...@gmail.com on 21 Oct 2010 at 2:44

GoogleCodeExporter commented 9 years ago
Whoops, the *.deb I made installed the app to the wrong place.
Anyone reading this should use this one instead: 
http://www.mediafire.com/?x5b6vh1xz4tjllq

Original comment by lpq...@gmail.com on 21 Oct 2010 at 7:15

GoogleCodeExporter commented 9 years ago
The installation details in the Wiki state to 'chmod -R 644 
/Applications/Terminal.app' and then 'chmod 755 
/Applications/Terminal.app/Terminal'.  Doesn't the Terminal.app directory need 
to be executable, too?  I couldn't get the app to show on the springboard until 
I did 'chmod 755 /Applications/Terminal.app'.

Original comment by dev.kyle...@gmail.com on 29 Oct 2010 at 1:06

GoogleCodeExporter commented 9 years ago
Well, just do chmod -R 0777, then you don't have any problems at all

Original comment by dave.sto...@gmail.com on 29 Oct 2010 at 1:08

GoogleCodeExporter commented 9 years ago
The next stop should probably be to script up something to make a .deb file as 
part of the build and release process (whatever does this can be checked into 
the source tree, perhaps as a new step in XCode).  I can give that a stab if 
nobody else has started yet.   Then we can update the wiki with instructions 
about installing the .deb file (or point to someone elses instructions).

Original comment by allen.po...@gmail.com on 2 Jan 2011 at 6:54

GoogleCodeExporter commented 9 years ago
If I can chime in. First, don't chmod the entire Terminal.app directory and 
it's contents executable. NEVER use a full 777 on anything unless it absolutely 
needs it (very rare). Big security risk. The only executable file (755) is 
Terminal (and obviously any directory) and should remain that way. 

Second, please remove coreutils from the list of dependencies. It really isn't. 
It adds functionality, but it is not required to actually run the program. 
Maybe put in the description that coreutils is highly recommended, that it will 
add functionality. But dependencies should be reserved for packages that are 
absolutely required to run the program. Adding what people think should be 
installed alongside the app is sloppy and sets a bad precedent. 

Finally, installing the app manually (as per the install page) by copying the 
directory to 'Applications' and chmoding it results in a blank icon no matter 
what. It'll run, but no matter what, iOS will not grant it an icon (same deal 
as Cydia before it is run for the first time on latest jailbreaks). Placing the 
deb in the AutoInstall directory and letting Cydia install it is a better way 
of installing (but requires a reboot).

Original comment by william....@gmail.com on 2 Jan 2011 at 11:21

GoogleCodeExporter commented 9 years ago
I would write a Mac guide to the installation Wiki if I could find the "edit" 
button.

Original comment by paul.w.palm@gmail.com on 3 Jan 2011 at 4:44

GoogleCodeExporter commented 9 years ago
You don't have permissions to do so (it's no real wiki therefore)
So, you could write it to me via gmail and I could indert it

@William: A reboot is not necessairy, sudo dpkg -i is enough.
And dTunes also includes CTorrent as one of it's dependencies, although it runs 
without it pretty well if you don't care about torrents

Original comment by dave.sto...@gmail.com on 3 Jan 2011 at 5:22

GoogleCodeExporter commented 9 years ago
@dave: I've installed it using cli before and couldn't alter the icon. Any 
attempts would result in the default system icon (the white one). Even after a 
chmod, fiddling with the plist file (which is horribly butchered I might add). 
Maybe I missed something? Cydia installs it just fine and iOS treats it like 
any other app... that's why I use that option.

Original comment by william....@gmail.com on 4 Jan 2011 at 6:41

GoogleCodeExporter commented 9 years ago
Easy Install (using Cydia auto-install)

For Mac users:

1) Download the latest .deb file of MobileTerminal <a href=“http://[•needs 
URL of official deb•“>here</a>
2) Download and install on your Mac the latest version of <a 
href="http://cyberduck.ch/">Cyberduck</a>
3) Make sure your Mac and iDevice both have a Wi-Fi connection on the same 
network
4) On your iDevice, open Settings: General: Wi-Fi, tap the blue right-arrow on 
your connected network, and note the IP Address
5) Open Cyberduck on your Mac, select Open Connection, and select “SFTP (SSH 
File Transfer Protocol)”
6) Enter the iDevice’s IP Address into “Server,” with Username “root” 
and your password (the default password is “alpine”), and press Connect

NB: It will take some time to make the initial connection

7) Navigate to /private/var/root/Media/Cydia/AutoInstall

NB: If the AutoInstall folder does not exist, create it, paying attention to 
capital A and I

8) Drag the MobileTerminal .deb file from your Mac into the AutoInstall folder
9) Quit Cyberduck and reboot the iDevice

NB: If, after rebooting, MobileTerminal does not appear on your Springboard, 
respring (not reboot) the iDevice

Original comment by paul.w.palm@gmail.com on 4 Jan 2011 at 6:58

GoogleCodeExporter commented 9 years ago
SFTP has nothing to do with SSH.
You mean SCP

Original comment by dave.sto...@gmail.com on 4 Jan 2011 at 7:12

GoogleCodeExporter commented 9 years ago
Right or wrong, “SFTP (SSH File Transfer Protocol)” is *exactly* what it 
says in Cyberduck.

Original comment by paul.w.palm@gmail.com on 5 Jan 2011 at 6:41

GoogleCodeExporter commented 9 years ago
I'm not in a position or inclined to learn to compile code when so many already 
can.  I suggest this project create a link on each revision's URL (e.g. 
http://code.google.com/p/mobileterminal/source/detail?r=491) to the compiled 
APP.  In return, I will author a *.deb file of each build, which can either be 
hosted here, linked from a free host (rapidshare, mediafire, etc.), or 
submitted to a repo (modmyi, bigboss, etc.).

This will result in as little duplication of effort as possible, which is the 
point of open source collaboration, right?

Original comment by paul.w.palm@gmail.com on 9 Jan 2011 at 5:05

GoogleCodeExporter commented 9 years ago
So, I don't know if I got what you wanted to say, but there was already the 
idea of ready-made apps for each revision. However, Allan said he'd upload a 
zip from time to time after major changes.

Original comment by dave.sto...@gmail.com on 9 Jan 2011 at 5:08

GoogleCodeExporter commented 9 years ago
"...there was already the idea of ready-made apps for each revision."

Where?  I can find only Terminal-472.zip and Terminal-426-unstable.zip 
available for download.  Ideally there would be a Terminal-rXXX.zip for every 
revision.  for which I will create a Terminal-rXXX.deb for each one.

Original comment by paul.w.palm@gmail.com on 10 Jan 2011 at 4:38

GoogleCodeExporter commented 9 years ago
I said was the idea, that's a difference. As I said, Allan suggested he'd 
compile and upload a zip after major changes

Original comment by dave.sto...@gmail.com on 10 Jan 2011 at 4:40

GoogleCodeExporter commented 9 years ago
You are right that you should not be expected to compile code for every 
revision if you don't want to or know how.  Instead, you are expected to wait 
for the next major release.

I understand your point of view because you see that an issue is fixed, but you 
can't take advantage of it yet, which is clearly the down side.  However, the 
assumption is that the tip of tree would be even more unstable than the 
releases (which are already pretty unstable as you well know! :)).

That said, perhaps its time for a new release given all of the recent bug fixes.

However, if someone wants to build an automated release process for each 
revision I won't object since its easy enough to label the binaries as unstable 
or nightly releases.  I think lets just start by automating the .deb building 
process and go from there since clearly the existing release process already 
has a ton of issues.

Original comment by allen.po...@gmail.com on 12 Jan 2011 at 5:24

GoogleCodeExporter commented 9 years ago
Please add my instructions in Comment #15 to the installation wiki 
(http://code.google.com/p/mobileterminal/wiki/Installation), which I cannot 
edit.

Original comment by paul.w.palm@gmail.com on 13 Jan 2011 at 4:29

GoogleCodeExporter commented 9 years ago
I have given you access to edit the wiki, if you would like to update it 
yourself.

(Next time I have a chance i'll work on coming up with a .deb as part of the 
build process to give you a link to fill in there).

Original comment by allen.po...@gmail.com on 13 Jan 2011 at 4:46

GoogleCodeExporter commented 9 years ago
I've already authored a *.deb complete with a 'postinst' that sets permissions 
per the wiki.  All I need is to know what repository you would prefer it hosted 
on and access to the latest build.

Original comment by paul.w.palm@gmail.com on 13 Jan 2011 at 6:55

GoogleCodeExporter commented 9 years ago
I have submitted some scripts for building the .deb files that can be run from 
XCode.  Feel free to give it a try if you're a "build from source" kind of 
person.

I'm going to jailbreak and old phone and give it a shot myself, it just might 
take a few days.  If it works then i'll put it up for download.

Go easy on me, this is my first .deb ever.

Original comment by allen.po...@gmail.com on 15 Jan 2011 at 11:18

GoogleCodeExporter commented 9 years ago

Original comment by allen.po...@gmail.com on 15 Jan 2011 at 11:20

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r508.

Original comment by allen.po...@gmail.com on 18 Jan 2011 at 5:08

GoogleCodeExporter commented 9 years ago
Incorrectly marked as fixed.

Original comment by allen.po...@gmail.com on 18 Jan 2011 at 5:09

GoogleCodeExporter commented 9 years ago
I see that Allen has compiled a new version (0.510). I made a deb. Took out the 
coreutils dependency too because it's not a true dependency but rather a 
suggested package. Also added the new icons for the iPhone and it installs with 
the proper privileges (root:admin) and has a working softlink to CodeResources.

One tiny niggle. A resource fork remains (Terminal.app/._CodeResources). For 
the life of me I can't seem to get rid of that one... tried everything. 
Abandoned all hope. If you are anal like me, delete it manually. Or suffer the 
200 byte added file size ;)

Original comment by william....@gmail.com on 24 Jan 2011 at 8:54

Attachments:

GoogleCodeExporter commented 9 years ago
For anyone who prefers to download the *.zip and drop the Terminal.app file 
into their Applications directory, here is a shell to run that will fix 
permissions and create the needed CodeResources link.  Just put the perm.sh 
file into the topmost directory and do a 'sh perm.sh'

Here's the shell's contents:

ln /Applications/Terminal.app/_CodeSignature/CodeResources 
/Applications/Terminal.app/CodeResources
chown root:admin /Applications/Terminal.app
chmod -R 644 /Applications/Terminal.app
chmod 755 /Applications/Terminal.app
chmod 755 /Applications/Terminal.app/Terminal

A control file in the posted mobileterminal-0.510.deb that matches Allen's in 
r501 and a postinst that sets permissions would make for the ideal *.deb 
install, but no one takes my advice.

Original comment by paul.w.palm@gmail.com on 24 Jan 2011 at 6:32

Attachments:

GoogleCodeExporter commented 9 years ago
because just extracting and respringing worked for me just fine

Original comment by dave.sto...@gmail.com on 24 Jan 2011 at 6:35

GoogleCodeExporter commented 9 years ago
We went to the trouble of writing this .deb building stuff into the release 
process, perhaps we should stop releasing .zip files :)

Paul, just so I understand, dpkg does not preserve permissions in the .deb file?

(I'm still trying to get my hands on my old iphone, sorry I can't just try this 
out)

Original comment by allen.po...@gmail.com on 25 Jan 2011 at 6:34

GoogleCodeExporter commented 9 years ago
@allen, yes, dpkg preserves file permissions.

Original comment by william....@gmail.com on 25 Jan 2011 at 6:37

GoogleCodeExporter commented 9 years ago
To be clear, we should not be uploading releases that were not built with an 
automated script in the source tree.

By the way, I just uploaded a new .deb file.  I have no idea if it actually 
works.

Original comment by allen.po...@gmail.com on 25 Jan 2011 at 6:38

GoogleCodeExporter commented 9 years ago
Why not? You suggest we should use untested debs instead? Mine works just fine. 
What's the issue?

Original comment by william....@gmail.com on 25 Jan 2011 at 6:40

GoogleCodeExporter commented 9 years ago
I thought the point of this bug was that people found a .zip file as a release 
method too hard :)

Original comment by allen.po...@gmail.com on 25 Jan 2011 at 7:20

GoogleCodeExporter commented 9 years ago
Paul, you have some serious problems with your shell script:

ln /Applications/Terminal.app/_CodeSignature/CodeResources 
/Applications/Terminal.app/CodeResources

This should be a softlink, not a hardlink:

ln -sf /Applications/Terminal.app/_CodeSignature/CodeResources 
/Applications/Terminal.app/CodeResources

The second line should read:

chown -R root:admin /Applications/Terminal.app

The last three lines are not required (redundant) as when directories are 
created, they are always 755 by default and the files are already set with the 
proper permissions.

Lastly, the last two lines take care of setting permissions for the folder and 
the terminal executable, but fail to account for the _CodeSignature directory, 
which will be unable to be opened (as it will take on the 644 permission set).

If you really want to use a shell script, then use the following:

ln -sf /Applications/Terminal.app/_CodeSignature/CodeResources 
/Applications/Terminal.app/CodeResources
chown -R root:admin /Applications/Terminal.app

Original comment by william....@gmail.com on 25 Jan 2011 at 7:36

GoogleCodeExporter commented 9 years ago
Thanks for everyone who contributed to this bug.    I think we can close this 
issue now that we have an Installation wiki and a process for building .deb 
files.  If there are still problems with those processes lets make separate 
bugs.  (Basically, I count this as being fixed since we at least have a process 
that didn't exist before).

Paul, please let me know if you run into an permissions problems with the 
existing .deb and still think it needs tweaking.  I can't tell if there is 
still a problem with it or if your fixes were only needed for the .zip.

Original comment by allen.po...@gmail.com on 13 Feb 2011 at 10:37

GoogleCodeExporter commented 9 years ago
Installed r520 via *.deb and Cydia AutoInstall.  Permissions are mostly 
mobile:staff (rather than root:admin), but APP works and shortcuts 
work/persist.  Huge improvement.

Original comment by paul.w.palm@gmail.com on 18 Feb 2011 at 4:20