SSH'deki X gibi sesleri yönlendirme


27

X uygulamalarını ssh içinde -X anahtarını kullanarak uzaktan kullanmak mümkün olsa da, ses yalnızca uzaktaki makinenin hoparlöründe çalınır. Örneğin, bir filmi VLC / Totem'de görüntülerseniz, yalnızca video görünürdür ve sesi duyamıyorum. Sesi de iletmenin bir yolu var mı? [Pulse-ses kurulumunu kazmadan, demek istiyorum; Ssh'ın X'i kendi kendine yönlendirmeyi nasıl anladığı gibi.

Bunu sadece Ubuntu'da (9.10 ile 10.10 arasında çeşitli Ubuntu sürümlerinde) denedim.

Yanıtlar:


30

İlk önce çalıştırın paprefs, Ağ Sunucusu'na gidin ve Yerel ses cihazlarına ağ erişimini etkinleştir'i işaretleyin . Bu PulseAudio'da "module-native-protokol-tcp" yüklenecektir.

Artık PulseAudio sunucusuna birkaç yolla erişebilirsiniz:

TCP bağlantısını SSH üzerinden el ile iletme

  1. pax11publishPulseAudio dinleyici portunuzu keşfetmek için kullanın (genellikle 4713);
  2. Başka bir bilgisayara bağlan ssh -R 24713:localhost:4713(uzaktaki '24713' bağlantı noktası isteğe bağlı olarak seçildi);
  3. Kimlik doğrulama çerezinizi (~ / .config / pulse / cookie) bu bilgisayara kopyalayın;
  4. Sonunda koş export PULSE_SERVER="tcp:localhost:24713"ve test et pactl info.

X11 tabanlı keşif ile otomatik doğrudan bağlantı kullanın

Ne zaman X11 yönlendirme etkinleştirilmiş SSH kullanıyorsanız, PulseAudio programları ses sunucunuzu bulmak için X11'i kullanır ( kendiniz için pax11publishveya xprop -root PULSE_SERVERkullanın). Ses akışı için bilgisayarınıza doğrudan (SSH olmayan, şifrelenmemiş) bir bağlantı kurmaya çalışacaklar .

DNS-SD keşfi ile otomatik doğrudan bağlantı kullan

Avahi-daemon ve pulseaudio-zeroconf kurulu ise, "Diğer makinelerin yerel cihazları keşfetmesine izin ver" i etkinleştirebilirsiniz. Bu "module-zeroconf-publish" yükleyecektir.

"Bulunabilir ağ aygıtlarını yerel olarak kullanılabilir duruma getir" seçeneği bulunan diğer bilgisayarlar (modül-zeroconf-keşif), bilgisayarınızın dışa aktardığı çıkışları (evyeleri) otomatik olarak listeler. Onlar kullanacağı direkt ses akışı için (şifrelenmemiş) bağlantısı.

Bu yöntem aynı zamanda ~ / .config / pulse / cookie 'nin ana bilgisayarlar arasında aynı olmasını gerektirir.


2
Nerede ~/.pulse_cookievar? Uzakta mı yoksa yerel olarak mı?
HSchmale

2
Her ikisi de. Pulseaudio arka plan programı tarafından oluşturulur, ardından istemcileri birbirine bağlayarak (şifre gibi) okuyun, böylece sunucudan istemcilere kopyalamak isteyeceksiniz. (Yol beri hiç değiştirildiğini Not ~/.config/pulse/cookie; bir değil işi yaparsa diğer deneyin.)
grawity

2
Paprefs'te ayarları değiştirdikten sonra, en azından pulseaudio'yu elle yeniden başlatmanız gerektiğini unutmayın. Benim durumumda, saatlerce yanlış olanı anlamaya çalıştıktan sonra, yeniden başlattım ve sonra her şey çalıştı :).
crazy2be

Bu benim için çalıştı, teşekkürler. Uzak ahududu pi kullanarak rtl-sdr, bu nedenle ssh üzerinden ses almak istersiniz.
Paul M,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.