I recently bought a Pi and I'm trying to get it replace my PC, who is currently doing the jobs listed in the title.
The PC does have more oomph than the Pi, but I'd rather have it back as a desktop PC than use it as a server and it would be nice to have the Pi running as that sort of thing, just to see if I can.
What the Linux PC does:
Shares two external NTFS formatted hard disks (even though it runs Debian sid, they're NTFS formatted just in case I decide to hook them up directly to a Windows PC) the Linux PC also shares a printer with a Windows laptop, done via Samba
Streams media to a Smart BluRay player via DLNA, I was using MediaTomb for this as it has a better interface than miniDLNA IMHO
Downloads torrents on request was using KTorrent
I was also remoting into the PC at home through the Windows laptop using WinSwitch and xpra from which I was running KTorrent as a user so that would be nice too, especially as KTorrent has a web interface plugin which allowed me to tell my PC to download something when out and about.
I'm managing to get most of this done on the Pi but have ran into a few problems.
File and print sharing: Done, managed it using Samba as on the Linux PC, I also needed ntfs-3g for the NTFS formatted drives (though I should probably choose a Linux native file format, the two drives are permaconnected to either the Pi or the Linux PC)
Torrenting: Done though I'm currently using Deluge rather than KTorrent as I'm not so sure about running KDE anything on the Pi, KDE isn't the lightest of desktops
Remote admin: At the moment with XRDP, I've considered VNC, might do again. Window Switch doesn't appear to be available for ARM architecture, VNC requires installation of software on both ends (a Windows PC as well as on the PI) while other options include X11 forwarding via SSH (native to Linux and therefore the desktop PC and the Pi, only requires the installation of an X server and Putty on Windows) and RDP which requires no other software installed on the Windows laptop.
DLNA: Here's the problem. I've tried installing both MediaTomb and MiniDLNA but they both fail with an "Illegal instruction" error on install (this may be down to Raspbian being based on Debian's armhf branch and Debian's armhf being coded for ARMv7 chips while the Pi has an ARMv6 chip, the .deb.packages at raspbian containing ARMv7 code that doesn't work on the Pi)
I have managed to get Rygel working, but that only runs if I'm logged in as a user so I'm open to suggestions.
What I've tried so far:
Searching Google for suggestions on how to run Rygel as a daemon led me to this this and other instructions concerning Gentoo that I can't seem to relocate. Trouble is, I'm not quite understanding everything, it's slightly above my head so I don't want to put it into practice until I know what I'm doing.
Adding source repositories and compiling them - Illegal instruction
Downloading the source code and make make install - Illegal instruction
Cross compiling - so far above my head it's in orbit... I'm just not that clever
Alternative program - PS3MediaServer?, Twonky? - PS3MS is Java based although there appears to be problems with Oracle's Java, but what about OpenJDK and which version should I use, 6 or 7?
Alternative distro - Raspbian is based on Debian's armhf branch - which is compiled for ARMv7 CPUs, not the ARMv6 CPU used in Pi, multiarch may be an answer but I think when I tried that in a chroot of armel Debian on a tablet, installing armhf binaries wanted to remove most of the armel system, how it will work the other way round, haven't tried that yet, but it might be worth seeing if there are any ARMv6 hard float distros (or even soft float distros)