phát âm thanh / thông báo trong finch over ssh trên máy cục bộ của tôi


9

Vì vậy, tôi có finch, một ứng dụng trò chuyện dòng lệnh (nghĩ pidgin) đang chạy trên một máy từ xa mà tôi sshvào. finchcó âm thanh thông báo và có thể chạy lệnh khi một số sự kiện nhất định xảy ra, cho phép bạn chuyển tệp âm thanh dưới dạng %s. ví dụmplayer %s

từ máy từ xa, khi thông báo xảy ra, tôi có thể chạy loại lệnh nào để chơi bất cứ thứ gì %scó trên máy cục bộ của mình?

Câu trả lời:


7

Nếu bạn sử dụng âm thanh xung làm máy chủ âm thanh, bạn có thể sử dụng module-native-protocol-tcpđể chấp nhận kết nối tcp từ máy từ xa.

Trong ví dụ sau, tôi sử dụng đường hầm ssh để chuyển tiếp yêu cầu âm thanh từ máy từ xa đến máy cục bộ.

Trên máy cục bộ, hãy làm một cái gì đó như:

pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
ssh -R 9999:127.0.0.1:4713 you@remotehost

sau đó trên máy từ xa bạn có thể sử dụng paplay

paplay -s 127.0.0.1:9999 soundfile.wav

THÊM Tôi phát hiện ra rằngauth-ip-aclkhông chấp nhậnlocalhostlà một tham số hợp lệ, bạn phải sử dụng127.0.0.1(hoặc bất cứ điều gì máy của bạn sử dụng địa chỉ localhost).

EDIT Nó nênssh -R, khôngssh -L(chúng tôi đang chuyển tiếp một cổng từ xa đến một cổng cục bộ).


Nếu bạn có phiên bản cũ của âm thanh xung (trước 0.9.3), bạn có thể sử dụng ủy quyền dựa trên cookie.

pactl load-module module-native-protocol-tcp auth-anonymous=1 auth-cookie-enabled=0
scp ~/.pulse-cookie you@remotehost:
ssh -R 9999:localhost:4713 you@remotehost

Rõ ràng, bạn chỉ đơn giản là không thể sử dụng bất kỳ xác thực nào trong âm thanh xung nhưng tôi không thể đề xuất cho bạn giải pháp này. Sử dụng, ít nhất, một tường lửa để tránh các kết nối từ xa.


nhận được "Thất bại: Không khởi tạo mô-đun" pactl load-module module-native-protocol-tcp auth-ip-acl=localhost. Tôi đang thiếu một người phụ thuộc hay cái gì đó?
người kiểm tra

Hãy thử pulseaudio --check ; echo $?kiểm tra xem máy chủ pulseaudio có chạy không. Nó sẽ in 0nếu chạy.
andcoz

Trên máy của tôi (opensuse 12.1), mô-đun nằm trong /usr/lib64/pulse-1.1/modules/module-native-protocol-tcp.so. Phân phối nào bạn đang chạy trên?
andcoz

echos máy cục bộ của tôi 0đúng cách .. từ xa là trên Ubuntu 11.10 và cục bộ của tôi là vào ngày 11.04. tôi đã thử tham khảo các mô-đun trực tiếp trên địa phương của tôi pactl load-module /usr/lib/pulse-0.9.22/modules/module-native-protocol-tcp.so auth-ip-acl=localhost và tôi nhận được Failure: Invalid argument. Bất kỳ ý tưởng? (btw cảm ơn vì đã giúp đỡ)
người kiểm tra

auth-ip-aclđược hỗ trợ kể từ phiên bản 0.9.3. Xem freedesktop.org/wiki/Software/PulseAudio/Documentation/User/ cường
andcoz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.