X11 Linux что это такое

Обновлено: 01.07.2024

Система X Window (X11 или просто X) — это оконная система для отображения растровых изображений, распространенная в Unix-подобных операционных системах. X обеспечивает базовую основу для среды с графическим интерфейсом: рисование и перемещение окон на устройстве отображения и взаимодействие с мышью и клавиатурой.

Что такое Linux X11?

Система X Window (также известная как X11 или просто X) представляет собой оконную систему клиент/сервер для растровых изображений. Он реализован в большинстве UNIX-подобных операционных систем и был перенесен во многие другие системы.

Как запустить X11 в Linux?

  1. Шаг 1. Установите необходимые пакеты X11. …
  2. Шаг 2. Настройте переадресацию X11. …
  3. Шаг 3. Настройте putty и Xming для выполнения соединения с переадресацией X11 и проверки переадресации X11. …
  4. Шаг 4. Настройте сеанс EC2 Linux для переадресации X11, если вы переключаетесь на другого пользователя после входа в систему для выполнения установки или команд на основе графического интерфейса.

Что такое X11 Ubuntu?

Как узнать, включен ли X11 в Linux?

Чтобы убедиться, что X11 работает правильно, запустите «xeyes», и на экране должен появиться простой графический интерфейс. Вот и все!

Что делает Pkill в Linux?

pkill — это утилита командной строки, которая отправляет сигналы процессам запущенной программы на основе заданных критериев. Процессы могут быть указаны по их полным или частичным именам, пользователю, запускающему процесс, или другим атрибутам.

Использует ли Ubuntu X11?

«X-сервер» — это то, что запускается в графической среде рабочего стола. Это либо ваш рабочий стол Ubuntu, либо Windows, либо Mac. … Если этот канал связи X11 правильно установлен через ssh, графические приложения, работающие на «X-клиенте», будут туннелироваться и отображаться на рабочем столе с графическим интерфейсом.

Что такое xterm в Linux?

Описание. xterm — это стандартный эмулятор терминала системы X Window, обеспечивающий интерфейс командной строки в окне. Несколько экземпляров xterm могут работать одновременно на одном дисплее, каждый из которых обеспечивает ввод и вывод для оболочки или другого процесса.

Как узнать, установлен ли Xclock в Linux?

Как определить, установлен ли xclock, и если он не установлен, как его установить. Используйте rpm -qa, чтобы узнать, установлен ли пакет xorg-x11-apps. Приведенная выше команда ничего не возвращает. Это означает, что в системе не установлен пакет rpm для xclock.

Что такое процесс XORG в Linux?

Описание. Xorg — это полнофункциональный X-сервер, изначально разработанный для Unix и подобных Unix операционных систем, таких как Linux, работающий на оборудовании Intel x86.

Как запустить Xorg в Ubuntu?

Сначала убедитесь, что вы вышли из системы. Нажмите Ctrl + Alt + F1 и войдите, используя свои учетные данные. После завершения установки может потребоваться перезагрузка. Если нет, запустите sudo service lightdm start или sudo start lightdm, чтобы снова запустить X-сервер.

Сегодня мы познакомимся с менее известной, интересной и полезной функцией Linux. Я уверен, что большинство из вас знают о SSH. Мы можем безопасно получить доступ к удаленным системам Linux через SSH. Но знаете ли вы, что можно перенаправить X через SSH для удаленного запуска графических приложений? Да! Этот механизм известен как пересылка X11. В этом руководстве мы собираемся настроить переадресацию X11 с использованием SSH в Linux.

Что такое пересылка X11?

Пересылка X11 — это метод, позволяющий пользователю запускать графические приложения, установленные в удаленной системе Linux, и пересылать окна (экран) этого приложения в локальную систему. Удаленная система не должна иметь X-сервер или графическую среду рабочего стола. Следовательно, настройка пересылки X11 с использованием SSH позволяет пользователям безопасно запускать графические приложения через сеанс SSH.

Проще говоря,

  • Подключаемся к удаленной системе по SSH,
  • Затем мы запускаем приложение с графическим интерфейсом (которое установлено в удаленной системе) из этого сеанса SSH,
  • Теперь приложение с графическим интерфейсом запускается в удаленной системе, но окно приложения появляется в нашей локальной системе. Таким образом, мы можем использовать эту удаленную программу с графическим интерфейсом в вашей локальной системе так же, как мы используем локально установленную программу.

