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 что это. b4f968394badd0835df3da923db2c394. X11 common что это фото. X11 common что это-b4f968394badd0835df3da923db2c394. картинка X11 common что это. картинка b4f968394badd0835df3da923db2c394

Немного не то я ожидал увидеть если честно)) Начал разбираться, и оказалось, что 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 что это. 7e602a8e86b2982fbbc440fa2f5d48fa. X11 common что это фото. X11 common что это-7e602a8e86b2982fbbc440fa2f5d48fa. картинка X11 common что это. картинка 7e602a8e86b2982fbbc440fa2f5d48fa

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

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

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

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

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

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

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

X11 common что это. 7b388910853384d53d76e0a79d12bcad. X11 common что это фото. X11 common что это-7b388910853384d53d76e0a79d12bcad. картинка X11 common что это. картинка 7b388910853384d53d76e0a79d12bcad

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

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

Источник

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

X11 common что это. wcwpqb pcumalfntuw 9isd2jfo. X11 common что это фото. X11 common что это-wcwpqb pcumalfntuw 9isd2jfo. картинка X11 common что это. картинка wcwpqb pcumalfntuw 9isd2jfo

Есть две технологии в ИТ, которые казалось должны были исчезнуть на рубеже прошлого века, но их живучесть и удобство раз за разом отодвигает их уход со сцены. Речь идет об 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 что это. image loader. X11 common что это фото. X11 common что это-image loader. картинка X11 common что это. картинка image loader

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

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

X11 common что это. image loader. X11 common что это фото. X11 common что это-image loader. картинка X11 common что это. картинка image loader

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

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

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

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

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

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

X11 common что это. image loader. X11 common что это фото. X11 common что это-image loader. картинка X11 common что это. картинка image loader

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

X11 common что это. image loader. X11 common что это фото. X11 common что это-image loader. картинка X11 common что это. картинка image loader

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

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

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

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

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

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

X11 common что это. image loader. X11 common что это фото. X11 common что это-image loader. картинка X11 common что это. картинка image loader

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

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

Источник

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

X11 common что это. 1954f5c4cac9a7793293c83c3e39a82c. X11 common что это фото. X11 common что это-1954f5c4cac9a7793293c83c3e39a82c. картинка X11 common что это. картинка 1954f5c4cac9a7793293c83c3e39a82c

Как я и обещал, начинаю выкладывать статьи про работу в консоли в 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 не будет опубликован. Обязательные поля помечены *