Ketika saya sedang mendengarkan musik, saya mengubah konsol virtual menggunakan Ctrl+ Alt+ F2, dan tiba-tiba musik itu dijeda. Kembali ke konsol yang menjalankan X server Ctrl+ Alt+ F7atau masuk ke pengguna di konsol yang saat ini saya gunakan ( Ctrl+ Alt+ F2), mulai memutar musik lagi.
Linux (saya menggunakan Ubuntu) adalah sistem operasi multi-pengguna. Sejauh yang saya tahu, ia memiliki 7 konsol virtual yang dapat diakses pengguna dan bekerja secara bersamaan. Jadi mengapa hal ini terjadi? Apa yang akan terjadi jika sistem saya memperbarui saat mengganti konsol?
Jawaban:
Linux memiliki banyak konsol virtual. Ctrl+ Alt+ beralih di antara konsol ini. Ketika Anda beralih dari konsol 7 ke konsol 2, periferal input dan output dialihkan dari konsol 7 ke konsol 2. Ketika konsol 7 tidak aktif, ia tidak memiliki akses ke periferal input / output: tampilan tidak ditampilkan pada layar, aplikasi tidak menerima input keyboard, dll.Fn
Untuk alasan historis, input dan output suara menggunakan saluran yang sama sekali berbeda dari perangkat input seperti keyboard dan mouse dan dari tampilan video. Perangkat konsol (abstraksi dalam sistem operasi) menutupi keyboard dan video tetapi tidak bersuara. Implementasi dasar suara yang paling umum pada sistem Unix adalah independen dari sistem itu, dan izin untuk menggunakan periferal suara diberikan berdasarkan keanggotaan grup daripada kepemilikan konsol. Ini sebenarnya kekurangan desain.
Ubuntu telah mengatur segalanya sehingga sesi masuk ke konsol, dan hanya mereka, yang memiliki akses ke perangkat audio. Jika Anda berpindah konsol, Anda kehilangan akses ke perangkat audio, kecuali jika Anda juga masuk ke konsol lain itu. Inilah yang seharusnya dilakukan sejak awal, tetapi bukan karena perancang antarmuka konsol tidak memikirkan suara.
Ketika Anda beralih ke konsol lain, program Anda tetap berjalan, karena CPU tidak terkait dengan konsol tetapi dengan mesin: siapa pun dengan akun di mesin diizinkan untuk menggunakan waktu CPU. Hal yang sama berlaku untuk sumber daya lain seperti memori dan file (tunduk pada izin). Hanya interaksi dengan pengguna yang diatur oleh kepemilikan konsol. Suara Anda berhenti diputar ketika Anda beralih ke konsol tempat Anda tidak masuk karena program Anda kehilangan hak istimewa untuk mengakses perangkat output suara.
Saya percaya bahwa Ubuntu mengimplementasikan kontrol akses melalui Polkit , tetapi saya tidak tahu persis bagaimana cara kerjanya.
sumber
Beberapa waktu yang lalu, orang menggunakan terminal komputer untuk memasukkan data ke, atau menampilkan data dari, mainframe Unix. Jika ada pengguna terminal ini yang ingin, katakanlah,,
cat /dev/zero
output tidak disiarkan ke semua terminal / pengguna yang terhubung ke mainframe yang sama (itu karena itu adalah sistem multi-pengguna, dan setiap pengguna dapat menjalankan tugasnya tanpa mempengaruhi pengguna lain) .Di zaman kita, kita menggunakan terminal virtual (atau konsol virtual - VC) yang merupakan emulasi perangkat lunak dari terminal komputer fisik , dan bekerja dengan cara yang sama. Jika Anda masuk di VC1 dan berjalan
ls -alR /
, output tidak akan disiarkan ke semua VC, dan, bahkan jika Anda beralih kels
VC1 lain, Anda akan tetap berjalan di VC1 dan mengirimkan outputnya ke VC1 (dengan cara yang sama, pembaruan Anda perintah akan terus berjalan di VC Anda memulainya bahkan jika Anda beralih ke VC lain).Sekarang, suara itu sedikit berbeda dari output standar, karena (secara default) menggunakan perangkat yang sama untuk output tidak peduli VC pengguna Anda masuk, tetapi pengguna Anda harus login untuk memiliki akses ke output dari perangkat suara.
Anda juga dapat melihat di sini untuk detail lebih lanjut tentang VC.
sumber
Mencoba
Dari: https://www.reddit.com/r/linux/comments/1ckvhd/keeping_music_playing_across_multiple_terminal/
sumber