X11 common что это

Настройка удаленного рабочего стола (VNC, x11vnc)

С линуксом жизнь становится интересней, я бы даже сказал экспериментальней!
Меня потянуло на эксперименты с ssh, и то, что я получил в итоге — доступ с работы к домашнему компу — мне очень понравилось! Еще бы — классно управлять домашним компом, обновлять его и т.п. С девушкой даже с помощью festival разговаривал)))
Однако, захотелось пойти дальше, интересно, можно ли настроить удаленный доступ к рабочему столу, как позволяет это RAdmin в Windows? Можно конечно! Надо только настроить))

Покопался в интернете, нашел несколько статей про VNC — Virtual Network Computing, решил такое счастье сделать и у себя!
Для этого сначала необходимо было поставить несколько утилит:

sudo aptitude install vnc4-common vnc4server xvnc4viewer

Эти утилиты необходимы непосредственно для того, чтобы запускать удаленный сервер (vnc4server) и подключаться к нему с удаленного клиента (xvnc4viewer).
Установили! Теперь дело остается за малым: сначала нужно запустить vnc-сервер, а потом подключиться к нему.
Для запуска удаленного сервера, нужно в консоли набрать

Если это первый запуск vncserver в системе с этой учётной записью пользователя, тогда вы должны ввести пароль, который клиенты будут использовать при подключении, после чего запустится сервер, который будет доступен на порту 5901. Кстати, при запуске сервера в консоль выведется номер дисплея (виртуального), на котором он будет доступен, отсчет ведется с 1 (так как 0 — текущий дисплей). Пример запуска:

$ vncserver
New ‘Voyageur:1 (igor)’ desktop is Voyageur:1
Starting applications specified in /home/igor/.vnc/xstartup
Log file is /home/igor/.vnc/Voyageur:1.log

Здесь строчка New ‘Voyageur:1 (igor)’ desktop is Voyageur:1 как раз говорит о том, что у меня компе запустился сервер на дисплее 1, доступен он на порту 5901.
Если vncserver запустить еще раз, то загрузится новый терминальный сервер :2 на порту 5902 и т.д.
Теперь попробуем зайти на этот сервер с удаленной машины. Для этого необходимо в консоли удаленного клиента ввести команду:

В этой команде __hostname__ — это доменное имя или ip машины, на которой запущен удаленный сервер. Далее необходимо будет ввести пароль и в результате появится приблизительно вот такое окно:

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Немного не то я ожидал увидеть если честно)) Начал разбираться, и оказалось, что vncserver запускает лишь новую сессию, а не подключается к текущей, именно для этого и нужны виртуальные дисплеи. А в этой сессии запущены twm (Tab Window Manager for the X Window System) и xterm.
Между прочим это все добро запускается из скрипта

/.vnc/xtartup, который можно редактировать, удаляя ненужные и добавляя свои строчки запуска необходимых приложений. В самом верху скрипта есть небольшой комментарий:

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

То есть, чтобы получить нормальный рабочий стол, нужно раскомментировать 2 строчки. Я их раскомментировал, но ничего хорошего из этого у меня не вышло.
Посмотрел я на этот twm, и решил, что с этим убожеством работать нельзя. Я установил fluxbox (занимает всего 6 Мб) и в скрипте xstartup заменил строчку

В итоге у меня получилось вот так:

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Нормально для работы. Но не айс! Оперу можно запустить, еще некоторые приложения, но далеко не все (приложения kde выламываются)! Пробовал я вместо fluxbox’a запустить kde, но не пошло… Играет приветствие входа в систему, но вылетает окно с крахом плазмы и все, черный экран, занавес…

В итоге я получил удаленный доступ, но не такой как хотел! Мне-то хотелось иметь доступ к текущему рабочему столу, а не к мифическому дисплею 1, на котором загружается fluxbox, но не kde.

Что делать? Надо копать еще.
Я поискал в репозиториях пакеты, в названии которых присутствует «vnc», список оказался не очень большой, я начал читать комментарии к утилитам и библиотекам… В самом конце списка я увидел такую строчку:

