Running a program as root on Android I have followed the guide at XDA Developers for a Samsung Galaxy Note II, and used "option 2" and flashed the firmware using heimdall flash --RECOVERY recovery.img --CACHE cache.img in Linux.

This gave me a SuperSU program, which I could execute. After executing it immediately wanted to update. I allowed it. It required a reboot, I allowed that. The program asked if it should attempt to install by the "normal" or CWM method. I picked CWM.

The device started up in the CWM minimal OS, but it was not apparent to me what option the user should take at this point to proceed. I tried various options, like installing from cache or sd card, but there didn't appear to be any file to install.

I rebooted again, started SuperSU again. I selected "Install SuperSU into /system". The program needed to reboot again, this time I was not given the option of how to install it ("normal" or CWM).

After reboot, I started SuperSU again. The option was still available to "Install SuperSU into /system", it is unclear if this means SuperSU has not successfully installed, or if this option is always available in case you need to repeat the procedure after an update.

I downloaded the Titanium Backup program which as I understand required root access. When executing Titanium Backup, I was prompted by SuperSU if I wished to grant root access. I clicked yes. The program appeared to function properly.

My questions are:


What action is the user supposed to take within CWM when SuperSU requests to reboot using this method?
Is the choice "Install SuperSU into /system" supposed to still be possible to select after a successful install?
How do I run an arbitrary program as root? What I wanted to do in the first place was to get a terminal to run as root. I have already a program called "Terminal Emulator" installed. How do I make "Terminal Emulator" execute as root?
Is it normal for SuperSU to "close" itself spontaneously while looking through the settings? I think once it updated itself while I was in the settings, but I'm not sure.
Ugh, that's 4 questions in one. Our site works best with one question per post; but let me try:


How to install via CWM (custom recovery)?
usually, it's "install update.zip from SDCard" when the deal is to "install something via recovery". By default, there should be an update.zip file in the root of the SDCard, which you then navigate to and select.
Hint: I always update it via Google Play (the "normal way"). Works smoothly, never had trouble, doesn't require a reboot.
Is the choice "Install SuperSU into /system" supposed to still be possible to select after a successful install?
I'd say "No", but it depends. This usually moves the app from /data (user-space) to /system (system-space). After having moved it, it should no longer be in its original location. But depending on how updates are installed (SuperSU e.g. updates via Google Play, like any other app), this update could again end up in user-space, in which case the user might wish to "repeat" the system integration.
How do I run an arbitrary program as root?
Two-fold. First, "arbitrary programs" (apps) must request root access themselves, you cannot make them "run as root". That's a little different when it comes to the command line: prefixing your commands with su makes the terminal app requesting root access. So you could e.g. list all directories below /data using su ls /data and succeed (while a simple ls /data wouldn't be able to access all files/sub-directories here).
Is it normal for SuperSU to "close" itself spontaneously while looking through the settings?
I've never experienced that, and I'm using SuperSU on one of my devices for a year now (the others have chainfire's SuperUser). But I must admit I'm not often calling it directly and stay there for longer. I mostly only see the access requests of apps, or the update recommendation via Play :)