Setelah login, desktop hang ~ 20s sebelum menampilkan Unity. Bootchart menyarankan pactl. Tolong?

11

Setelah saya masuk ke desktop Ubuntu 14.04 saya, saya melihat latar belakang desktop saya sekitar 20 detik sebelum desktop Unity yang sebenarnya dimuat. Saya menginstal bootchart dan itu menunjukkan bahwa masalahnya adalah yang pactldipanggil dan membutuhkan waktu lama untuk melakukan sesuatu, dan startup desktop utama diblokir pada hal itu:

masukkan deskripsi gambar di sini

Bagaimana saya bisa mengidentifikasi di mana pactlpanggilan ini, dan mengapa mungkin perlu waktu lama?

Log dari startup pulseaudio ada di: http://kryogenix.org/random/pulseverbose/ .

sil
sumber
coba komentari string "Exec = start-pulseaudio-x11" di /etc/xgd/autostart/pulseaudio.desktop dan lakukan hal yang sama untuk /etc/xgd/autostart/pulseaudio-kde.desktop dan lihat bagaimana hasilnya!
ostendali
jika hal di atas tidak berfungsi, coba hapus pulseaudio-kde.desktop dan pulseaudio.desktop (cadangkan mereka di suatu tempat) audio Anda masih berfungsi agar tidak perlu khawatir.
ostendali
erm ... bukankah itu akan menonaktifkan pulseaudio?
sil
1
Anda harus mengidentifikasi terlebih dahulu penyebabnya sebelum mengkhawatirkan pulseaudio Anda dan tidak ada yang tidak akan dinonaktifkan seperti yang saya katakan di atas, itu hanya akan menonaktifkan autostart itu saja ....
ostendali
Setuju dengan @ostendali dan @Dee; coba nonaktifkan proses startup yang menyinggung. Jika itu membuat startup cepat, maka cobalah mengaktifkannya kembali dengan login seperti yang disarankan Dee, dan lihat apa yang muncul.
Wildcard

Jawaban:

8

Untuk Diagnosis (bukan solusinya) Anda harus mengaktifkan logging on pactlmodule:

  • edit (dengan sudo) file berikut

    /etc/pulse/client.conf
    
  • dan tambahkan baris berikut ke file

    extra-arguments = -vvvv --log-target=newfile:/tmp/pulseverbose.log --log-time=1
    
  • Setelah login ulang /tmp/pulseverbose.logsemoga akan mengandung potensi masalah kontrol audio pulsa. Mungkin ada lebih dari satu file.

  • Kembali dan tempel di sini dan kami dapat memberikan Anda petunjuk tambahan.

  • Menghapus! garis dari /etc/pulse/client.confsetelah Anda selesai.

Untuk Solusi, saya akan mencoba menginstal ulang pulseaudio, tetapi setelah kita melihat log, mungkin ini akan berubah. Karena itu beri kami log Anda terlebih dahulu. Akhirnya langkah-langkah untuk menginstal ulang pulseaudio dan alsa bisa:

sudo apt-get remove --purge alsa-base pulseaudio
sudo apt-get install alsa-base pulseaudio
sudo alsa force-reload

tetapi ini bisa menjadi tidak berdaya misalnya jika driver Anda salah / lumpuh oleh pengaturan yang salah dll

Pembaruan: Diagnosis dari file log: Inti dari masalah Anda ada di sini

D (   0.005|   0.000)  [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="0" name="pci-0000_00_03.0" card_name="alsa_card.pci-0000_00_03.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"'
D (   3.010|   3.004)  [pulseaudio] reserve-wrap.c: Unable to contact D-Bus session bus: org.freedesktop.DBus.Error.NoServer: Failed to connect to socket /tmp/dbus-zgX6izEp13: Connection refused

diikuti oleh banyak kesalahan seperti ini:

I (   3.011|   0.000)  [pulseaudio] alsa-util.c: Error opening PCM device hw:0: No such file or directory

yang membutuhkan waktu saat startup.

Solusi yang diajukan:

  1. xxx Sepertinya ada soket sementara dibiarkan terbuka dan pulseaudio tidak berhasil. Silakan periksa apakah ada /tmp/dbus-zgX6izEp13file dan jika ya, hapus dengan sudo rm /tmp/dbus-zgX6izEp13dan coba reboot jika ada perubahan.

    - Perbarui : tidak ada file seperti itu, berarti itu dibuat tepat sebelum pulseaudio ingin menggunakannya atau sesuatu ingin menulisnya secara bersamaan. Beberapa konfigurasi dapat di-michmached / digandakan.

  2. Anda dapat mencoba membersihkan dan menginstal ulang pulseaudio. Lihat teks di atas.

Tolong beri balasan singkat jika sesuatu membantu.

Dee
sumber
OK, terima kasih untuk itu. Apa cara terbaik untuk menyediakan log? Saya menambahkan ke client.conf, reboot, login, dan dihapus dari client.conf, dan sekarang saya memiliki tiga file: pulseverbose.log, .log.1, dan .log.2, dengan ukuran 279K, 2.5K, 313K. Saya tidak bisa menempel semua itu :-) Apakah ada hal-hal spesifik yang harus dicari?
sil
Anda dapat membagikan tautan ke file misalnya di google drive ( docs.google.com/document/d/… ), atau layanan fileshare lainnya.
Dee
atau coba gunakan paste.ubuntu.com
Dee
OK, log file di kryogenix.org/random/pulseverbose
sil
@sil bisa tolong tambahkan tautan ke pertanyaan Anda? Itu membuatnya lebih mudah untuk menemukan semua informasi yang relevan.
Tobias