如何使用ssh遠端啟動/配置pulseaudio?

如何使用ssh遠端啟動/配置pulseaudio?

我有一台可以透過 ssh 存取的遠端電腦。遠端電腦上有一個程序,它使用脈衝音訊從連接到遠端電腦的 USB 麥克風獲取輸入。此設定在本地操作時工作正常,即在本地連接時我可以從脈衝音訊獲取輸入。

透過 ssh,我收到錯誤:

ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

同樣,當我嘗試pavucontrol透過 在遠端電腦上開啟時ssh -X,我收到訊息:

連線 PulseAudio 失敗。 ....在這種情況下,這可能是因為環境/X11 根視窗屬性中的 PULSE_SERVER 或 client.conf 中的預設伺服器配置錯誤。

pulseaudio --start
N: [pulseaudio] main.c: User-configured server at {30ab51874e4a0ca492830f1400000007}unix:/home/user2/.pulse/30ab51874e4a0ca492830f1400000007-runtime/native, refusing to start/autospawn.

嘗試使用 x11 啟動脈衝音訊:start-pulseaudio-x11

Connection failure: Connection refused
pa_context_connect() failed: Connection refused

pulseaudio --check直接返回命令提示字元。

如果我嘗試取得 ssh X 屬性,我會得到:

user1@remote-pc:~$: xprop -root | grep PULSE
PULSE_COOKIE(STRING) = Some stuff here
PULSE_SERVER(STRING) = "{30ab51874e4a0ca492830f1400000007}unix:/home/user2/.pulse/30ab51874e4a0ca492830f1400000007-runtime/native"
PULSE_SESSION_ID(STRING) = "30ab51874e4a0ca492830f1400000007-1407765989.424751-1424846683"
PULSE_ID(STRING) = "12165@30ab51874e4a0ca492830f1400000007/2040"

好的。我已經看到與此問題相關的問題,但在每種情況下,詢問者都希望透過網路連線傳輸聲音,而我不希望這樣做。那我要配置PULSE_SERVER成什麼呢?

答案1

我似乎透過運行解決了問題

pax11publish -r

現在,xprop -root | grep PULSE顯示:

PULSE_SERVER(STRING) = "{9899a0f46bdae6bbc8e6e8b200000005}unix:/home/user1/.pulse/9899a0f46bdae6bbc8e6e8b200000005-runtime/native"

顯然pulseaudio --check通常應該進入命令提示字元。顯然這表明它正在運行。

答案2

將其放入遠端伺服器的 ~/.bashrc 中(如果您使用 Bash 作為預設 shell):

if test "$SSH_CLIENT" ; then export PULSE_SERVER=tcp:localhost; fi

或放

default-server = tcp:localhost

/etc/pulse/client.conf或在下面的同名檔案中脈衝目錄下的使用者特定設定檔目錄(如果使用此類檔案)。看https://specations.freedesktop.org/basedir-spec/basedir-spec-latest.html有關目錄的更多資訊。

相關內容