Очень похоже на то, что мне нужно!
Я установил x11vnc. man у этой утилиты знатный, несколько тысяч строк)) После небольшого его изучения я более менее разобрался с процедурой запуска и назначением утилиты.
Итак, x11vnc является фактически удаленным сервером (как и vncserver), но позволяет получать доступ к уже существующей X-сессии!
На машине, к которой необходимо подключиться:

Эта команда позволит позаимствовать пароль для подключения к серверу из файла

/.vnc/passwd (тут лежит пароль, который был задан при первом запуске vncserver). Далее непосредственно запустим x11vnc:

Опция -usepw задействует использования пароля при подключении к серверу, -display :0 — запускает сервер на нулевом дисплее (так, где открыта текущая X-сессия).
Теперь мы с удаленной машины можем подключиться к текущей X-сессии, выполнив

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

При закрытии окна удаленного рабочего стола, завершается и работа x11vnc (на сервере)
Таким образом, я получил то, что хотел))))
Напоследок приведу несколько опций для утилит vncserver, x11vnc и vncviewer, облегчающих траффик и жизнь))

и указать, что он должен запускаться до старта KDE!

Источник

Сетевые соединения X11

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Есть две технологии в ИТ, которые казалось должны были исчезнуть на рубеже прошлого века, но их живучесть и удобство раз за разом отодвигает их уход со сцены. Речь идет об IPv4 и X11. Если первый из них практически во всех аспектах уступает IPv6, то преимущества Wayland, как технологии над X11 очевидны не всем. Wayland вовсе не универсален, как X Windows System, он намного более прост. Это дает ему ряд преимуществ по сравнению с иксами, но в этом же кроются его недостатки.

Если говорить о преимуществах, то это в первую очередь простота реализации и долгожданное избавление пользователей графической среды Linux от таких артефактов перерисовки, как разрывы изображения, a․ k․ a․ tearing. С этим особенно часто сталкиваются обладатели видеокарт NVidia. Хватает и недостатков и противники замены X-сервера напирают на гибкость использования сетевых возможностей в различных сценариях.

As mentioned, X is essentially a networking protocol with graphical displaying capabilities.

▍ Сетевая структура взаимодействий X-сервера

Наиболее распространенным IPC, т․ е․ способом взаимодействия между процессами, X-клиента и X-сервера, являются сокеты. Их роль в предоставлении API связи с использование TCP/IP, а также сокетов домена Unix. Помимо сокетов клиент и сервер для коммуникации могут также использовать иные каналы IPC, например MIT Shared Memory Extension.

Доменные сокеты Unix (от англ. Unix Domain Sockets, UDS) являются POSIX-механизмом IPC, с помощью которого различные процессы ОС могут взаимодействовать друг с другом. Такие сокеты эффективнее локальных TCP/IP соединений, так как не требуют дополнительных байтов в заголовке протокола. Подобно сокетам TCP/IP, доменные сокеты Unix поддерживают надёжную потоковую передачу данных с помощью SOCK_STREAM. Они также могут работать в режиме упорядоченной ( см․ SOCK_SEQPACKET) и неупорядоченной ( см․ SOCK_DGRAM) передачи датаграмм.

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Рис. 1 Сетевое взаимодействие между клиентом и сервером X с помощью UDS.

UDS используют файловую систему ОС в качестве адресного пространства имён (например /tmp/my_xapp ), сами сокеты в ней всего лишь inode, а процессы обращаются к сокетам, так же, как к файлу. Однако обмен данными в активном соединении использует не файловую систему, а только буферы памяти ядра.

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Рис. 2 Сетевое взаимодействие между клиентом и сервером X поверх TCP/IP.

Количество таких интерфейсов определено константой NUMTRANS в файле X11/Xtrans/Xtrans.c.

Таблица Xtransports[] определена в том же самом файле и содержит 10 элементов, таким образом NUMTRANS ≤ 10.

Проследив цепочку до системного вызова socket() находим такую последовательность транспортных процедур.

▍ Взгляд изнутри трафика между клиентом и сервером X

Запустим простейшую иксовую программу Xclock и проверим как все это работает на практике.

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Рис. 3 Установка параметров соединения в сессии X11.

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Рис. 4 Сетевой след соединения X11 в WireShark.

