web-dev-qa-db-fra.com

Comment jouer du son sur notre serveur local via ssh sans vous connecter sur ce serveur?

J'utilise sox pour jouer un son sur notre serveur local (Ubuntu 16.04). Je lance jouer mon fichier.mp3 à travers ssh.

Cependant, ce son ne joue que si je suis connecté à ce serveur local. Une idée de comment y parvenir même si personne n'est connecté?

Merci

[EDIT] l’objectif n’est pas de vous connecter, de faire quelque chose, puis de vous déconnecter et de le maintenir en fonctionnement. L'objectif est de reproduire ce son sur le serveur local via ssh sans avoir à vous connecter à l'interface graphique du serveur local.

1
Sbe88

Pour démarrer le lecteur directement avec un oneliner, procédez par exemple:

ssh user@Host 'cvlc music/Ratatat/LP4'   # VLC opens whole directories
ssh user@Host 'play music/Ratatat/LP4/*' # SoX don't

Si vous êtes dans une session ssh et que vous souhaitez qu'un processus continue à s'exécuter après exited, vous pouvez utiliser disown pour déconnecter le processus du shell qui l'exécute:

$ ssh user@Host
$ cvlc music/Nick_McKaig & disown
$ exit

C'est la solution de facilité, mais vous ne pouvez pas revenir à la session car c'est possible avec screen (voir Max 'answer ) ou tmux.

1
dessert

Vous pouvez utiliser l'écran du programme sur le serveur ( https://help.ubuntu.com/community/Screen , http://www.gnu.org/software/screen/ ).

$ Sudo apt-get install screen # if not installed on the server

Connectez-vous via SSH et démarrez un écran

$ screen -S my_sound_bash 

commencez votre musique. Vous pouvez utiliser Ctrl+A+D pour quitter la session d'écran en cours et vous pouvez vous déconnecter. La musique devrait encore jouer.

Vous pouvez vous connecter à nouveau avec SSH et avec

$ screen -r my_sound_bash 

vous devriez récupérer votre joueur en cours d'exécution.

1
Max