Som sobre conexão SSH no MobaXTerm

2

Estou tentando encaminhar um som .wav por uma conexão ssh de um servidor linux para um laptop Windows local. Eu ssh através de MobaXTerm e X11 encaminhamento está ligado.

O objetivo é produzir o som de um programa em execução na caixa do Linux no meu alto-falante local. Por enquanto, tocar o som diretamente seria suficiente.

$ paplay sound.wav não produz erros.

O Pulse está configurado, com paprefs, para encontrar alto-falantes locais ... mas isso não acontece.

O arquivo wav funciona bem em uma máquina local, montando o diretório e, em seguida, jogando com um player nativo do Windows.

Existe um acréscimo no MobaXTerm para suportar o encaminhamento de áudio? Como faço para capturar o som encaminhado em minha máquina Windows para consertar o que percebo que é atualmente uma solução funcional, mas não totalmente executada?

    
por heretogetanswers 31.03.2017 / 16:51

1 resposta

3

O próprio SSH não possui recursos para gráficos ou encaminhamento de som. O protocolo X11 está pronto para uso em rede¹, o que permite que aplicativos GUI sejam facilmente encaminhados pela rede: tudo o que o SSH precisa fazer é encaminhar a conexão de rede. O lado em que os aplicativos são exibidos precisa ter um servidor X11; Além de ser um cliente SSH, o MobaXterm inclui um emulador de terminal e um servidor X11.

O som não funciona dessa maneira, mas você pode fazê-lo funcionar dessa maneira usando um servidor de som] ( link ). Isso significa instruir o aplicativo de produção de som a usar um protocolo de rede, instruindo o SSH a encaminhar a conexão de rede e ter um aplicativo que reproduza sons recebidos por meio de uma conexão de rede no lado do cliente. O MobaXterm não inclui a parte de reprodução de som, e o próprio Windows também não (obviamente, não), então você precisará instalar um.

paplay fala com o servidor de som PulseAudio e você pode encaminhar essa conexão por meio do SSH. Na máquina remota, execute

pacmd load-module module-native-protocol-tcp

(pode já ter sido ativado em todo o sistema). Você também pode fazer isso através de paprefs. Agora você deve ter um arquivo chamado ~/.pulse-cookie ou ~/.config/pulse/cookie dependendo da sua distribuição. Copie esse arquivo para a máquina Windows.

Com a conexão SSH, encaminhe uma porta para a porta 4713 no servidor, diga 4714. (Você pode escolher 4713 em ambos os lados; no lado do servidor tem que ser a porta onde o PulseAudio está escutando e isso é 4713 por padrão. ) (Com a linha de comando do OpenSSH, você faria ssh -L 4714:localhost:4713 ).

No Windows, instale a porta PulseAudio . Não sei como funcionam, como nunca os usei; você precisará apontá-los para o arquivo cookie e para a conexão encaminhada (porta 4714).

Veja também as instruções oficiais (não é muito útil) e post de grawity em Super User que também explica como transmitir a conexão PulseAudio sem usar o SSH (isso significa menos latência, mas é inseguro e pode ser bloqueado por um firewall).

¹ Por isso quero dizer, ele usa um protocolo que é um protocolo de comunicação de rede em primeiro lugar.

    
por 01.04.2017 / 02:05

Tags