То же самое и во всех подробностях можно увидеть в tshark в текстовом формате. Так выглядит клиентский запрос X11 в сторону сервера.

Пакет с ответом со стороны X-сервера совсем не так лаконичен, в нем указаны все необходимые детали для форматирования графического вывода на экран.

▍ Удаленное подключение к X-серверу по ssh

Переходя от теории сетевых взаимодействий X Window System к практике, рассмотрим, как запустить графическое приложение на уделенном X-сервере при подключении по ssh.

/.Xauthority y. Если все нормально, то файл уже создан и проверка показывает на наличие MAGIC COOKIE.

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Рис. 5 Собственно xclock, значит удаленные иксы настроены и работают.

Я стараюсь по мере возможности тестировать сеанс Wayland при каждом новом релизе KDE Plasma, несмотря на многочисленные улучшения с каждым разом, на версии kde-apps-21.04.3 работать можно лишь на Plasma-X11. В чем бы не состояли преимущества Wayland, до тех пор пока в терминале зависает команда man, хаотично прыгают элементы ниспадающего меню и блуждает внешний монитор, старый и добрый X Window System остается вне конкуренции. Надеюсь так не будет продолжаться долго.

Источник

Жизнь в консоли: устраиваемся поудобней

X11 common что это. Смотреть фото X11 common что это. Смотреть картинку X11 common что это. Картинка про X11 common что это. Фото X11 common что это

Как я и обещал, начинаю выкладывать статьи про работу в консоли в Ubuntu, правда, с некоторым запозданием. В них постараюсь максимально доходчиво объяснить как превратить старые (как ОЧЕНЬ, так и не очень) компьютеры во вполне полезные машины, на которых можно было бы смотреть видео, слушать аудио и бороздить просторы интернета, не используя при этом графическую подсистему Linux. И первое, с чего мы начнем, это обустройство нашей консоли: сделаем ее более красивой и удобной.

Отключение загрузки графического режима при старте компьютера

Эта глава для обладателей очень древнего железа, работать на котором в графическом режиме тяжело или практически невозможно, ну или для конкретных извращенцев и любителей ретро =). Для начала поставьте утилиту для редактирования списка служб, запускаемых при старте системы:

sudo apt-get install rcconf

Ищем x11-common и снимаем галочку. Пользуясь случаем можно отключить и некоторые другие службы для ускорения работы, я об этом писал в этой статье.

Настраиваем разрешение в GRUB и консоли

Итак, лезем в файл /etc/grub.d/00_header (можно вот так: ALT+F2, «gksu gedit /etc/grub.d/00_header«). Ищем строку:

и добавляем/редактируем строчки, касающиеся видео-режима так, чтобы получилось нечто вроде моего варианта:

Обратите внимание, что если у вас разрешение не 1280×1024, то и циферки надо поменять на соответствующие, например на 1024×768. В этих файлах надо быть предельно осторожным. x24 означает глубину цвета. Можно например сделать 16 или 8 (это будет 256 цветов).

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

С разрешением GRUB 2 разобрались, сохраняем файл, открываем следующий: «/etc/grub.d/10_linux», не забываем сделать резервную копию. Здесь ищем строчку:

И в следующей за ней делаем нечто похожее на:

Мышь в консоли

Чтобы почувствовать себя совсем как дома, нам необходима мышь, к которой мы так привыкли за эти долгие годы. Установить ее в консоль крайне просто, достаточно поставить всего один пакет:

sudo apt-get install gpm

А затем перезагрузиться. Можно и не перезагружаться, а запустить в первый раз службу руками:

sudo service gpm start

Пошевелите мышкой. да! Вот она, родная!

Файловый менеджер

Что еще для счастья надо? Конечно же удобный файловый менеджер!

sudo apt-get install mc

И запускаем командой mc, у опытных компьютерщиков наверняка слезы накатятся от нахлынувших эмоций: нет, это не старый добрый Norton Commander, это не такой старый, но зато современный и еще более добрый файловый менеджер Midnight Commander! Да еще и с мышкой, какая прелесть =).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *