Do you mean you want Rhythmbox to display onto the remote computer's screen? The screen onto which a GUI application is displayed is indicated by the
DISPLAY environment variable. When you run
DISPLAY is set to a value that indicates that display requests must be forwarded over the SSH connection. To make the application display on the remote computer's screen, set
DISPLAY to the value
ssh [email protected] 'DISPLAY=:0 rhythmbox &'
There's one more hurdle: when an application connects to an X display, it needs to provide a sort of password called a cookie. The cookie is generated each time the X server starts. Ubuntu stores the cookie in a file with a randomly generated name. The easiest way to find the cookie is to store it in a well-known file name when the X server starts. On Ubuntu, add this code to your
case $DISPLAY:$XAUTHORITY in
# DISPLAY is set and points to a local display, and XAUTHORITY is
# set, so merge the contents of `$XAUTHORITY` into ~/.Xauthority.
XAUTHORITY=~/.Xauthority xauth merge "$XAUTHORITY";;
For more background, see ssh DISPLAY variable.
Or did you mean you never ever want to see the Rhythmbox window? If so, make it connect to a virtual X server, xvfb . Start the virtual X server, then tell Rhythmbox to connect to it.
ssh [email protected] 'Xvfb :1 -screen 0 800x600x8 & sleep 1; DISPLAY=:1 rhythmbox &'