it-swarm-id.com

Apakah ada perintah linux sederhana yang akan memberi tahu saya apa itu manajer tampilan saya?

Apakah ada perintah linux sederhana yang akan memberi tahu saya apa itu manajer tampilan saya?

Saya menggunakan Xfce. Apakah lingkungan desktop yang berbeda biasanya berafiliasi dengan manajer tampilan yang berbeda?

65
ptrcao

Sayangnya konfigurasi berbeda untuk setiap distribusi:

Debian/Ubuntu

/etc/X11/default-display-manager

RedHat (juga harus berlaku untuk Fedora)

/etc/sysconfig/desktop

OpenSuSe

/etc/sysconfig/displaymanager
52
Šimon Tóth

Jika Anda menggunakan systemd distribusi berbasis. Perintah ini akan memberikan nama palung tampilan yang saat ini dikonfigurasikan karena Anda mungkin memiliki lebih dari satu manajer tampilan yang terpasang.

grep '/usr/s\?bin' /etc/systemd/system/display-manager.service

OUTPUT akan menjadi sesuatu seperti

ExecStart=/usr/bin/mdm

Sepertinya saya menggunakan manajer tampilan mint.

27
allsyed

Tidak ada. Manajer tampilan tidak harus terkait dengan hal lain yang berjalan di server X yang sama. Manajer tampilan berjalan sebelum Anda masuk; itu dipilih oleh administrator sistem. Yang lainnya (manajer jendela, manajer sesi, lingkungan desktop, ...) dipilih oleh pengguna. Bahkan tidak perlu menjadi manajer tampilan: jika Anda masuk dalam mode teks dan memulai GUI dengan startx , tidak ada manajer tampilan yang terlibat.

Anda dapat memeriksa manajer tampilan mana yang merupakan default pada sistem Anda . Ini hanya akan memberikan jawaban yang benar berdasarkan beberapa asumsi umum tetapi tidak universal. Jika Anda menjalankan manajer yang berbeda secara manual untuk alasan apa pun, metode ini tidak akan memberi tahu Anda.

Taruhan yang bagus adalah untuk mengetahui ID proses dari X server: proses induknya mungkin adalah manajer tampilan, jika ada. Ini mengharuskan klien Anda berjalan pada mesin yang sama dengan server X. lsof /tmp/.X11-unix/X${DISPLAY#:} akan menunjukkan proses X server (dengan asumsi X X langsung hidup /tmp/.X11-unix).

x=$(lsof -F '' /tmp/.X11-unix/X0); x=${x#p}
ps -p $(ps -o ppid -p $x)

(Penjelasan: lsof -F '' mencetak output seperti p1234. -F opsi berarti format output yang dapat diuraikan-mesin, dan '' artinya hanya mencetak PID, dengan huruf p sebelumnya. x=${x#p} menghapus huruf awal p. Baris terakhir mendapatkan PID dari induk X server (ps -o ppid -p $x), dan memanggil ps untuk menampilkan informasi tentang proses induk itu.)

Beberapa distribusi memungkinkan memasang beberapa manajer tampilan. Hanya akan ada satu yang berjalan kecuali Anda memiliki sistem multiseat. Untuk mencantumkan semua paket manajer tampilan yang diinstal di bawah Debian dan turunannya:

aptitude -F %p search '~i ~P^x-display-manager$'

atau

</var/lib/dpkg/status awk '
    /^Package: / {package = $2}
    /^Provides: .*x-display-manager/ {print package}'

Jika Anda menggunakan systemd, maka

systemctl status display-manager

Akan menampilkan nama dan status layanan manajer tampilan aktif di mesin Anda.

23
Mio Rin

Nama pengelola tampilan harus dalam DESKTOP_SESSION

echo $DESKTOP_SESSION

mengembalikan "gnome" untuk saya.

[~ # ~] sunting [~ # ~]
Kamu benar. Mereka bolak-balik tentang itu di XFCEs bugzilla jadi mungkin itu tidak terlalu dapat diandalkan.

10
charlesbridge

Seperti yang dikatakan @Gilles, manajer tampilan akan memulai lingkungan desktop Anda.

Menurut Debian Wiki , sebagian besar diakhiri dengan dm, satu-satunya pengecualian adalah slim.

Jadi ini sudah cukup untuk sebagian besar kebutuhan orang:

ps auxf | awk '{print $11}' | \grep --color -e dm$ -e slim$

Atau yang pasti, itu ada sebagai proses induk, dan tidak bercabang (kecuali dari sistem init):

ps auxf | awk '{print $11}' | \grep -e "^/.*dm$" -e "/.*slim$" 
3
sjas

Anda dapat melakukan ini melalui skrip pihak ketiga yang disebut screenfetch

Screenfetch adalah skrip bash yang tersedia untuk Linux yang menampilkan informasi sistem bersama versi ASCII dari Logo distribusi Linux dari sistem

Instal melalui manajer paket Sudo apt-get install screenfetch (dengan asumsi Anda menggunakan varian Debian)

dan jalankan screenfetch di terminal Anda

Tautan proyek https://github.com/KittyKatt/screenFetch

0

Dalam beberapa kasus, wmctrl dapat membantu. Utilitas ini kompatibel dengan banyak manajer windows.

wmcrt -m 

harus menampilkan nama window manager yang saat ini digunakan.

0
Francis Gernet

Seperti yang telah disebutkan, ada banyak kebingungan di utas ini. Pertanyaan aslinya adalah manajer tampilan, bukan manajer desktop atau manajer jendela. Saya sedang menjalankan Xfwm4 yang merupakan window manager Xfce, dan lxdm yang merupakan display manager X11 yang ringan (dari LXDE, bukan Xfce). Anda harus dapat melihat pengelola tampilan apa yang Anda gunakan via htop. Anda mungkin sudah lama menemukan jawaban selama 4 tahun terakhir :)

0
billV