Очистить? Теперь давайте продолжим и посмотрим, как запускать удаленные приложения с графическим интерфейсом через сеанс SSH.

Настройка пересылки X11 с помощью SSH в Linux

Для целей этого руководства я буду использовать следующие две системы:

  • Удаленный сервер — минимальный сервер CentOS 8 (без графического интерфейса).
  • Локальная система — Ubuntu 20.04 LTS с Gnome DE.

Настроить переадресацию X11 несложно.

Убедитесь, что вы установили "xauth" в вашей системе удаленного сервера. Если он не установлен, выполните следующую команду от имени пользователя root или sudo:

Перейдите в свою удаленную систему (в моем случае это CentOS 8) и отредактируйте файл "/etc/ssh/ssh_config" с помощью вашего любимого редактора:

Добавить/изменить следующую строку:

Настроить пересылку X11 с помощью SSH в Linux

Настройка пересылки X11 с помощью SSH в Linux

Нажмите Ctrl+O, чтобы сохранить файл, и Ctrl+X, чтобы закрыть файл. Перезапустите службу sshd, чтобы изменения вступили в силу:

Готово! Мы настроили переадресацию X11.

Теперь перейдите в свою клиентскую систему (в моем случае это Ubuntu 20.04) и получите доступ к удаленному серверу через SSH с помощью команды:

Здесь параметр -X используется для включения переадресации X11 через SSH. Замените «[email protected]» на имя пользователя и IP-адрес вашего удаленного сервера.

В первый раз вы увидите следующее предупреждающее сообщение.

Однако файл .Xauthority должен автоматически генерироваться при первом входе в систему, поэтому последующие входы в систему должны выполняться нормально.

Затем запустите любые приложения с графическим интерфейсом из этого сеанса SSH. У меня уже установлен графический текстовый редактор Gedit на моем сервере CentOS 8, поэтому я собираюсь запустить его с помощью команды:

Теперь в вашей локальной системе появится экран окна gedit GUI.

Запуск удаленных графических приложений через сеанс SSH в Linux

Запуск удаленных графических приложений через сеанс SSH в Linux

Вы можете взаимодействовать с приложением Gedit, установленным на удаленном сервере, используя дисплей, мышь и клавиатуру вашей локальной системы.

Несмотря на то, что на моем сервере CentOS 8 нет рабочего стола с графическим интерфейсом, я могу открыть графический редактор Gedit и использовать его в своей локальной системе Ubuntu. Вот визуальная демонстрация:



Настроить пересылку X11 в Putty

Если вы используете клиент Putty для доступа к удаленным системам, введите IP-адрес или имя хоста вашей удаленной системы на вкладке "Сеанс":

 Подключитесь к удаленной системе с помощью Putty

Подключиться к удаленной системе с помощью Putty

Затем перейдите к Connection -> SSH -> X11 и включите параметр переадресации X11. Нажмите «Открыть», чтобы установить новый сеанс Putty:

Настроить X11 пересылка в Putty

Настроить пересылку X11 в Putty

Введите имя пользователя и пароль удаленного сервера. После подключения к удаленной системе через Putty запустите любое приложение X, установленное на удаленном сервере.

 Запуск графических приложений через сеанс Putty

Запуск графических приложений через сеанс Putty

Начните взаимодействовать с удаленным приложением с графическим интерфейсом из вашей локальной системы!

X-Windows существует уже давно и предоставляет приложениям удобный способ подключения к пользовательской консоли и управления ею. «X-сервер» работает на любом компьютере, за которым сидит пользователь. Этот сервер позволяет приложениям подключаться и получать данные о положении мыши, клавиатуре, устанавливать и манипулировать данными экрана и дисплея и т. д. Это позволяет приложениям взаимодействовать с пользователем через графический интерфейс.

При использовании X-Window приложения могут подключаться к пользовательскому интерфейсу в той же компьютерной системе или в другой системе, расположенной в другом месте в сети. Используя эту масштабируемость, пользователи могут подключаться к удаленному компьютеру и запускать приложения, которые открывают окна и взаимодействуют с пользователем на его или ее рабочем столе. Предусмотрены некоторые рудиментарные механизмы безопасности, защищающие X-сервер от подключения других пользователей, хотя эти методы в большей степени предназначены для защиты от непреднамеренных подключений — этого недостаточно для обеспечения какой-либо реальной защиты от компрометации.

