Các hệ thống con giao diện người dùng, các thành phần và trách nhiệm của họ là gì?


8

Tôi đang cố gắng để hiểu các hệ thống con khác nhau phụ trách giao diện người dùng, thuật ngữ để đề cập đến chúng và cách chúng được cấu trúc; cho đến nay tôi biết có:

Ở cấp cao nhất:

máy tính để bàn ? (kde, gnome, v.v.)

Sau đó chúng tôi có:

  • trình quản lý hiển thị (còn gọi là trình quản lý màn hình hoặc môi trường máy tính để bàn)
  • quản lý cửa sổ
  • còn gì nữa không?

Tôi đang biến đây thành một wiki cộng đồng, tôi muốn đây là một vị trí trung tâm cho * tất cả những gì cần biết (từ góc độ người dùng) liên quan đến các hệ thống con giao diện người dùng trong Linux; những gì tôi muốn biết là các thành phần của mỗi là gì, và trách nhiệm của mỗi là gì, tức là tôi muốn biết những điều như:

  • Chính xác thì phụ trách các phím tắt toàn cầu là gì, khi tôi mở hộp thoại "chạy ứng dụng", ai đang làm điều đó, khi tôi nhấn một phím để hiển thị máy tính để bàn, chạy thiết bị đầu cuối, tối đa hóa cửa sổ, v.v., ai đang chụp đó và gửi nó đến cửa sổ bên phải;
  • người phụ trách vẽ máy tính để bàn, không gian làm việc, v.v.
  • các biến môi trường có thể cung cấp cho tôi thông tin liên quan đến các thành phần này là gì
  • "Menu chính" là một hệ thống con, hay là một thành phần của hệ thống con?

Cũng rất tốt để biên dịch một danh sách các máy tính để bàn / hệ thống con phổ biến nhất, chúng chạy dưới mỗi cái, bạn có thể trộn và kết hợp máy tính để bàn / môi trường máy tính để bàn / trình quản lý cửa sổ, v.v.?

Cuối cùng, làm thế nào để tôi biết máy tính để bàn / hệ thống con nào đang thực sự chạy (hoạt động?) Trên hệ thống, mỗi người dùng khác nhau có thể có một hệ thống con khác nhau không?

Câu trả lời:


5

Trước hết, Trình quản lý hiển thị (hoặc DM, ví dụ xdm, gdm, kdm) không giống với Môi trường máy tính để bàn (hoặc DE, ví dụ: Gnome, KDE, XFCE).

Trình quản lý hiển thị sẽ xử lý đăng nhập đồ họa và quyết định (hoặc cho phép bạn chọn) phiên nào sẽ chạy. Hoặc phiên * s * nào trong trường hợp bạn chọn tùy chọn menu "chuyển người dùng".

Môi trường máy tính để bàn về cơ bản là một tập hợp các chương trình (trình quản lý hiển thị, trình quản lý cửa sổ, trình quản lý phiên, bảng điều khiển, công cụ cấu hình, v.v.) và các thư viện (ví dụ Gtk) có ý định cung cấp một môi trường nhất quán và tích hợp để hoạt động.

Trình quản lý cửa sổ quản lý các cửa sổ: nơi đặt chúng, di chuyển chúng, thay đổi kích thước chúng, thu nhỏ / tối đa hóa chúng, xếp chúng, v.v.). Nó cũng xử lý các phím tắt để làm những việc đó. Trong một số trường hợp, trình quản lý cửa sổ cũng vẽ đường viền của các cửa sổ, trong các trường hợp khác, nhiệm vụ này được giao cho một "người trang trí cửa sổ".

Hộp thoại "Chạy ứng dụng" trong Gnome là một phần của gnome-panel, nhưng trong DE khác, nó có thể là một phần khác của môi trường.

Ai phụ trách sơn cửa sổ, vv phụ thuộc; trong trường hợp có một "nhà soạn nhạc" đang sử dụng (thường là một phần của trình quản lý cửa sổ, ví dụ như trong Compiz) thì nhà soạn nhạc sẽ vẽ các cửa sổ trên màn hình, nếu không (như thường lệ trong quá khứ) thì đó là máy chủ X làm việc đó.

