Seperti yang Anda baca, misalnya di sini , logind, yang merupakan bagian dari systemd, dapat mengatur izin ke beberapa perangkat untuk sesi pengguna. Ada juga video yang menunjukkan bagaimana perilaku semacam ini bekerja dalam praktik. Singkatnya, jika Anda mulai, katakanlah, amarok, dan Anda memainkan beberapa lagu, Anda akan mendengar suara sampai Anda beralih ke pengguna lain atau TTY di mana Anda hanya memiliki prompt login. Itu karena sesi aktif menjadi tidak aktif.
Saya tahu bahwa Anda cukup menambahkan pengguna (atau pengguna) ke grup tertentu, dalam hal ini "audio", dan itu akan 'memperbaiki' masalah ini, tetapi saya ingin tahu apakah ada solusi lain. Yang benar-benar saya inginkan adalah mengatur beberapa izin untuk proses sehingga dapat menggunakan kartu suara setiap saat, bahkan ketika semua pengguna memiliki sesi mereka terkunci.
Apakah itu mungkin? Saya bertanya karena saya sering mendengarkan musik dan saya tidak terlalu membutuhkan monitor saya, jadi saya hanya mengunci layar. Tetapi ketika saya mengunci layar, sesi aktif menjadi tidak aktif dan amarok berhenti diputar. Dan ya, layar harus dikunci, dan tidak dimatikan saja.
EDIT:
Saya tidak berpikir bahwa itu masalah distro mana yang saya gunakan karena jika ada systemd on board, itu akan menjadi masalah yang sama persis. Bagaimanapun, saya menggunakan debian sid, tetapi beberapa paket seperti systemd, udev (dan beberapa dependensi) berasal dari cabang eksperimental, dan sekarang versi 219-9.
nohup program_x & ; disown
bisa membantu. Atau menggunakan layarloginctl enable-linger
untuk akun?The systemd user instance is started after the first login of a user and killed after the last session of the user is closed. Sometimes it may be useful to start it right after boot, and keep the systemd user instance running after the last session closes, for instance to have some user process running without any open session. Lingering is used to that effect.
Itu tidak menyangkut sesi pengguna yang tidak aktif karenasystemd --user
selalu ada.Jawaban:
Saya tidak yakin, versi / rasa Linux yang Anda gunakan, tetapi sepertinya ACL untuk perangkat suara dikendalikan oleh ConsoleKit melalui aturan udev. Pada host Debian saya, saya melihat sesuatu seperti di bawah ini di /lib/udev/rules.d/70-udev-acl.rules
Saya akan bermain dengan membatalkan tag ini, jadi consolekit tidak akan menambahkan perangkat suara ke dalam basis datanya dan tidak mengelola ACL pada perangkat suara
sumber
audio group
ke biner amarok, dan izinnya adalah sebagai berikut-rwxr-sr-x
:, tetapi ketika saya mencoba untuk memulai amarok sebagai pengguna biasa, saya mendapatkan kesalahan ini:QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. unnamed app(24333): KUniqueApplication: Cannot find the D-Bus session server: "Unable to autolaunch when setuid"
Biar saya katakan saya tahu sedikit tentang audio di desktop Linux. Mea Culpa jika ini tidak akan membantu.
Saya akan mengatur izin grup perangkat audio:
ke grup yang menjalankan amarok. Gunakan systemd untuk memaksa amarok berjalan di grup itu. Pertama-tama salin file amarok systemd ke / etc / systemd / user / dan modifikasi:
(itu modifikasi, bukan seluruh file).
Tetapi mungkin ada jawaban yang lebih "canggih" karena banyak lapisan yang merupakan sistem audio-Linux saat ini.
sumber
chgrp audio
- semua perangkat di bawah / dev / snd / sudah memilikiaudio
grup, tetapi ini seharusnya tidak masalah ketika Anda menggunakan pulseaudio, dan itulah masalahnya. Ketika datang ke layanan systemd, saya mencobanya, tetapi saya mendapat kesalahan berikut:,Failed at step GROUP spawning /usr/bin/amarok: Operation not permitted. amarok.service: main process exited, code=exited, status=216/GROUP
dan saya tidak berpikir bahwa saya dapat mengubah grup ini sebagai pengguna biasa. Saya memiliki layanan lain yang memerlukan perubahan grup, tetapi ini adalah daemon sistem normal, dan berfungsi dengan baik. `Bagaimana menjalankan pemain di vnc framebuffer? Dalam Mint 17 ...
Anda akan menggunakan VNC untuk melihat desktop seperti yang dijelaskan dalam https://en.wikipedia.org/wiki/Xvfb
sumber
Usage scenarios
di tautan wiki, dan saya rasa tidak ada yang berlaku di sini. Prosesnya (amarok) hanya perlu beberapa izin, dan saya tidak tahu cara mengaturnya, jika itu mungkin.Pulseaudio dimulai melalui xdg autostart, yang dapat ditemukan di bawah
~/.config/autostart/
. Ada file bernamapulseaudio.desktop
, dan dalam file itu saya telah mengubahexec
baris default ke yang ini:Ketika saya masuk ke sistem, proses pulseaudio terlihat seperti ini:
Dan sekarang saya dapat mendengarkan musik setiap saat. Saya pikir ini adalah solusi yang saya cari.
sumber