ProHoster > Блог > Administrasi > Cara kerja grafis ing Linux: ringkesan macem-macem lingkungan desktop
Cara kerja grafis ing Linux: ringkesan macem-macem lingkungan desktop
Artikel iki babagan cara kerja grafis ing Linux lan komponen apa wae. Isine akeh gambar saka macem-macem implementasi lingkungan desktop.
Yen sampeyan ora bener mbedakake antarane KDE lan GNOME, utawa sampeyan pengin ngerti apa alternatif liyane ana, banjur artikel iki kanggo sampeyan. Iki minangka ringkesan, lan sanajan ngemot akeh jeneng lan sawetara istilah, materi kasebut uga bakal migunani kanggo pamula lan sing mung nggoleki Linux.
Topik kasebut bisa uga dadi kapentingan kanggo pangguna sing luwih maju nalika nyetel akses remot lan ngetrapake klien tipis. Aku kerep ketemu pangguna Linux sing berpengalaman kanthi pratelan "mung ana baris perintah ing server, lan aku ora rencana sinau grafis kanthi luwih rinci, amarga iki kabeh dibutuhake kanggo pangguna biasa." Nanging malah para ahli Linux kaget banget lan seneng nemokake opsi "-X" kanggo perintah ssh (lan iki migunani kanggo ngerti operasi lan fungsi server X).
Sumber
Aku wis mulang kursus Linux meh 15 taun ing "Network Academy LANIT"Lan aku yakin manawa akeh luwih saka limang ewu wong sing daklatih maca lan bisa uga nulis artikel babagan Habr. Kursus kasebut mesthi banget (rata-rata durasi kursus limang dina); sampeyan kudu nutupi topik sing mbutuhake paling ora sepuluh dina kanggo ngerti. Lan mesthi sajrone kursus, gumantung saka pamirsa (wong anyar sing diklumpukake utawa administrator berpengalaman), uga ing "pitakonan saka pamirsa," aku nggawe pilihan apa sing bakal dikirim kanthi luwih rinci lan apa sing luwih entheng, supaya bisa luwih akeh. wektu kanggo utilitas baris printah lan aplikasi praktis. Ana cukup topik kaya iki sing mbutuhake pengorbanan sethithik. Iki minangka "Sejarah Linux", "Perbedaan ing distribusi Linux", "Babagan lisensi: GPL, BSD, ...", "Babagan grafis lan lingkungan desktop" (topik artikel iki), lan liya-liyane. penting, nanging biasane ana akeh liyane mencet "kene lan saiki" pitakonan lan mung bab limang dina ... Nanging, kanggo pangerten umum dhasar saka OS Linux, pangerten saka bhinéka kasedhiya (supaya malah nggunakake siji tartamtu. Distribusi Linux, sampeyan isih duwe tampilan sing luwih jembar babagan jagad gedhe lan jembar iki sing diarani "Linux"), sinau topik kasebut migunani lan perlu.
Nalika artikel kasebut maju, aku nyedhiyakake pranala kanggo saben komponen kanggo wong-wong sing pengin nyilem luwih jero babagan topik kasebut, contone, menyang artikel Wikipedia (nalika nuduhake versi sing luwih lengkap / migunani yen ana artikel Inggris lan Rusia).
Kanggo conto dhasar lan gambar, aku nggunakake distribusi openSUSE. Sembarang distribusi sing dikembangake komunitas liyane bisa digunakake, anggere ana akeh paket ing repositori. Pancen angel, nanging ora mokal, kanggo nduduhake macem-macem desain desktop ing distribusi komersial, amarga asring mung nggunakake siji utawa loro lingkungan desktop sing paling kondhang. Kanthi cara iki, pangembang mbatesi tugas ngeculake OS sing stabil lan debugged. Ing sistem sing padha aku nginstal kabeh DM / DE / WM (panjelasan istilah kasebut ing ngisor iki) sing ditemokake ing gudang.
Potret layar nganggo "bingkai biru" dijupuk ing openSUSE.
Aku njupuk gambar nganggo "bingkai putih" ing distribusi liyane, dituduhake ing gambar kasebut.
Gambar kanthi "bingkai abu-abu" dijupuk saka Internet, minangka conto desain desktop saka taun kepungkur.
Dadi, ayo miwiti.
Komponen utama sing nggawe grafis
Aku bakal nyorot telung komponen utama lan dhaptar ing urutan sing diluncurake nalika wiwitan sistem:
DM (Manajer Tampilan);
Tampilan Server;
DE (Lingkungan Desktop).
Kajaba iku, minangka sub-klausa penting saka Lingkungan Desktop:
Sampeyan uga bisa nyebutake Fly-DM (digunakake ing AstraLinux).
Dhaptar DM sing wis ana tetep dianyari Artikel Wiki.
Wigati dicathet yen gambar ing ngisor iki nggunakake manajer tampilan LightDM sing padha, nanging ing distribusi sing beda (jeneng distribusi dituduhake ing kurung). Waca carane beda DM iki bisa katon thanks kanggo karya desainer saka distribusi beda.
Wangsulan utama ing macem-macem iki yaiku kanggo nerangake manawa ana aplikasi sing tanggung jawab kanggo ngluncurake grafis lan ngidini pangguna ngakses grafis kasebut, lan ana macem-macem implementasine aplikasi iki sing beda-beda ing tampilan lan rada fungsional (pilihan lingkungan desain, pilihan saka kedhaftar, versi kanggo pangguna ala ndeleng, kasedhiyan akses remot liwat protokol XDMCP).
Tampilan Server
Tampilan Server minangka jinis dhasar grafis, tugas utama yaiku nggarap kertu video, monitor lan macem-macem piranti input (keyboard, mouse, touchpad). Tegese, aplikasi (contone, browser utawa editor teks) sing digawe ing "grafis" ora perlu ngerti carane langsung bisa karo piranti, utawa ora perlu ngerti bab driver. X Window ngurus kabeh iki.
Nalika ngomong babagan Tampilan Server, nganti pirang-pirang taun ing Linux, lan malah ing Unix, aplikasi kasebut dimaksudake Sistem Jendela X utawa ing basa umum X (X).
X ing OS Windows (perlu kanggo miwiti aplikasi grafis saka mbatalake, contone nggunakake PuTTY).
Pisanan, ayo miwiti X lan sawetara aplikasi grafis ing kana.
Workshop "mlaku X lan aplikasi ing"
Aku bakal nindakake kabeh saka pangguna webinaruser sing mentas digawe (bakal luwih gampang, nanging ora luwih aman, kanggo nindakake kabeh minangka ROOT).
Amarga X butuh akses menyang piranti, aku menehi akses: Dhaptar piranti ditemtokake kanthi ndeleng kesalahan nalika miwiti X ing log (/home/webinaruser/.local/share/xorg/Xorg.77.log)
Pilihan: * -retro - Bukak karo latar mburi klasik "abu-abu", lan ora ireng minangka standar; *: 77 - Aku nyetel (apa wae ing sawetara cukup bisa, mung: 0 paling kamungkinan wis dikuwasani dening grafis wis mlaku) nomer layar, bener sawetara jenis pengenal unik kang bakal bisa kanggo mbedakake sawetara mlaku Xs; * vt8 - nuduhake terminal, kene / dev / tty8, kang X bakal ditampilake).
Bukak aplikasi grafis:
Kanggo nindakake iki, pisanan kita nyetel variabel sing aplikasi bakal ngerti endi Xs sing wis daklakoni kanggo ngirim apa sing kudu digambar:
% export DISPLAY=":77"
Sampeyan bisa ndeleng dhaptar Xs sing mlaku kaya iki:
ps -fwwC X
Sawise nyetel variabel, kita bisa mbukak aplikasi ing Xs - contone, aku miwiti jam:
% xclock -update 1 &
% xcalc &
% xeyes -g 200x150-300+50 &
Gagasan utama lan kesimpulan saka fragmen iki:
X mbutuhake akses menyang piranti: terminal, kertu video, piranti input,
Xs dhewe ora nampilake unsur antarmuka - iku werna abu-abu (yen nganggo opsi "--retro") utawa kanvas ireng ukuran tartamtu (contone, 1920x1080 utawa 1024x768) supaya bisa mbukak aplikasi grafis.
Gerakan "salib" nuduhake yen Xs nglacak posisi mouse lan ngirim informasi iki menyang aplikasi sing mlaku ing kono.
X uga nyekel keystrokes ing keyboard lan ngirim informasi iki kanggo aplikasi.
Variabel DISPLAY ngandhani aplikasi grafis ing layar (saben X diluncurake kanthi nomer layar unik nalika wiwitan), lan mulane sing mlaku ing mesinku, X kudu digambar. (Sampeyan uga bisa nemtokake mesin remot ing variabel iki lan ngirim output menyang Xs sing mlaku ing mesin liyane ing jaringan.) Wiwit Xs diluncurake tanpa opsi -auth, ora perlu ngatasi variabel XAUTHORITY utawa xhost. dhawuh.
Aplikasi grafis (utawa minangka klien X disebut) render ing X - tanpa kemampuan kanggo mindhah / nutup / ngganti "-g (Width) x (Dhuwur) + (OffsetFromLeftEdge) + (OffsetFromTopEdge) ". Kanthi tandha minus, masing-masing, saka sisih tengen lan saka pinggir ngisor.
Rong istilah sing kudu dicritakake: X-server (sing diarani X) lan X-klien (sing diarani aplikasi grafis sing mlaku ing X). Ana kebingungan sethithik kanggo mangerteni terminologi iki; akeh sing ngerti persis sebaliknya. Ing kasus nalika aku nyambung saka "mesin klien" (ing terminologi akses remot) menyang "server" (ing terminologi akses remot) kanggo nampilake aplikasi grafis saka server ing monitor, banjur server X diwiwiti ing mesin ing ngendi monitor (yaiku, ing "mesin klien", ora ing "server"), lan klien X miwiti lan mbukak ing "server", sanajan ditampilake ing monitor "mesin klien".
komponen DE
Sabanjure, ayo goleki komponen sing biasane nggawe desktop.
Komponen DE: Tombol Mulai lan Taskbar
Ayo dadi miwiti karo sing disebut "Mulai" tombol. Asring iki applet kapisah digunakake ing "Taskbar". Ana uga biasane applet kanggo ngalih ing antarane aplikasi sing mlaku.
Sawise ndeleng macem-macem lingkungan desktop, aku bakal ngringkes aplikasi kasebut kanthi jeneng umum "Apps Manager (Launcher / Switcher)", yaiku, alat kanggo ngatur aplikasi (diluncurake lan ngalih ing antarane sing mlaku), lan uga nuduhake utilitas sing conto jinis aplikasi iki.
Nerangake ing wangun tombol "Mulai" ing klasik (kabeh dawa salah siji saka sudhut layar) "Taskbar":
Sampeyan uga bisa duwe "taskbar wangun MacOS" kapisah (ora dawa kebak ing pinggiran layar), sanajan akeh taskbar bisa katon ing loro gaya. Ing kene, prabédan utama mung visual - anané "efek pembesaran pictogram ing hover."
○ dock,
○ latte-dock,
○ dermaga cairo,
○ papan.
Lan/Utawa layanan sing mbukak aplikasi nalika sampeyan menet hotkeys (ing akeh lingkungan desktop, komponen sing padha dibutuhake lan ngidini sampeyan ngatur hotkeys dhewe):
○ sxhkd.
Ana uga macem-macem "peluncur" sing bentuke menu (saka Inggris Launch (launch)):
Aku uga bakal dhaftar "WM lawas karo unsur DE". Sing. saliyane manager jendhela, padha duwe unsur kayata tombol "Mulai" lan "Taskbar", kang luwih khas DE lengkap. Sanajan, sepira "lawas" yen IceWM lan WindowMaker wis ngrilis versi sing dianyari ing 2020. Ternyata luwih bener ora "lawas", nanging "wong lawas":
Saliyane "klasik" ("manajer jendhela tumpukan"), kudu disebutake khusus jubin WM, sing ngijini sampeyan kanggo nyelehake windows "ubin" ing kabeh layar, uga kanggo sawetara aplikasi desktop kapisah kanggo saben aplikasi dibukak ing kabeh layar. Iki rada ora biasa kanggo wong sing durung nate nggunakake, nanging amarga aku dhewe wis nggunakake antarmuka kasebut kanggo wektu sing suwe, aku bisa ujar manawa cukup trep lan sampeyan bisa cepet nggunakake antarmuka kasebut, sawise iku. Managers jendhela "klasik" katon ora trep maneh.
Proyek kasebut uga kudu dicritakake kanthi kapisah Compiz lan konsep kayata "Manajer Window Komposit", sing nggunakake kemampuan akselerasi hardware kanggo nampilake transparansi, bayangan, lan macem-macem efek telung dimensi. Udakara 10 taun kepungkur ana efek 3D ing desktop Linux. Saiki, akeh manajer jendhela sing dibangun ing DE nggunakake sebagian kemampuan komposit. Bubar katon Wayfire - produk kanthi fungsi sing padha karo Compiz kanggo Wayland.
Dhaptar rinci macem-macem manajer jendhela uga bisa ditemokake ing artikel perbandingan.
komponen DE: ngaso
Sampeyan uga kudu dicathet komponen desktop ing ngisor iki (ing kene aku nggunakake istilah Inggris sing mapan kanggo njlèntrèhaké jinis aplikasi - iki dudu jeneng aplikasi kasebut dhewe):
Applets:
Piranti lunak (toolkit widget) - asring "set minimal" piranti lunak tartamtu diwenehake karo lingkungan:
Saka komponen ing ndhuwur, sing diarani "Lingkungan Desain Desktop" dipikolehi. Asring kabeh komponen dikembangake kanthi nggunakake perpustakaan grafis sing padha lan nggunakake prinsip desain sing padha. Mangkono, paling sethithik, gaya umum kanggo tampilan aplikasi dijaga.
Ing kene kita bisa nyorot lingkungan desktop sing saiki ana:
Malah ana conto sing menarik saka sejarah: ing 2003-2007, "desain desktop 3D" digawe kanggo Linux kanthi jeneng "Project Looking Glass" saka Sun. Aku dhewe nggunakake desktop iki, utawa luwih "dimainake", amarga angel digunakake. "Desain 3D" iki ditulis ing Jawa nalika ora ana kertu video kanthi dhukungan 3D. Mulane, kabeh efek padha recalculated dening prosesor, lan komputer kudu banget kuat, digunakake kabeh alon. Nanging ternyata apik banget. Kothak aplikasi telung dimensi bisa diputer / ditambahi. Sampeyan bisa muter ing silinder desktop kanthi wallpaper saka panorama 360 derajat. Ana sawetara aplikasi sing apik: contone, ngrungokake musik kanthi "ngganti CD", lsp. Sampeyan bisa nonton ing YouTube. видео babagan proyek iki, mung kualitas video kasebut sing paling mungkin kurang, amarga ing taun-taun kasebut ora bisa ngunggah video kanthi kualitas dhuwur.
Desktop entheng. Proyèk iki wis ana kanggo dangu, wiwit 1996. Ing taun-taun pungkasan, iki wis cukup populer, tinimbang KDE lan GNOME sing luwih abot, ing akeh distribusi sing mbutuhake antarmuka desktop sing entheng lan "klasik". Wis akeh setelan lan nomer akeh program dhewe: terminal (xfce4-terminal), file manager (thunar), panampil gambar (ristretto), editor teks (mousepad).
Digunakake ing distribusi OS SD. Kene kita bisa ngomong sing ana "desktop" sing dikembangaké lan digunakake ing siji distribusi kapisah lan ora akeh digunakake (yen ora "ora digunakake ing kabeh") ing distribusi liyane. Paling ora, dheweke durung entuk popularitas lan ngyakinake para pamirsa babagan keuntungan saka pendekatan kasebut. Pantheon duwe tujuan kanggo mbangun antarmuka sing padha karo macOS.
Fokus sing kuat ing efek grafis lan widget (wiwit dina nalika lingkungan desktop liyane ora duwe widget desktop kaya tanggalan / jam). Nggunakake perpustakaan dhewe. Ana kumpulan gedhe saka aplikasi "ayu" dhewe: terminal (Terminologi), pamuter video (Rage), panampil gambar (Ephoto).
Kaping pisanan, antarmuka desktop "klasik", digawe minangka gantos kanggo KDE, kang ditulis ing perpustakaan QT, ing wektu sing mbagekke ing lisensi sing ora trep banget kanggo distribusi komersial.
Saka versi katelu, GNOME wiwit teka karo Shell GNOME, sing nduweni "tampilan non-klasik", sing ora kabeh pangguna seneng (apa wae owah-owahan dumadakan ing antarmuka angel ditampa dening pangguna). Akibaté, munculé proyek garpu sing terus ngembangake desktop iki kanthi gaya "klasik": MATE lan Cinnamon. Digunakake kanthi standar ing akeh distribusi komersial. Wis akeh setelan lan aplikasi dhewe.
Muncul saka GNOME2 lan terus ngembangake lingkungan desain iki. Nduwe akeh setelan lan garpu aplikasi sing digunakake maneh ing GNOME2 (jeneng anyar digunakake) supaya ora mbingungake garpu karo versi anyar kanggo GNOME3).
Garpu gaya "klasik" GNOME sing dikembangake minangka bagean saka distribusi Solus, nanging saiki uga dadi desktop mandiri ing macem-macem distribusi liyane.
Lingkungan desktop sing dikembangake dening proyek KDE.
Nduwe akeh setelan sing kasedhiya kanggo pangguna sing gampang saka antarmuka grafis lan akeh aplikasi grafis sing dikembangake ing kerangka desktop iki.
Ing taun 2008, KDE ngrilis implementasi anyar KDE Plasma (mesin desktop wis ditulis maneh). Uga, kaya GNOME / MATE, ora kabeh penggemar KDE seneng. Akibaté, garpu proyek muncul, terus pangembangan versi sadurungé, disebut TDE (Trinity Desktop Environment).
Salah siji saka lingkungan desktop anyar ditulis nggunakake Qt (kang KDE ditulis ing). Wis akeh setelan lan cukup ayu (sanajan iki konsep subyektif) lan uga-dikembangaké antarmuka. Dikembangaké minangka bagéan saka distribusi Deepin Linux. Ana uga paket kanggo distribusi liyane
fly
Conto lingkungan desktop ditulis nggunakake Qt. Dikembangaké minangka bagéan saka distribusi Astra Linux.
Lingkungan desktop sing entheng. Kaya sawetara conto sadurunge, ditulis nggunakake Qt. Ing kasunyatan, iku terusan saka project LXDE lan asil gabungan karo project Razor-qt.
Kaya sing sampeyan ngerteni, desktop ing Linux bisa katon beda banget lan ana antarmuka sing cocog kanggo rasa saben wong: saka sing apik banget lan kanthi efek 3D nganti minimalis, saka "klasik" nganti ora biasa, saka aktif nggunakake sumber daya sistem nganti entheng, saka gedhe. layar kanggo tablet / smartphone.
Muga-muga aku bisa menehi ide babagan komponen utama grafis lan desktop ing Linux OS.
Materi kanggo artikel iki diuji ing Juli 2020 ing webinar. Sampeyan bisa nonton kene.
Mekaten. Mugi iki migunani. Yen sampeyan duwe pitakon utawa komentar, tulisen. Aku bakal seneng njawab. Inggih, teka lan sinau ing "LANIT Network Academy"!