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, PS3 MediaServer 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.
Note that uShare is a minimalist server; it keeps all media metadata in memory, and therefore needs to re-scan all your files at start. If you have lots of files (e.g. music), this can take a while. Also, as packaged in Arch now, uShare runs as root; this is a serious security problem. uShare is currently unmaintained.
uShare and its dependencies are included in the Arch community repository. To install, run as usual:
sudo pacman -S ushare
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/ushare.conf:
# /etc/ushare/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. Setting this to a directory of symlinks works well for sharing a number of different unrelated directories.
- 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
NOTE: This is unconfirmed, but all the ENABLE_ options should propably have USHARE_ before them, atleast WEB works with USHARE_ (Lartza)
You will need to add the following line to /etc/hosts.allow:
ushare : ALL : ALL
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.
If you have problems with xvid/divx files, a possible work around would be to change mime types from avi files from /usr/share/mime/packages/freedesktop.xml from "video/x-msvideo" to "video/x-ms-wmv", update database with `update-mime-database /usr/share/mime/` and restart ushare. This procedure was taken from This blog post and this mail.