这是我在这个论坛上的第一篇帖子,不幸的是,这是一篇求助文章。两天前,我试图在我的 Kubuntu 机器上安装远程管理工具 (XRDP),但出现了一些问题。我从 Windows 机器连接到 Kubuntu 机器后,它的屏幕变黑了。我无法重新打开它,而且从 Windows 机器上我也无能为力。
最后我只好按住电源按钮 5 秒钟来关闭 Kubuntu。重启后,整个音频系统都坏了。声音设置和音量管理器显示除了 Dummy Output 之外没有输出设备。
从那时起,我尝试了以下方法,这些方法都是从网上的几个不同来源收集的。立即引起我注意的是,inxi -SMA 显示 ALSA 和 PipeWire 声音服务器都在运行。据我所知,我从未对 PipeWire 做过任何事情,我期望在这里看到 PulseAudio 服务器在运行。这可能是正常的,但对于 Linux 的所有事情,我仍然是个新手,所以不能确定这是否正常。
inxi -SMA
Audio:
Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio
driver: snd_hda_intel
Device-2: Intel 8 Series/C220 Series High Definition Audio
driver: snd_hda_intel
Sound Server-1: ALSA v: k5.15.0-41-generic running: yes
Sound Server-2: PipeWire v: 0.3.48 running: yes
sudo alsa force-reload
rebooted - No result
sudo apt-get install --reinstall alsa-base pulseaudio + sudo alsa force-reload
Rebooted - No result
pulseaudio --start
No result
mv ~/.config/pulse ~/.config/old_pulse
No result
Opened alsamixer in the console
See included pictures
systemctl status pulseaudio
Unit pulseaudio.service could not be found.
sudo systemctl enable pulseaudio.socket
Failed to enable unit: Unit file pulseaudio.socket does not exist.
systemctl --user start pulseaudio.service/socket
Invalid unit name "pulseaudio.service/socket" escaped as "pulseaudio.service-socket" (maybe you should use systemd-escape?).
Failed to start pulseaudio.service-socket.service: Unit pulseaudio.service-socket.service not found.
sudo systemctl --user unmask pulseaudio
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
systemctl --user status pulseaudio.service
× pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2022-07-14 14:35:12 CEST; 20s ago
TriggeredBy: × pulseaudio.socket
Process: 4580 ExecStart=/usr/bin/pulseaudio --daemonize=no --log-target=journal (code=exited, status=1/FAILURE)
Main PID: 4580 (code=exited, status=1/FAILURE)
CPU: 19ms
Jul 14 14:35:12 Kubuntu systemd[1317]: pulseaudio.service: Scheduled restart job, restart counter is at 5.
Jul 14 14:35:12 Kubuntu systemd[1317]: Stopped Sound Service.
Jul 14 14:35:12 Kubuntu systemd[1317]: pulseaudio.service: Start request repeated too quickly.
Jul 14 14:35:12 Kubuntu systemd[1317]: pulseaudio.service: Failed with result 'exit-code'.
Jul 14 14:35:12 Kubuntu systemd[1317]: Failed to start Sound Service.
事实证明 pulseaudio-enable-autospawn.service 不知何故被屏蔽了。我以前遇到过这个问题,花了一段时间才弄清楚如何取消屏蔽。现在我尝试按照此处建议的步骤取消屏蔽服务:systemctl,如何揭露但它就是不起作用。
file /lib/systemd/system/pulseaudio-enable-autospawn.service
/lib/systemd/system/pulseaudio-enable-autospawn.service: symbolic link to /dev/null
Shows that there is a sym link to dev/null which is why the unmask command won’t work as I understand it.
按照上面链接中的说明,我尝试删除符号链接。
sudo rm /lib/systemd/system/pulseaudio-enable-autospawn.service
[sudo] password for <username>:
There was no output here, which should mean the command was success, right?
Next step was
systemctl status pulseaudio-enable-autospawn.service
Unit pulseaudio-enable-autospawn.service could not be found.
然后尝试了以下操作:
systemctl status | grep pulse
│ │ │ │ ├─3540 pulseaudio --start
│ │ │ │ ├─3544 /usr/libexec/pulse/gsettings-helper
│ │ │ │ └─7650 grep --color=auto pulse
│ │ ├─7132 journalctl -q --no-tail --output=json --cursor=s=78e72f498f7945ebb33faf7eb0033abd;i=2c906;b=09a3abafd9944308b57118d761ce1ecb;m=d5b2d7f;t=5e3afa75d18e6;x=6bd340f3a4273938 --follow -- _SYSTEMD_UNIT=pulseaudio-enable-autospawn.service + COREDUMP_UNIT=pulseaudio-enable-autospawn.service + UNIT=pulseaudio-enable-autospawn.service
│ │ └─7133 journalctl -q --no-tail --output=json --cursor=s=78e72f498f7945ebb33faf7eb0033abd;i=2c906;b=09a3abafd9944308b57118d761ce1ecb;m=d5b2d7f;t=5e3afa75d18e6;x=6bd340f3a4273938 --follow -- _SYSTEMD_UNIT=pulseaudio-enable-autospawn.service + COREDUMP_UNIT=pulseaudio-enable-autospawn.service + UNIT=pulseaudio-enable-autospawn.service
我不确定我在这里看到的是什么,也许有人可以理解它。
此时我已经筋疲力尽,沮丧到几乎想要重新安装 Kubuntu,并重新设置。我花了几个小时搜索互联网,尝试了所有可能的建议。
据我所知,问题始于 pulseaudio-enable-autospawn.service 被屏蔽。说实话,如果我在尝试揭露它时出现问题,我不会感到惊讶,两天后我可能就不再那么清晰地思考了。
__
快速更新;我再次启动计算机去做其他事情,但出于好奇,我查看了那个烦人的 pulseaudio-enable-autospawn.service。令我惊讶的是,它不再被屏蔽,而且实际上也在运行。仍然没有任何可见的输出设备,所以我查看了其他与声音相关的服务。结果发现/usr/lib/systemd
/user/pulseaudio.service and
/usr/lib/systemd/user/pipewire-pulse.service` 处于非活动状态。我启动了它们,声音恢复了,我的联想 ThinkCentre 的内置扬声器和 HDMI 输出都再次正常工作。
我不知道这是怎么发生的,而且我很确定重启后它会再次损坏。另外,底部面板中的标准音量控制仍然没有显示输出设备,但我希望这是以后的快速修复。
我仍然很好奇到底出了什么问题,所以如果有人能发现问题,请随时发表评论。如果幸运的话,它可以帮助防止将来出现此问题,无论是对其他人还是我自己。
正如所料,重新启动 Kubuntu 后问题又出现了。Pulseaudio 服务已启用,但登录后不会自动启动。
我尝试了另外几件事:
systemctl --user start pulseaudio.service
Job for pulseaudio.service failed because the control process exited with error code.
See "systemctl --user status pulseaudio.service" and "journalctl --user -xeu pulseaudio.service" for details.
systemctl --user status pulseaudio
× pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2022-07-14 19:31:08 CEST; 10min ago
TriggeredBy: × pulseaudio.socket
Process: 9101 ExecStart=/usr/bin/pulseaudio --daemonize=no --log-target=journal (code=exited, status=1/FAI>
Main PID: 9101 (code=exited, status=1/FAILURE)
CPU: 108ms
Jul 14 19:31:08 Kubuntu systemd[1328]: pulseaudio.service: Scheduled restart job, restart counter is at 5.
Jul 14 19:31:08 Kubuntu systemd[1328]: Stopped Sound Service.
Jul 14 19:31:08 Kubuntu systemd[1328]: pulseaudio.service: Start request repeated too quickly.
Jul 14 19:31:08 Kubuntu systemd[1328]: pulseaudio.service: Failed with result 'exit-code'.
Jul 14 19:31:08 Kubuntu systemd[1328]: Failed to start Sound Service.
pulseaudio –start
E: [pulseaudio] main.c: Daemon startup failed.
systemctl --user status pulseaudio.socket
× pulseaudio.socket - Sound System
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.socket; enabled; vendor preset: enabled)
Active: failed (Result: service-start-limit-hit) since Thu 2022-07-14 19:31:08 CEST; 14min ago
Triggers: ● pulseaudio.service
Listen: /run/user/1000/pulse/native (Stream)
Jul 14 19:31:05 Kubuntu systemd[1328]: Listening on Sound System.
Jul 14 19:31:08 Kubuntu systemd[1328]: pulseaudio.socket: Failed with result 'service-start-limit-hit'.
基本上,Pulseaudio 服务无法启动。唯一发生的事情是内置扬声器开始发出噼啪声。
再次重启,这次我可以手动启动服务,声音又恢复正常了。我使用应用程序“Cockpit”(见下面的屏幕截图)来启动它,因为我不再确定如何以正确的方式启动服务。
现在的问题是 Pulseaudio 服务无法自行启动,今天我已经尝试修复它了。希望在接下来的几天里有人能给我指明正确的方向...
按照要求:
dpkg -l | grep pipewire
ii libpipewire-0.3-0:amd64 0.3.48-1ubuntu1 amd64 libraries for the PipeWire multimedia server
ii libpipewire-0.3-common 0.3.48-1ubuntu1 all libraries for the PipeWire multimedia server - common files
ii libpipewire-0.3-modules:amd64 0.3.48-1ubuntu1 amd64 libraries for the PipeWire multimedia server - modules
ii pipewire:amd64 0.3.48-1ubuntu1 amd64 audio and video processing engine multimedia server
ii pipewire-bin 0.3.48-1ubuntu1 amd64 PipeWire multimedia server - programs
ii pipewire-media-session 0.4.1-2ubuntu1 amd64 example session manager for PipeWire
ii pipewire-pulse 0.3.48-1ubuntu1 amd64 PipeWire PulseAudio daemon
同时,我找到了一个小的解决方法,可以暂时解决这个问题。登录 Kubuntu 后,没有输出设备。当我发出命令“systemctl --user stop pipewire-pulse”然后发出“systemctl --user start pulseaudio”时,一切恢复正常。我不确定为什么,但似乎只要 pipewire-pulse 服务正在运行,pulseaudio 服务就无法启动。
感谢您建议屏蔽 pipewire-pulse.service 和 pipewire-pulse.socket,没人管。我稍后会尝试并报告我的发现。
-编辑
关于 PulseAudio,我没什么可报告的了。决定尝试 PipeWire,到目前为止效果很好。认为这个问题已经解决了。
答案1
从 Debian Stable (11) 移至 Testing (12) 后,我的声音 (AMD Renoir Radeon High Definition Audio) 出现故障。inxi -SMA
已报告服务器 PipeWire。apt purge pipewire
服务器为 PulseAudio 后,声音又恢复正常。