If there is an Android app I use every day, it's Coversal
Coversal is an Android app that allows you to remotely control Mplayer (and a bunch of other media players) via SSH. Obviously, you do need SSH running on your target computer, and a local network to which both phone and computer are connected. Although SSH server isn't preinstalled on most desktop Linux distributions, and it's most certainly not started by default, it isn't too difficult to set up either.
I will give you my impressions of Coversal itself, and a few tips on how to set things up.
While not perfect, Coversal has so far proven to be a very good remote control.
I've tried a few different apps with VLC, which, btw, has built-in support for remote controls using infrared, HTTP, and various other channels, but no app I've tried managed to get connected. On the other hand, combination of Mplayer and Coversal has worked right away after routine configuration of the SSH server.
Coversal can also be used to browse files on the target computer, and play videos from within its built-in file browser. Therefore, it can turn your computer into a media-center-like machine. Speaking of which Coversal can also control XBMC, if that's what you use.
There are a few hiccups, mostly resulting in lost connection to Mplayer and inability to reestablish it (which means walking over to the computer and quitting Mplayer manually), but generally it is very reliable. It has a nice skin that looks remote-controllerish, and all buttons are configurable to send out any Mplayer command you want.
Configuring the SSH server
Coversal can connect to your SSH server either using an encrypted SSH key, or via password. For simplicity, we will configure it to use password authentication on connections coming from within the network, and otherwise let it only use private key authentication.
Install SSH server using your distribution's tools. For example, on Mint, open the terminal app, and type in:
sudo apt-get install openssh-server
On Mint, you can also install it via the graphical application managers, but on Ubuntu you have to use the above command.
Once installed, you can edit the the configuration file:
sudo gedit /etc/ssh/sshd_config
Comment out the part that says
PermitRootLogin yes by adding a hash before it (
# character). Then add a line that says the opposite:
Comment out the part that says
PasswordAuthentication yes, and add a line like this:
Finally, add this block:
Match Address 192.168.1.* PasswordAuthentication yes
Note that the bit after "Address" must match the IP address of your network. To find out what your address on the network is, you can use the
ifconfig command. For example, here is what it looks like for me:
04:19:47 branko ~ -> ifconfig eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx ... ... wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::120b:a9ff:fe0a:4cd0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:758500 errors:0 dropped:0 overruns:0 frame:0 TX packets:537432 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:922530088 (922.5 MB) TX bytes:123985071 (123.9 MB)
My laptop is on addres 192.168.1.4. So the address in the SSH configuration is 192.168.1.*, where star (
* character) replaces any digits after the last dot.
Save the file and close it. Now you can restart your server with the following command:
sudo restart ssh
If the above command doesn't work (i.e., your system claims it's not even a command), try:
sudo systemctl restart sshd
At any rate, you have to refer to your distribution's manual/wiki if things go awfully wrong.
Configuring Coversal is pretty straightforward. Just fill in your computer's IP address in the 'hostname' field, and type in your username. You shouldn't type the password into the password field, and instead opt to type it every time you wish to connect, just in case your phone is stolen. If you think it can never be stolen or lost, though, feel free to type it in.
Once you are done configuring, a new item appears in the list which you can activate by tapping it. It will open the remote control interface.
Swiping the interface to right will show you the file browser which allows you to play files on your computer. You can set any folder to your starting folder by pressing the menu button and selecting the Set Home Directory option (for example, you can set your Videos folder as your home directory).
You can customize any key you see on the remote controller interface by pressing the menu button, and tapping the Edit Keymap option that appears. Some buttons are disabled by default, but you can enable them by unchecking the "disabled" checkbox.
It is also possible to add multiple targets for a single remote controller interface, and assign different buttons to control Mplayers on different computers, although I haven't used this feature yet.
To conclude, Coversal is definitely the best universal remote controller app I've seen so far. It gets the job done, and its flexibility is simply astonishing. I highly recommend you try it.