Pulseaudio konnte kein sicheres Verzeichnis in der NFS-Freigabe erstellen


7

Mein pulseaudio kann nicht ausgeführt werden, da es versucht, ~/.config/pulseunter einem anderen Benutzer zu erstellen . (wahrscheinlich pulse?).

user@localhost ~$ pulseaudio 
E: [pulseaudio] core-util.c: Failed to create secure directory (/home/user/.config/pulse): Permission denied

Da das Home-Verzeichnis von nfs gemountet wird und der Server dem Benutzer niemals den pulseZugriff auf dieses Verzeichnis erlaubt (auch nicht zum Lesen), muss er entweder einen anderen Pfad außerhalb des Home-Verzeichnisses verwenden oder mit einem anderen Benutzer ausgeführt werden.

Ich habe es überprüft /etc/pulse/client.conf, aber es scheint keine Konfigurationsoption dafür zu geben.

Irgendwelche Ideen, wie dieses Problem gelöst werden kann?

Antworten:


2

Sie können den Pfad des Basisverzeichnisses ändern, indem Sie Ihre /etc/passwdDatei bearbeiten und dann das Basisverzeichnis erstellen, indem Sie :

/sbin/mkhomedir_helper <username> [<umask> [<skeldir>]]

Eine weitere Möglichkeit pulseaudiobesteht darin, über einen anderen Benutzer zu laufen. Aus diesem Grund wird versucht, eine Datei im Verzeichnis dieses Benutzers zu erstellen. Überprüfen Sie daher einmal die Verwendung ps -ef | grep pulseund Aktualisierung Ihrer Frage

Andere Option :

Führen Sie pulseaudio systemweit aus

Aus bestimmten Gründen ist es eine gute Sache, einen einzelnen pulseaudio-Daemon anstelle eines pro angemeldeten Benutzer zu wählen

Das ist wie man es macht:

  • Fügen Sie jedem Benutzer im System die Gruppen "Puls" und "Pulszugriff" hinzu.

  • bearbeiten /etc/pulse/daemon.conf

  • ändere 'daemonize = no' in 'daemonize = yes'

  • ändere 'system-instance = no' in 'system-instance = yes'

  • bearbeiten etc / default / pulseaudio

  • ändere ' PULSEAUDIO_SYSTEM_START=0' in ' PULSEAUDIO_SYSTEM_START=1'

  • Löschen Sie .pulse in Ihrem Home-Verzeichnis und machen Sie dasselbe für andere Benutzer

  • Starten Sie das System neu

Referenzlink


Hallo, ich weiß nicht, was du mit diesem zweiten Home-Verzeichnis gemeint hast. Also habe ich versucht, den Daemon in root auszuführen. Es scheint nicht zu funktionieren. Auch das Ausführen pulseaudio -Din root funktioniert nicht. Beim Versuch, pavucontrol auszuführen, bleibt es hängen, während versucht wird, eine Verbindung herzustellen. Auch /etc/default/pulseaudiogab es nicht, also habe ich eine neue erstellt. Kein Benutzer hatte ein .pulseVerzeichnis. Nur .config/pulseso habe ich versucht, dieses zu löschen, aber es kommt immer wieder zurück.
d_inevitable

Auch der Benutzer pulseaudio läuft wie "puls", aber das ist nur dann der Fall, wenn er jemals ausgeführt werden kann, ohne diesen Fehler zu ersticken.
d_inevitable

1

Sie sollten in der Lage sein, dem "Puls" -Benutzer die Möglichkeit zu geben, in eine Datei innerhalb dieser Freigabe zu schreiben. Die Umask kann dies verhindern, aber wenn Sie "chmod 777 .config / puls" verwenden, sollte der Dienst in der Lage sein, darauf zu schreiben.


1
Nein, da das übergeordnete Verzeichnis keine Lese- / Ausführungsberechtigung für den Impuls hat. Selbst die lokale Wurzel kann nicht auf dieses Verzeichnis zugreifen.
d_inevitable

1

Ich denke, die bessere Option (im Vergleich zum systemweiten Ausführen von Pulseaudio) besteht darin, einen Konfigurationsort außerhalb des NFS-Mount festzulegen. Die Pulseaudio-Manpage erklärt zwei Möglichkeiten:

  1. Wenn a ~/.pulse/client.confnicht gefunden wird, wird das globale /etc/pulse/client.confverwendet (und andere Konfigurationsdateien in denselben Verzeichnissen). Um die globalen Einstellungen zu verwenden, löschen Sie einfach die benutzerspezifischen Einstellungen.
  2. Wenn Sie pro Benutzer statt globaler Einstellungen möchten, können Sie das Pulseaudio - Umgebungsvariable (PULSE_CLIENTCONFIG) bei der Anmeldung (in gesetzt .bashrc, .xinitrcoder mit pam_env.conf).

Hey danke für die Antwort. Ich verwende kein Setup mehr, daher kann ich dies nicht überprüfen, aber soweit ich mich erinnere, besteht das Problem darin, dass der Impuls versuchen würde, etwas zu erzeugen ~/.pulse/client.conf und zu ersticken, da dies nicht zulässig ist.
d_inevitable

0

Dies löste das Problem für mich:

sudo chown username /home/username/.config/pulse
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.