(Các) Menu chính được đặt trên màn hình bởi một phần của bảng gnome, nhưng dữ liệu được sử dụng đến từ một loạt các tệp trong /usr/share/applications/(có thể kết hợp với một thư mục tương đương trong nhà của bạn để thay đổi cá nhân). Các tệp đó có cấu trúc được xác định bởi FreeDesktop.org (một nền tảng cho các DE khác nhau cộng tác trên cơ sở hạ tầng chung), để Gnome và KDE biết về cùng một chương trình (nhưng vẫn có thể hiển thị chúng khác nhau và trong một số trường hợp ưu tiên các chương trình "gốc" trên "nước ngoài").

Và có, người dùng khác nhau có thể sử dụng một cấu hình phiên khác nhau (và thậm chí có thể xác định cấu hình phiên của riêng họ). Trong GDM, hãy thử thả xuống Phiên cho các lựa chọn có sẵn.

Hơn nữa, có thể trộn và kết hợp một số thành phần, nhưng điều đó đôi khi sẽ dẫn đến ít hợp tác và mất "độ mịn" trong cách mọi thứ hoạt động. Một ví dụ rất nổi tiếng nơi mọi thứ được trao đổi tất nhiên là Compiz, nó thay thế Metacity nếu bạn muốn các hiệu ứng máy tính để bàn lạ mắt. Nhưng có rất nhiều thay đổi khác có thể.


2

Trình quản lý máy tính để bàn chủ yếu quản lý phần cứng của bạn, trong khi trình quản lý cửa sổ quản lý phần mềm của bạn. Ví dụ: quản lý năng lượng, bảo vệ màn hình, hiệu suất hệ thống, màn hình đăng nhập, v.v. được quản lý bởi máy tính để bàn. Chủ đề, vị trí cửa sổ, tiện ích và bộ biểu tượng, phông chữ, v.v ... được quản lý bởi người quản lý cửa sổ của bạn.

Bạn có thể cài đặt trình quản lý cửa sổ mà không cần trình quản lý máy tính để bàn. Việc đăng nhập vào thiết bị đầu cuối ảo là phổ biến, sau đó có tập lệnh đăng nhập thực thi trình quản lý cửa sổ của bạn để khởi động "máy tính để bàn" của bạn.

Các trình quản lý máy tính để bàn là Gnome, KDE và CDE. Trình quản lý cửa sổ là Metacity, Openbox, Enlightenment, Awesome, v.v.

Để trả lời một số câu hỏi của bạn trực tiếp:

  • người quản lý cửa sổ chủ yếu phụ trách các phím tắt trên bàn làm việc.
  • người quản lý cửa sổ chịu trách nhiệm vẽ máy tính để bàn, không gian làm việc, vị trí của các cửa sổ, v.v. như đã đề cập trước đó
  • không có nhiều biến môi trường cho GUI. Đây thường chỉ áp dụng cho vỏ phía sau một thiết bị đầu cuối. Tuy nhiên, bạn có thể chạy setenvđể có ý tưởng về những gì được thiết lập.
  • không chắc chắn ý của bạn về "menu chính" là một hệ thống con hoặc thành phần của hệ thống con. Menu là một phần của trình quản lý cửa sổ.

Tôi đã đề cập đến một số trình quản lý máy tính để bàn và quản lý cửa sổ phổ biến. Nhiều hơn có thể được tìm thấy bằng cách sử dụng Google.

Tùy thuộc vào hệ điều hành của bạn, có thể có tệp cấu hình ASCII đã xác định máy tính để bàn ưa thích của bạn. Ví dụ, trên Debian GNU / Linux, điều này được định nghĩa trong /etc/X11/default-display-managercấu hình. Bạn cũng có thể chạy 'ps -ef | người dùng grep 'trong đó' người dùng 'là tên đăng nhập của một số người dùng trên hệ thống và xem quy trình nào được liệt kê và máy tính để bàn đồ họa nào đang chạy. Đối với tôi, đó là 'sự khôn ngoan'.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.