Jika Anda tidak benar-benar membedakan antara KDE dan GNOME, atau melakukannya, tetapi ingin tahu alternatif lain apa yang tersedia, maka artikel ini tepat untuk Anda. Ini adalah gambaran umum, dan meskipun ada banyak nama dan sedikit istilah di dalamnya, materi ini juga akan berguna untuk pemula dan hanya mencari Linux.
Topik ini mungkin juga menarik bagi pengguna tingkat lanjut saat menyiapkan akses jarak jauh dan saat menerapkan klien tipis. Saya sering bertemu dengan pengguna Linux yang cukup berpengalaman dengan pernyataan "hanya ada baris perintah di server, dan saya tidak berencana untuk mempelajari grafik lebih detail, karena ini semua diperlukan untuk pengguna biasa." Tetapi bahkan para ahli Linux pun terkejut dan senang menemukan opsi "-X" dari perintah ssh (yang berguna untuk memahami cara kerja dan fungsi server X).

Saya telah mengajar kursus Linux di LANIT Networking Academy selama hampir 15 tahunβDan saya yakin lebih dari lima ribu orang yang saya latih membaca dan mungkin menulis artikel tentang Habr. Kursus selalu sangat kaya (durasi rata-rata kursus adalah lima hari), Anda perlu membicarakan topik yang membutuhkan setidaknya sepuluh hari untuk membiasakan diri sepenuhnya. Dan selalu selama kursus, tergantung pada audiens (pendatang baru yang berkumpul atau administrator berpengalaman), serta pada "pertanyaan dari audiens", saya membuat pilihan tentang apa yang akan disampaikan secara lebih rinci, dan apa - lebih dangkal, untuk mencurahkan lebih banyak waktu untuk utilitas baris perintah dan aplikasi praktisnya ... Ada cukup banyak yang harus berkorban sedikit. Ini adalah "Sejarah Linux", "Perbedaan dalam distribusi Linux", "Tentang lisensi: GPL, BSD, ...", "Tentang grafis dan lingkungan desktop" (topik artikel ini), dll. Bukan karena itu tidak penting,tetapi biasanya ada banyak pertanyaan "di sini dan sekarang" yang lebih relevan dan hanya sekitar lima hari ... Namun, untuk pemahaman umum tentang dasar-dasar sistem operasi Linux, memahami variasi yang tersedia (bahkan dengan menggunakan satu distribusi Linux tertentu, Anda masih memiliki pandangan yang lebih luas tentang semua ini dunia besar dan luas yang disebut "Linux") berguna dan perlu untuk mempelajari topik-topik ini.
Di sepanjang artikel, untuk setiap komponen, saya menyediakan tautan bagi mereka yang ingin mendalami topik tersebut, misalnya ke artikel di Wikipedia (sambil menunjuk ke versi yang lebih lengkap / berguna jika ada artikel berbahasa Inggris dan Rusia).
Untuk contoh dasar dan tangkapan layar, saya menggunakan distribusi openSUSE. Distribusi yang dikembangkan komunitas lainnya dapat digunakan dengan sejumlah besar paket di repositori. Sulit, tetapi mungkin, untuk mendemonstrasikan keragaman desain desktop pada distribusi komersial, karena mereka seringkali hanya menggunakan satu atau dua lingkungan desktop yang lebih terkenal. Jadi pengembang mempersempit tugas merilis OS yang stabil dan di-debug. Pada sistem yang sama, saya menginstal semua DM / DE / WM (penjelasan istilah-istilah ini di bawah) yang saya temukan di repositori.
Tangkapan layar dengan "bingkai biru" diambil di openSUSE.
Tangkapan layar dengan "bingkai putih" dibuat di distribusi lain, seperti yang ditunjukkan di tangkapan layar.
Tangkapan layar dengan "bingkai abu-abu" diambil dari Internet, sebagai contoh desain desktop dari masa lampau.
Jadi, mari kita mulai.
Komponen utama yang menyusun grafik
Saya akan menyoroti tiga komponen utama dan mencantumkannya dalam urutan yang mereka mulai saat startup sistem:
- DM (Manajer Tampilan);
- Server Tampilan;
- DE (Lingkungan Desktop).
Selain itu, sebagai sub-item penting di Lingkungan Desktop:
- Manajer Aplikasi / Peluncur / Pengalih (tombol Mulai);
- WM (Manajer Jendela);
- berbagai perangkat lunak yang disertakan dengan lingkungan desktop.
Detail lebih lanjut tentang setiap item.
DM (Manajer Tampilan)
Aplikasi pertama yang dimulai saat "grafik" dimulai adalah DM (Display Manager), manajer tampilan. Tugas utamanya:
- tanyakan pengguna mana yang diizinkan masuk ke sistem, minta data otentikasi (kata sandi, sidik jari);
- pilih lingkungan desktop mana yang akan diluncurkan.
Saat ini, berbagai distribusi digunakan secara luas:
- SDDM (menggantikan KDM ),
- GDM ,
- LightDM ,
- XDM .
- Fly-DM (digunakan di AstraLinux) juga dapat disebutkan.
Daftar DM yang ada selalu diperbarui di artikel Wiki.




