uShare is a UPnP program developed by GeeXboX that allows you to stream media from your computer to your Xbox 360 or Playstation 3 along with other media devices. While there are other UPnP programs out there, such as Fuppes and MediaTomb (each of which are available via AUR if you so choose), I have found after trying each of the three that uShare is the easiest to setup and works with least amount of editing and configuring.
After many hours searching for a site that explained how to setup uShare and failing, I decided that I would compile all the information I found through trial and error, along with corrections from fellow users via comments on uShare's AUR page, if for nothing else but to see my name on the internet.
yaourt -Sy ushare
You will have to add a line in the PKGBUILD from:
cd $startdir/src/$pkgname-$pkgver ./configure --prefix=/usr --sysconfdir=/etc
cd $startdir/src/$pkgname-$pkgver sed -i -e "s%^INSTALL=\"/usr/bin/install -c\"$%INSTALL=\"$(which install) -c\"%" configure ./configure --prefix=/usr --sysconfdir=/etc
so that it will install everything correctly.
- thanks goes to fangrahh for this correction
After the installation is complete its time to move on to the configuration of uShare. This is very simple in the sense that you only have one file to edit, /etc/ushare.conf:
# /etc/ushare.conf # Configuration file for uShare # uShare UPnP Friendly Name (default is 'uShare'). USHARE_NAME= # Interface to listen to (default is eth0). # Ex : USHARE_IFACE=eth1 USHARE_IFACE= # Port to listen to (default is random from IANA Dynamic Ports range) # Ex : USHARE_PORT=49200 USHARE_PORT= # Port to listen for Telnet connections # Ex : USHARE_TELNET_PORT=1337 USHARE_TELNET_PORT= # Directories to be shared (space or CSV list). # Ex: USHARE_DIR=/dir1,/dir2 USHARE_DIR= # Use to override what happens when iconv fails to parse a file name. # The default uShare behaviour is to not add the entry in the media list # This option overrides that behaviour and adds the non-iconv'ed string into # the media list, with the assumption that the renderer will be able to # handle it. Devices like Noxon 2 have no problem with strings being passed # as is. (Umlauts for all!) # # Options are TRUE/YES/1 for override and anything else for default behaviour USHARE_OVERRIDE_ICONV_ERR= # Enable Web interface (yes/no) ENABLE_WEB= # Enable Telnet control interface (yes/no) ENABLE_TELNET= # Use XboX 360 compatibility mode (yes/no) ENABLE_XBOX=yes # Use DLNA profile (yes/no) # This is needed for PlayStation3 to work (among other devices) ENABLE_DLNA=
- ex: USHARE_NAME=Archlinux
- Set this to whatever you want, it is the name you will see when selecting the server
- ex: USHARE_IFACE=eth0
- Default is eth0 so only change it if yours is something different
- ex: USHARE_PORT= 49200
- I set this to 49200 so it was always the same port but you can leave it blank if you want it to randomly set it each time
- ex: USHARE_DIR=/media/Share
- I found uShare has problems with more than one directory, so I setup a general Share directory in /media that has both my Music and Video folders but you can try multiple directories if you feel adventurous
- Unless you feel like overriding the default I would leave it blank
- Web interface and Telnet service I put as no because I like to do everything from a command line but you can set this however you like
- jordz said that this line needs to be:
I can confirm that this does indeed work so if you are connecting to an Xbox you should modify and enable this option
- Enable this if you are connecting to a Playstation 3 otherwise it is safe to say no here
The only issue I've run into is running uShare as a daemon. When in daemon mode, I have found that my Xbox complains about invalid video formats. To fix this I have found that changing the line:
[ -z "$PID" ] && /usr/bin/ushare -D $PARAMS
in /etc/rc.d/ushare to:
[ -z "$PID" ] && /usr/bin/ushare -x -D $PARAMS
works for me, but I cannot confirm that this is a general fix for all computers or that this is an issue to anyone other than myself.