Dari X (7) halaman manual
DISPLAY NAMES
From the user's perspective, every X server has a display name of the form:
hostname:displaynumber.screennumber
[...]
displaynumber
[...]
To avoid confusion, each display on a machine is assigned a display
number (beginning at 0) when the X server for that display is started.
Bagaimana saya dapat menemukan nomor tampilan yang telah saya tetapkan?
Atau daftar saat ini menampilkan terbuka dan penggunanya?
;
sebelumdone
.Dalam sesi X, Anda selalu dapat berkonsultasi dengan
DISPLAY
variabel lingkungan untuk membuat Anda mendapatkan nomor tampilan saat ini (echo $DISPLAY
).Mengetahui nomor layar orang lain lebih sulit. Saya tidak berpikir ada cara standar untuk mendapatkan informasi selain meminta semua pengguna yang terhubung dengan display mereka, jadi setiap upaya untuk mendapatkan informasi ini memerlukan semacam peretasan dan tidak akan berfungsi untuk semua kasus.
Ada beberapa opsi yang diberikan di tempat lain di SE tetapi mereka tidak akan berfungsi pada Debian Wheezy, misalnya. Namun, daftar tampilan saat ini aktif mudah, seperti yang ditunjukkan pada pos yang saya tautkan di atas:
ps axu | grep "X "
akan menunjukkan kepada Anda proses X yang sedang berjalan, sesuatu seperti berikut ini:Parameter pertama setelahnya
/usr/bin/X
adalah nomor tampilan yang diawali dengan titik dua, dan yang berikutnya menunjukkan Anda terminal virtual yang ditugaskan untuk sesi.Anda mungkin mendapatkan jawaban dari melihat daftar proses, meskipun:
ps axu |grep -3 "X "
Lihatlah baris setelah
/usr/bin/X
- saat sesi X dimulai, manajer jendela biasanya dimulai sebagai pengguna milik sesi, dan di sana Anda mendapatkan nama pengguna. Dalam kasus saya, user_1 menggunakan KDE dan user_2 menggunakan LXDE. Namun, solusi ini sepenuhnya bergantung pada kenyataan bahwa kernel sedang menugaskan ID proses baru dalam urutan menaik, yang mungkin tidak selalu demikian.sumber
/proc/$pid/environ
, seperti padacat /proc/$$/environ | tr '\0' '\n' | grep '^DISPLAY='
. Lihat jawaban saya untuk contoh penggunaan lain.Jawaban ini memiliki satu baris, berdasarkan
who
& grep/ubuntu//a/230838/152287
who
dapat disingkatw
Anda dapat membaca lebih lanjut di tautan termasuk garis satu untuk mendapatkan nilai.
Berhasil. Berikut ini adalah raspberrypi (rasbian) output, di mana nilai tampilan di kolom FROM
sumber
https://gitorious.org/termsql/pages/Home
termsql
adalah alat yang baik untuk mengekstraksi informasi seperti itu.Menemukan nomor DISPLAY adalah salah satu contohnya:
(setel variabel lingkungan DISPLAY ke tampilan X yang sedang berjalan saat ini, dengan asumsi bahwa biner X dipanggil
Xorg.bin
)sumber
Variasi kecil pada jawaban Amir.
ps e
akan menampilkan lingkungan masing-masing perintah, ruang yang dipisahkan sehingga dapat diteruskan langsung kesed
untuk menyaring DISPLAY, memberikan perintah yang lebih sederhana daripada membaca / proc / PID / environment secara langsung. (Namun, untuk membaca lingkungan pengguna lain, Anda masih memerlukan izin root.)Kode ini akan menampilkan nama semua pengguna yang masuk dengan sesi X, dan nomor TAMPILAN mereka:
sumber