Perlu dicatat bahwa tangkapan layar berikut menggunakan pengelola tampilan LightDM yang sama, tetapi dalam distribusi yang berbeda (distribusi diberi nama dalam tanda kurung). Lihat betapa berbedanya DM ini berkat karya desainer dari berbagai distribusi.





Hal utama dalam variasi ini adalah untuk memperjelas bahwa ada aplikasi semacam itu yang bertanggung jawab untuk meluncurkan grafik dan memungkinkan pengguna untuk mengakses grafik ini, dan ada implementasi berbeda dari aplikasi ini yang berbeda dalam penampilan dan sedikit fungsionalitas (pilihan lingkungan desain, pilihan pengguna, versi untuk yang buruk. melihat pengguna, ketersediaan akses jarak jauh melalui protokol XDMCP ).
Tampilan Server
Display Server adalah sejenis fondasi grafik, tugas utamanya adalah bekerja dengan kartu video, monitor, dan berbagai perangkat input (keyboard, mouse, touchpads). Artinya, aplikasi (misalnya, browser atau editor teks) yang dirender dalam "grafik" tidak perlu mengetahui cara bekerja secara langsung dengan perangkat, tidak perlu mengetahui tentang driver. X Window menangani semua ini.
Ketika kita berbicara tentang Display Server, selama bertahun-tahun di Linux, dan di Unix, aplikasi Sistem X Window atau, pada orang umum, X (X) dimaksudkan .
Banyak distribusi sekarang menggantikan X dengan Wayland . Anda juga bisa membaca:
- gambaran umum tentang arsitektur X ,
- meluncurkan X di X ,
- X di bawah OS Windows (diperlukan untuk meluncurkan aplikasi grafis dari jarak jauh, misalnya menggunakan PuTTY).
Untuk memulainya, mari luncurkan X dan beberapa aplikasi grafik di dalamnya.
Workshop "jalankan X dan aplikasi di dalamnya"
Saya akan melakukan semuanya dari pengguna webinaruser yang baru dibuat (akan lebih mudah, tetapi tidak lebih aman untuk melakukan semuanya sebagai root).
- Karena X'am membutuhkan akses ke perangkat, saya memberikan akses: Daftar perangkat ditentukan dengan melihat kesalahan saat memulai X'ov di log (/home/webinaruser/.local/share/xorg/Xorg.77.log)
% sudo setfacl -m u:webinaruser:rw /dev/tty8 /dev/dri/card0 /dev/fb0 /dev/input/*
- Setelah itu, saya meluncurkan X:
% X -retro :77 vt8 &
Opsi: * -retro - jalankan dengan latar belakang klasik "abu-abu", bukan hitam sebagai default; *: 77 - Saya mengatur (apapun dalam kisaran yang masuk akal dimungkinkan, hanya: 0 kemungkinan besar sudah ditempati oleh grafik yang sudah berjalan) nomor layar, sebuah pengenal unik aktual yang memungkinkan untuk membedakan antara beberapa X yang sedang berjalan; * vt8 - menunjukkan terminal, di sini / dev / tty8, di mana X akan ditampilkan).
- Kami meluncurkan aplikasi grafis:
Untuk melakukan ini, pertama-tama kita menetapkan variabel yang akan digunakan aplikasi untuk memahami X mana yang berjalan pada saya untuk mengirim apa yang perlu digambar:
% export DISPLAY=":77"
Anda dapat melihat daftar menjalankan X seperti ini:
ps -fwwC X
Setelah mengatur variabel, Anda dapat meluncurkan aplikasi di X kami s - misalnya, saya memulai jam:
% xclock -update 1 &
% xcalc &
% xeyes -g 200x150-300+50 &

Gagasan dan kesimpulan utama dari cuplikan ini:
- X' : , , ,
- X' β ( Β«--retroΒ») (, 1920x1080 1024x768), .
- «» , X' .
- X' .
- DISPLAY , ( X' ), , X'. ( X', .) X' -auth, XAUTHORITY xhost.
- ( X-) X' β // Β«-g ()x()+()+()Β». «» .
- Dua istilah yang perlu disuarakan: X-server (sebutan X) dan X-client (sebutan untuk aplikasi grafis apa pun yang berjalan di X disebut). Ada sedikit kebingungan dalam memahami terminologi ini, banyak yang memahaminya justru sebaliknya. Dalam kasus ketika saya menghubungkan dari "mesin klien" (dalam terminologi akses jarak jauh) ke "server" (dalam terminologi akses jarak jauh) untuk menampilkan aplikasi grafis dari server di monitor saya, maka X-server diluncurkan pada mesin tempat monitor ( yaitu, di "mesin klien", bukan di "server"), dan klien X mulai dan berjalan di "server", meskipun mereka ditampilkan di monitor "mesin klien".

Komponen DE
Selanjutnya, mari kita lihat komponen yang biasanya membentuk desktop.
Komponen DE: Tombol Mulai dan Bilah Tugas
Mari kita mulai dengan apa yang disebut tombol "Start". Ini sering kali merupakan applet terpisah yang digunakan di bilah tugas. Biasanya juga memiliki applet untuk beralih di antara aplikasi yang sedang berjalan.

Melihat lingkungan desktop yang berbeda, saya akan meringkas aplikasi semacam itu dengan nama umum "Apps Manager (Launcher / Switcher)", yaitu, alat untuk mengelola aplikasi (meluncurkan dan beralih di antara yang diluncurkan), dan juga menunjukkan utilitas yang merupakan contoh aplikasi jenis ini ...
- Itu terjadi dalam bentuk tombol "Mulai" pada klasik (panjang penuh dari salah satu tepi layar) "Bilah tugas":
β xfce4-panel,
β mate-panel / gnome-panel,
β vala-panel,
β tint2. - Β«MacOS- Β» ( ), . β Β« Β».
β docky,
β latte-dock,
β cairo-dock,
β plank. - / , Β« Β» ( ):
β sxhkd. - - «» ( . Launch ()):
β dmenu-run,
β rofi -show drun,
β albert,
β grun.

DE: WM (Window Manager)
Selengkapnya dalam Bahasa Rusia
Lebih banyak dalam Bahasa Inggris
WM (Window Manager) - sejenis aplikasi yang bertanggung jawab untuk mengatur windows, menambahkan kemampuan untuk:
- memindahkan jendela melintasi desktop (termasuk yang standar dengan menahan tombol Alt untuk setiap bagian jendela, bukan hanya judulnya);
- mengubah ukuran jendela, misalnya, dengan menarik keluar "bingkai jendela";
- menambahkan "judul" dan tombol untuk meminimalkan / memaksimalkan / menutup aplikasi ke antarmuka jendela;
- konsep aplikasi mana yang menjadi fokus.

Saya akan mencantumkan yang paling terkenal (dalam tanda kurung saya menunjukkan di mana DE digunakan secara default):
- bergumam (GNOME3),
- marco (Mate),
- metacity (GNOME2),
- muffin (Kayu manis),
- kwin (KDE),
- xfwm (XFCE),
- twm .

Saya juga akan mencantumkan "WM lama dengan elemen DE". Itu. selain manajer jendela, mereka memiliki elemen seperti tombol Start dan Taskbar, yang lebih melekat pada DE lengkap. Berapa umur mereka, jika IceWM dan WindowMaker telah merilis versi terbaru mereka pada tahun 2020. Ternyata itu lebih tepat bukan "tua", tapi "kuno":





Selain "klasik" ("pengelola jendela tumpukan"), ada baiknya menyebutkan WM berubin, yang memungkinkan Anda memasang jendela di seluruh layar, serta untuk beberapa aplikasi, desktop terpisah untuk setiap aplikasi yang diluncurkan pada layar penuh. Ini agak tidak biasa untuk orang yang belum pernah menggunakannya sebelumnya, tetapi karena saya sendiri telah menggunakan antarmuka seperti itu untuk waktu yang lama, saya dapat mengatakan bahwa ini cukup nyaman dan Anda dengan cepat terbiasa dengan antarmuka ini, setelah itu pengelola jendela "klasik" tampaknya tidak nyaman.

Perlu juga disebutkan secara terpisah proyek Compiz dan konsep seperti "Manajer Jendela Komposit", yang menggunakan akselerasi perangkat keras untuk menampilkan transparansi, bayangan, dan berbagai efek tiga dimensi. Sekitar 10 tahun yang lalu, ada ledakan efek 3D di desktop Linux. Banyak pengelola jendela built-in DE sekarang memanfaatkan sebagian kapabilitas komposit. Wayfire baru-baru ini muncul - produk dengan fungsi Compiz serupa untuk Wayland.

Daftar terperinci dari berbagai pengelola jendela juga dapat ditemukan di artikel perbandingan .
Komponen DE: istirahat
Perlu juga diperhatikan komponen desktop berikut (di sini saya menggunakan istilah bahasa Inggris yang sudah mapan untuk menjelaskan jenis aplikasi - ini bukan nama aplikasi itu sendiri):
- Applet:
- Software (Widget toolkit) - sering kali "sekumpulan minimal" software disertakan dengan lingkungan:
DE (Lingkungan Desktop)
Selengkapnya dalam Bahasa Inggris
Dari komponen yang tercantum di atas, yang disebut "Lingkungan desain desktop" diperoleh. Seringkali semua komponennya dikembangkan menggunakan pustaka grafik yang sama dan menggunakan prinsip desain yang sama. Ini, setidaknya, mempertahankan gaya umum untuk tampilan aplikasi.
Di sini kita dapat membedakan lingkungan desktop yang ada saat ini:
GNOME dan KDE dianggap yang paling umum, dan XFCE mengikuti mereka.

Perbandingan dengan berbagai parameter dalam bentuk tabel dapat ditemukan di artikel Wikipedia yang sesuai .
Varietas DE

Project_Looking_Glass
Bahkan ada contoh menarik dari sejarah: pada 2003-2007 sebuah "desain desktop 3D" dibuat untuk Linux yang disebut "Project Looking Glass" dari Sun. Saya sendiri menggunakan desktop ini, atau lebih tepatnya "dimainkan", karena sulit digunakan. "Desain 3D" ini ditulis di Java pada saat tidak ada kartu grafis 3D. Oleh karena itu, semua efek dihitung oleh prosesor, dan komputer harus sangat kuat, jika tidak semuanya bekerja dengan lambat. Tapi ternyata indah. Mati aplikasi tiga dimensi dapat diputar / diperluas. Dimungkinkan untuk memutar silinder desktop dengan wallpaper dari panorama 360 derajat. Ada beberapa aplikasi indah mereka sendiri: misalnya, mendengarkan musik dalam bentuk "mengganti CD", dll. Anda dapat menonton di youtubevideo tentang proyek ini, hanya kualitas video ini yang kemungkinan besar akan buruk, karena pada tahun-tahun itu tidak mungkin untuk mengupload video berkualitas tinggi.

Desktop Xfce Ringan. Proyek tersebut sudah ada sejak lama, sejak tahun 1996. Dalam beberapa tahun terakhir, ini telah cukup populer, berbeda dengan KDE dan GNOME yang lebih berat, yang pada banyak distribusi membutuhkan antarmuka desktop yang ringan dan "klasik". Ini memiliki banyak pengaturan dan sejumlah besar programnya: terminal (xfce4-terminal), pengelola file (thunar), penampil gambar (ristretto), editor teks (mousepad).

Pantheon
Digunakan dalam distribusi "Elementary OS". Di sini kita dapat mengatakan bahwa ada "desktop" yang dikembangkan dan digunakan dalam satu distribusi terpisah dan tidak banyak digunakan (jika tidak "tidak digunakan sama sekali") di distribusi lain. Setidaknya mereka belum mendapatkan popularitas dan meyakinkan sebagian besar penonton tentang manfaat pendekatan mereka. Pantheon bertujuan untuk membangun antarmuka seperti macOS.

Opsi dok:

Enlightenment
Penekanan yang kuat pada efek grafik dan widget (sejak hari-hari ketika lingkungan desktop lain tidak memiliki widget di desktop, seperti kalender / jam). Menggunakan perpustakaannya sendiri. Ada satu set besar aplikasi "cantik": terminal (Terminologi), pemutar video (Rage), melihat gambar (Ephoto).

Moksha
Ini adalah percabangan dari Enlightenment17 dan digunakan oleh distribusi BodhiLinux.

GNOME
Awalnya adalah antarmuka desktop "klasik", dibuat berbeda dengan KDE, yang ditulis di pustaka Qt, pada saat itu didistribusikan di bawah lisensi yang sangat tidak nyaman untuk distribusi komersial.

GNOME_Shell
Sejak versi ketiga, GNOME mulai dikirimkan dengan GNOME Shell, yang memiliki "tampilan non-klasik", yang tidak disukai semua pengguna (perubahan drastis pada antarmuka sulit diterima oleh pengguna). Akibatnya - munculnya proyek garpu yang melanjutkan pengembangan desktop ini dalam gaya "klasik": MATE dan Cinnamon. Digunakan secara default di banyak distribusi komersial. Memiliki banyak pengaturan dan aplikasi.

MATE
didasarkan pada GNOME2 dan terus mengembangkan lingkungan desain ini. Memiliki sejumlah besar pengaturan dan garpu aplikasi yang digunakan di GNOME2 (nama baru digunakan) agar tidak membingungkan garpu dengan versi baru mereka untuk GNOME3).

Cinnamon Sebuah
garpu dari GNOME Shell yang menyediakan pengguna dengan gaya antarmuka "klasik" (seperti yang terjadi pada GNOME2).
Memiliki banyak pengaturan dan aplikasi yang sama seperti untuk GNOME Shell.

Budgie Sebuah garpu
gaya "klasik" dari GNOME yang berevolusi sebagai bagian dari distribusi Solus, tetapi sekarang juga dikirimkan sebagai desktop mandiri di berbagai distribusi lainnya.

KDE_Plasma (atau, seperti yang sering disebut, KDE)
Sebuah lingkungan desktop yang dikembangkan oleh proyek KDE.
Ini memiliki sejumlah besar pengaturan yang tersedia untuk pengguna umum dari antarmuka grafis dan banyak aplikasi grafis yang dikembangkan dalam desktop ini.

Trinity
Pada tahun 2008, KDE merilis implementasi baru KDE Plasma (mesin desktop telah banyak ditulis ulang). Juga, seperti GNOME / MATE, tidak semua penggemar KDE menyukainya. Hasilnya, sebuah proyek bercabang muncul, melanjutkan pengembangan versi sebelumnya, yang disebut TDE (Trinity Desktop Environment).

Deepin_DE
Salah satu lingkungan desktop baru yang ditulis menggunakan Qt (di mana KDE ditulis). Ini memiliki banyak pengaturan dan cukup indah (meskipun ini adalah konsep subjektif) dan antarmuka yang dikembangkan dengan baik. Dikembangkan sebagai bagian dari distribusi Linux Deepin. Ada juga paket untuk distribusi lain

Terbang
Contoh lingkungan desktop yang ditulis menggunakan Qt. Dikembangkan sebagai bagian dari distribusi Astra Linux.

LXQt
Lingkungan desktop yang ringan. Seperti beberapa contoh sebelumnya, ditulis menggunakan Qt. Faktanya, ini merupakan kelanjutan dari proyek LXDE dan hasil merger dengan proyek Razor-qt.
Seperti yang Anda lihat, desktop di Linux dapat terlihat sangat berbeda dan terdapat antarmuka yang sesuai untuk selera semua orang: dari yang sangat indah dan dengan efek 3D hingga minimalis, dari "klasik" hingga tidak biasa, dari aktif menggunakan sumber daya sistem hingga ringan, dari yang besar layar ke tablet / smartphone.
Nah, saya berharap bisa memberikan gambaran tentang apa saja komponen utama dari grafik dan desktop di Linux.
Materi untuk artikel ini diluncurkan pada Juli 2020 di webinar. Anda bisa menontonnya di sini .
Itu saja. Semoga bermanfaat. Jika Anda memiliki pertanyaan atau komentar, silakan tulis. Saya akan dengan senang hati menjawabnya. Nah, datang dan belajarlah di LANIT Networking Academy !