Чтобы преодолеть эти недостатки безопасности, X-windows можно использовать в сочетании с другими продуктами, которые обеспечивают безопасный канал для подключения приложений X-windows к X-серверу. PuTTY в Windows или ssh в Linux/Unix/MacOSX можно настроить таким образом, чтобы при входе с настольной системы в удаленную систему трафик X Windows перенаправлялся по защищенному каналу.

ВНИМАНИЕ!

Неправильная конфигурация X Windows может привести к компрометации вашего пароля и раскрытию всего, что вы набираете на клавиатуре и показываете на вашем дисплее. Вы должны защитить X-сервисы вашей системы!

Обратите внимание, что НЕ следует использовать команду UNIX "xhost +". Это дает каждому компьютеру полный доступ к вашему дисплею и клавиатуре.

Хорошее представление о том, как работает X11 и как его защитить, представлено в этом документе от DOE-CIRC. Статья посвящена UNIX, но также является хорошим фоном для использования X11 на компьютерах с Windows.

Сеансы на основе XDM больше не поддерживаются

Многие пользователи знакомы с входами в систему в стиле XDMCP (X Display Manager Control Protocol), использовавшимися в прошлом и обеспечивающими полный доступ к рабочему столу в системе unix через XDM. Этот подход не обеспечивает никакой безопасности, больше не поддерживается и должен быть прекращен. Вместо этого пользователей просят создать окна терминала на хосте unix с помощью клиента защищенной оболочки, а затем запускать приложения X-windows по мере необходимости через предоставленный безопасный туннель.

Дополнительную информацию о защите X Windows на платформе UNIX см. в документе Securing X Windows от DOE-CIRC.

Содержание

Архитектура

X11 работает в архитектуре клиент-сервер, при этом связь осуществляется через быстрые сокеты UNIX, если локально, или через TCP/IP, если удаленно, что полностью прозрачно для пользователей.

Протокол прост и оптимизирован, часто используется через такие библиотеки, как Xlib или Xcb (асинхронный). Большинство распространенных команд, таких как движение мыши и события экспонирования, имеют небольшой размер, поэтому они не слишком сильно влияют. Поскольку связь происходит с использованием файловых дескрипторов (локальные сокеты unix или tcp), ее можно легко интегрировать в циклы событий (или основные циклы) с простым опросом с помощью poll(2) или select(2).

Расширения и аппаратное ускорение

Его можно расширить и использовать аппаратное ускорение. С такими расширениями, как XRender, можно оптимизировать пути 2D-рендеринга. С Xvideo можно использовать дополнительные плоскости, а также передавать необработанные данные YUV. Другие, такие как Composite, могут позволить составному менеджеру делать настоящие рисунки, возможно, добавляя приятные эффекты, такие как полупрозрачные окна или тени. Можно использовать OpenGL (и OpenGL-ES) с X11.

Одним из расширений, заслуживающим особого упоминания, является XShm, или расширение общей памяти, которое можно использовать, чтобы избежать отправки изображений или других объемных данных по сети. При использовании изображений XShm нужно просто отправить идентификатор изображения и другие параметры изображения, а не пиксели изображения. Это, однако, приводит к тому, что создание образа обходится дороже, поскольку ядру Linux требуется обнулить память, чтобы избежать раскрытия данных, но это незначительно.

Сильные стороны

Недавние усилия были предприняты для большей оптимизации X11 и еще более эффективной интеграции с Linux, например настройка режима ядра, которая позволит избежать мерцания во время загрузки системы, а также упростит сервер X11.

Хотя можно писать напрямую в сеть или использовать низкоуровневые библиотеки, такие как Xlib или Xcb, обычно приложения X11 пишут с использованием различных помощников и наборов инструментов, таких как GTK, Qt, Evas/EFL, FLTK и других. Эти библиотеки являются основой большинства графических пользовательских интерфейсов, доступных для Linux, включая такие крупные проекты, как Firefox и Thunderbird, Pidgin Instant Messenger, GNOME Desktop, KDE Desktop, Enlightenment Desktop и другие. Эти приложения и библиотеки в первую очередь разрабатываются с упором на X11, поэтому они всегда актуальны, не требуют переноса и подвергаются гораздо большему тестированию. Эта готовность/доступность большинства известных приложений является самой сильной стороной использования X11, даже во встроенных системах, как показали Maemo, OpenMoko, OLPC и другие.

Слабые стороны

X11 долгое время игнорировался встраиваемыми системами, которые считались медленными и большими. Хотя это и не совсем правда, в нем есть некоторые правдивые факты.

Читайте также: