тонкие вопросы с Х-сервером

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

Модераторы: Olej, adminn, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 03 дек 2011, 22:09

Графическая система Х11 - она вещь достаточно капризная:
- это не есть вообще составная часть Linux (как Linux kernel), это совершенно сторонняя к Linux разработка (X11R6 потом Xorg), позже привнесенная в Linux...
- вся система X11 (оконные менеджеры, Х-сервер, его драйверы конкретных нетиповых видеокарт) работает в юзерспейс (не в ядре!), обмен с портами видеокарты производится из пространства пользователя получая привилегии I/O (а IRQ ему не нужны), Х11 вообще не подгружает модулей ядра... (есть там позже доработки сторонние - модули, но это уже сверх Х11 ... и от лукавого ;-) );
- ещё более путает картину то, что драйверы проприетарных видеокарт (NVIDIA & ATI) заружают свои модули в кернелспейс ... для использования особых возможностей (использование GPU);
- наконец то, что Х-система - это сугубо сетевая система ... что необычно для других GUI систем.
- плюс громоздкость и сложность конфигурирования системы, на которую очень сильно накладываются наслоения в виде разных вышестоящих менеджеров (xdm, gdm, kdm)...

И по ней, естественно и в связи ;-) ... - вылезает множество вопросов, часть из них обсуждена в теме виртуальный терминал (vt aka tty). Вопросы.. Но даже эти вопросы:
- там обсуждены не до конца ... только затронуты...
- эти вопросы толком и в явном виде не описаны нигде, ни в техдокументации (Xorg, GNOME, GDM, ...), ни в статьях, ни уж тем более на форумах, блогах и прочей болтологии :lol:

Поэтому имеет смысл вопросы по Х, попутно вылезшие в теме виртуальный терминал (vt aka tty). Вопросы., продолжить на дальнейшее обсуждение в новой отдельной теме ... вот эта тема - она и есть ;-) .

А вопросы, вынесенные из прошлого обсуждения:

1. можно ли? и как? запустить на едином типовом компьютере (без кучи дополнительных видеоадаптеров) несколько отдельных Х-серверов... и что это даёт?

2. как удалённо использовать Х-сервер (экран, ввод, мышь) хоста LAN A для выполнения X-приложений (клиентов), выполняющихся на LAN хосте B?... и как это наилучшим образом настроить? как использовать сетевую природу протокола Х?

А попутно сюда же добавлять другие, совсем неочевидные, вопросы относительно Х. Пример таких вопросов у меня:

3. мультиэкранные конфигурации... как сконфигурировать в Х работу N (2, 3, 4...) мониторов, так, чтобы один экран был продолжением другого (прорисовка топологий в АСУТП и SCADA, etc.)? и как управлять их (экранов) конфигурациями... потому как 4 монитора можно, по крайней мере, рассматривать в таких расположениях (геометриях):

=scr1= =scr2= =scr3= =scr4=

=scr1=
=scr2=
=scr3=
=scr4=

=scr1= =scr2=
=scr3= =scr4=

P.S. я решал такую задачу в GUI системе Photon OS QNX ... там всё совсем не так тривиально - некоторые видеоадапртеры удаётся запустить для совместной работы, другие - нет... и то - совсем другая GUI система.

4. в продолжение п.2 : а как запустить несколько Х-серверов в компьютере с несколькими физическими экранами?
Последний раз редактировалось Olej 03 дек 2011, 22:45, всего редактировалось 1 раз.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 03 дек 2011, 22:34

Olej писал(а): 1. можно ли? и как? запустить на едином типовом компьютере (без кучи дополнительных видеоадаптеров) несколько отдельных Х-серверов... и что это даёт?
- я, возвращаясь к этому вопросу, так и буду называть его для определённости: вопрос №1.

Там, в исходной теме, я писал:
Olej писал(а): Здесь я ошибся!
Вы можете спокойно перейти в свободную (!) N-ю консоль по <Ctrl><Alt><FN>, залогониться там (не обязательно как root?) и выполнить:

Код: Выделить всё

[olej@nvidia ~]# Xorg :1

А теперь возвращайтесь в X11 и там:

Код: Выделить всё

[olej@nvidia ~]$ ps ahx | grep Xorg
13037 tty8     Ss+    0:13 /usr/bin/Xorg :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-df5fML/database -nolisten tcp
15674 tty7     Ss+    0:00 Xorg :1
15828 pts/9    S+     0:00 grep --color=auto Xorg
[olej@nvidia ~]$ DISPLAY=:1; xterm
...
Очень характерный результат! :
1. вы получили новый дополнительный (:1) дислей X11 ... новый X-сервер
2. можете запускать там приложения ... в показанном xterm будут вводиться и отрабатываться консольные команды...
3. НО! в этом эксперименте у вас есть новый Х-сервер, но нет над ним никакого оконного менеджера (хотя бы простейшего twm) - ваши окна приложений (xterm) не имеют рамок, органов управления (закрыть, развернуть, свернуть...), не могут перемещаться по полю экрана - все эти функции обеспечивает оконный менеджер, который совершенно независим от X-сервера...
Продолжим этот эксперимент:

- в текстовой консоли (<Ctrl><Alt><F5> для определённости):

Код: Выделить всё

[olej@nvidia ~]# Xorg :3
...
где-то в обсуждениях, очень неопределённо, высказывалось мнение, что делать это нужно от root ( :?: ), я ничего (пока) не могу сказать на этот счёт, а экспериментировать (пока) не хочется...

- теперь возвращаемся в свой родной GNOME (<Ctrl><Alt><F1> - это Fedora 14, у вас могут быть другие консоли):

Код: Выделить всё

[olej@nvidia 01]$ who | grep tty
root     tty5         2011-12-03 20:28
olej     tty1         2011-12-03 17:23 (:0)
[olej@nvidia ~]$ ps ahx | grep Xorg
 2024 tty1     Ss+    2:46 /usr/bin/Xorg :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-2v9A9i/database vt1
 4732 tty7     Ss+    0:02 Xorg :3
 5162 pts/2    S+     0:00 grep --color=auto Xorg
Х-серверов у меня 2: 0-й (исходный, запускаемый GDM при старте GNOME ... то, что дистрибьюторы наконфигили ;-) ) & 3-й (нелегитимный :-o , запущенный из командной строки + не имеющий оконного менеджера ... да и ничего другого сверх Х-сервера); статически они присутствуют - будут ли работать???

- из графического терминала исходного GNOME командой запускаю Х-приложение для сервера :3 ... но не какое-попало приложение, а именно один из (минимальный) оконных менеджеров! :

Код: Выделить всё

[olej@nvidia init.d]$ DISPLAY=:3 twm
bash: twm: command not found...
Установить пакет 'xorg-x11-twm' предоставляющий команду 'twm'? [N/y] 
 * Выполнение.. 
 * Разрешение зависимостей.. 
 * Ожидание авторизации.. 
 * Ожидание в очереди.. 
 * Разрешение зависимостей.. 
 * Загрузка пакетов.. 
 * Проверка изменений.. 
 * Установка пакетов.. 
 * Сканирование приложений.. 
twm: warning: font for charset MICROSOFT-CP1251 is lacking.
twm: warning: font for charset MICROSOFT-CP1251 is lacking.
twm: warning: font for charset MICROSOFT-CP1251 is lacking.
twm: warning: font for charset MICROSOFT-CP1251 is lacking.
twm: warning: font for charset MICROSOFT-CP1251 is lacking.
twm: warning: font for charset MICROSOFT-CP1251 is lacking.
- на этом компьютере у меня менеджера twm пока не установлено, но он доустанавливается из сетки и запускается...

- а теперь я отправляюсь в ещё один виртуальный терминал (3-й по счёту ;-) ) - <Ctrl><Alt><F7> ... (почему 7? потому, что у меня сконфигурированных консолей по дефаулту - 6, а я в команде Xorg не указывал явно "на каком" ... а можно ;-) )
По нажатию левой кнопки мышки, как и положено в twm, открывается меню приложений, я выбираю xterm, а уже из xterm запускаю скринсейвер GNOME (это на картинке видно):
twm.png
(7.38 КБ) 15582 скачивания
P.S. Что я, в итоге, здесь показал?
1. работают 2 независимых Х-сервера, на виртуальных терминалах <Ctrl><Alt><F1> (:0) и <Ctrl><Alt><F7>(:3)
2. каждый из них работает со свои, различающимися оконными менеджерами: GNOME и twm, соответственно...
3. с отрисовкой понятно ... но каждый из них работает независимо с вводом: и клавиатурой и мышью: вводятся консольные команды, передвигаются окна по экрану...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 04 дек 2011, 20:51

Olej писал(а): буду называть его для определённости: вопрос №1.
Ладно с ним, с вопросом №1 ... хотя он до конца не разобран, и к нему будет время вернуться...

А вот вопрос №2 - ещё интереснее:
Olej писал(а): 2. как удалённо использовать Х-сервер (экран, ввод, мышь) хоста LAN A для выполнения X-приложений (клиентов), выполняющихся на LAN хосте B?... и как это наилучшим образом настроить? как использовать сетевую природу протокола Х?
Причём вопрос не праздный, и не из пустого любопытства...
Потому как он, может быть, и не так жизненно важен ;-) а). конечным пользователям, для которых в контр-страйк полабать ... б). администраторам серверов и сетей, для которых поддерживать в работоспособности корпоративные сети ... но меня не сильно занимают проблемы как тинейджеров-геймеров, так и системных администраторов...

Этот вопрос сильно интересен разработчику: систем, программ, в том числе разработчику систем embdded. На этой базе можно:
- строить рабочие места (рабочие окружения, стенды) для а). написания б). компиляции в). запуска г). отладки новых приложений...
- когда программа отрабатывается для хоста В (таргет), а все результаты рассматриваются на хосте А (хост)... а В может быть:
- другой ОС: Solaris, например... (мне так приходилось отрабатывать реальный проект)
- и другой аппаратной архитектурой: SPARK
- или малой архитетурной формой ;-) : ARM, MIPS (мне такой проект приходилось консультировать и помогать)
- для которой архитектуры у вас просто нет компилятора на вашем десктоп Linux (меня удивляет, что пользователи начитавшись о многих архитектурах, поддерживаемых gcc - твёрдо верят, что их gcc может компилировать ARM, MIPS, ... - это он потенциально может, но для этого его нужно самого скомпилировать под ту архитектуру!)
- и те малые архитектуры (kit-ы) могут просто не иметь достаточно ресурсов, чтобы запустить собственную Х-систему (недавно присутствовал на таком проекте)...
- или просто не иметь видео-аппаратуры для поддержки GUI-отображения ... а всё остальное иметь.

То-есть задача удалённого Х11 - архиважная!
(куда важнее, чем, скажем, SAMBA, о которой много пишут, но которая, по большому счёту, никому и на хрен не сдалась... :-? )

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 04 дек 2011, 21:11

Olej писал(а): А вот вопрос №2 - ещё интереснее:
Olej писал(а): 2. как удалённо использовать Х-сервер (экран, ввод, мышь) хоста LAN A для выполнения X-приложений (клиентов), выполняющихся на LAN хосте B?... и как это наилучшим образом настроить? как использовать сетевую природу протокола Х?
Я знаю 3 принципиально разных решения задачи удалённого использования Х11 (каждый хорош для своих целей). В порядке от "простого к сложному" и по мере возрастания функциональности и возможностей (за простоту всегда надо платить ;-) ) они выглядят так:

1. это использование VNC - Virtual Network Computing.
В частности такого пакета как TeamViewer.
Я даже отдельную тему завёл, подробнее: VNC : TeamViewer - чтобы здесь не засорять...

Идея здесь состоит вообще в удалённом разделении всего экрана по специальному сетевому протоколу RFB (remote framebuffer).
Иногда это может быть достаточно:
- для обучения, например, для демонстрации через проектор всех телодвижений в компьютере;
- для демонстрации ПО (мне таким образом разработчики SCADA RealFlex под QNX из Ирландии детально знакомили с работой с их системой - водя моей мышкой :lol: )

2. использование туннелирования сетевого протокола пользовательского уровня в другой транспортный протокол ... самый известный из таких - SSH, называют ещё TELNET (но очень неуверенно называют - может брешут ;-) - нужно проверять).

3. использования нативных возможностей сетевого протокола Х (сокетного соединения Х-клиента) - без каких-либо промежуточных агентов. Это самый мощный, но и самый сложный в настройке способ.

P.S.
Если кто-то придумает способ сверх названных 3-х - давайте его сюда, хотя бы на уровне голой идеи: "давайте сделаем так..." - я вам его раскручу до реального использования и проверю :!:
Последний раз редактировалось Olej 05 дек 2011, 22:44, всего редактировалось 1 раз.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 04 дек 2011, 21:20

Olej писал(а): 2. использование туннелирования сетевого протокола пользовательского уровня в другой транспортный протокол ... самый известный из таких - SSH, называют ещё TELNET (но очень неуверенно называют - может брешут ;-) - нужно проверять).
Об этом я писал здесь.
Но оно заслуживает более детального изучения.
Итак, чтобы не объясняться долго, и не играться с игрушечными приложениями, сразу берём быка за рога ;-) (это самая распространённая форма запуска Х-клиента через SSH туннель):

Код: Выделить всё

[olej@nvidia ~]$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr F4:6D:04:60:78:6F
          inet addr:192.168.1.9  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::f66d:4ff:fe60:786f/64 Scope:Link
...
[olej@nvidia etc]$ ssh -nfX -l olej 192.168.1.22 /opt/oracle/solstudio12.2/bin/sunstudio
olej@192.168.1.22's password: 
...
SolarisStudio.png
(32.83 КБ) 15573 скачивания
Что на картинке?
А на картинке (на ней написано ;-) ) IDE Oracle Solaris Studio ... которое ещё до недавнего времени было Sun Solaris Studio... :-o

Что произошло?
- с хоста А (192.168.1.9) запущена интегрированная среда разработки Solaris Studio на таргете (хосте) В (192.168.1.22)...
- в этой среде по дефаулту, например, используется Sun компилятор cc, который во многих случаях генерит заметно производительней код, чем Linux-любимый gcc...
- но не в том главное дело, а в том, что В может работать, как пример, в операционной системе Solaris 11 (Open Solaris) и на процессоре RISC архитектуры SPARK на 8-ми ядрах...
- а я буду спокойно: писать + компилировать + запускать + отлаживать программы на В, работая за экраном своего Linix-привычного хоста А.
- или ... В может быть вообще малой эл. платой на процессоре архитектуры MIPS, у которого вообще может не быть видеоподсистемы, терминальный вывод которого идёт через сериальный порт RS-232...

Сильный ход? :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 04 дек 2011, 22:09

Olej писал(а):(это самая распространённая форма запуска Х-клиента через SSH туннель):

Код: Выделить всё

[olej@nvidia ~]$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr F4:6D:04:60:78:6F
          inet addr:192.168.1.9  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::f66d:4ff:fe60:786f/64 Scope:Link
...
[olej@nvidia etc]$ ssh -nfX -l olej 192.168.1.22 /opt/oracle/solstudio12.2/bin/sunstudio
olej@192.168.1.22's password: 
...
Мне не очень нравится такая самая распространённая форма запуска удалённого Х-клиента (хотя в большинстве публикаций вы найдёте только такую и именно такую форму).
Почему не нравится?
Да потому, что нужно в команде "вслепую" указать (на другом компьютере):
- полный путь файла программы;
или
- полное имя файла программы, если файл лежит в каталогах поиска на путях $PATH.
(и для того, чтобы подсмотреть написание, вам нужно иметь ещё одну открытую сессию SSH).

Но есть более простая форма:

Код: Выделить всё

[olej@nvidia 01]$ ssh -X olej@192.168.1.22
olej@192.168.1.22's password: 
[olej@notebook ~]$ ls $HOME/eclipse
about_files  artifacts.xml  dropins  eclipse.ini   features  libcairo-swt.so  p2       readme
about.html   configuration  eclipse  epl-v10.html  icon.xpm  notice.html      plugins
[olej@notebook ~]$ cd $HOME/eclipse
[olej@notebook eclipse]$ ./eclipse &
[1] 10314
[olej@notebook eclipse]$ 
Чем лучше?
Да тем, что я захожу в сессию SSH в текстовом терминале, могу там выполнять команды, искать, запустить mc ... и только потом заказать и выполнить Х-программу...
EclipseSDK_1.png
(35.29 КБ) 15560 скачиваний
Вот так выглядит IDE Eclipse ... а вот так он сам себя идентифицирует:
EclipseSDK_0.png
EclipseSDK_0.png (51.63 КБ) 18884 просмотра

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 05 дек 2011, 00:12

Olej писал(а): Вот так выглядит IDE Eclipse ...
Ну и последние, чтоб смешнее было, картинки:

Код: Выделить всё

[olej@nvidia ~]$ ssh -X olej@192.168.1.22
olej@192.168.1.22's password: 
[olej@notebook ~]$ cd $HOME/idea-IC-107.105/bin
[olej@notebook bin]$ ls
appletviewer.policy  idea_CE128.png  idea_CE48.png    idea.vmoptions   libbreakgen64.so
fsnotifier           idea_CE16.png   idea.properties  inspect_diff.sh  libbreakgen.so
fsnotifier64         idea_CE32.png   idea.sh          inspect.sh       log.xml
[olej@notebook bin]$ ./idea.sh 
OpenJDK Runtime Environment (IcedTea6 1.8.3) (fedora-43.1.8.3.fc12-i386)
OpenJDK Server VM (build 14.0-b16, mixed mode)
WARNING: You are launching IDE using OpenJDK Java runtime

THIS IS STRICTLY UNSUPPORTED DUE TO KNOWN PERFORMANCE AND GRAPHICS PROBLEMS

NOTE: If you have both Sun JDK and OpenJDK installed
please validate either IDEA_JDK or JDK_HOME environment variable points to valid Sun JDK installation

Press Enter to continue.
...
Это ещё одна интегрированная среда IDE - IntelliJ IDEA, для единообразия уже как-то запускаемых приложений:
IntelliJIDEA.png
IntelliJIDEA.png (60.5 КБ) 18889 просмотров
Там даже видно в разработке простейший проект под Android...
А дальше - запущенный их этой IDE симмулятор Android + запущенное в нём для проверки свеже выпеченное приложение:
MyAvd1.jpg
(44.79 КБ) 15558 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 05 дек 2011, 00:18

... и вот смотрю я на эти 3 одновременно выполняющихся IDE, запущенных на удалённом таргет В, но на отдельных рабочих столах моего Linux ... и оцениваю созданное таким образом рабочее место программиста ;-) :

- а таргеты В таких нескольких Х-приложений могут быть совершенно различными хостами LAN: B1, B2, B3, ...

- а ещё интересно, что поскольку всё это крутится в одном Х-сервере, то я могу выделить фрагмент текста по <Ctrl><C> в одном Х-приложении (находящемся на хосте за 200 метров), и по <Ctrl><V> вкопировать его в окно другого Х-приложения (находящемся на хосте ещё за 200 метров, но в другую сторону), и бегать не надо ... буфер то обмена - общий :lol:

P.S. Замечание вскользь ... попутно вспомнилось: вот то, что я назвал выше "на отдельных рабочих столах моего Linux" - это то, что называется терминологически Х-терминал (ещё одно понятие из Х-технологий). В таком смысле и качестве:
- можно взять "дохлый компьютер"...
- поднять на нём минимальный Linux, но с Х11 системой...
- а дальше подключать его именно как графический терминал отображения ... скажем, к мощным серверам, для управления ними, но так, чтобы не отвлекать их от производительной работы.
(это, в общем то, идея, с которой многие-многие годы носилась фирма Sun Microsystems, откуда и их технология Java выросла ... "сетевой компьютер" в терминологии Sun; но так и не дождалась - была с потрохами куплена Oracle ... всего за год-два до того, как массово пошли в раскрутку clouds вычисления, которые грозятся похоронить и десктопы, и Linux ... и Х11 ;-) ) .
Последний раз редактировалось Olej 05 дек 2011, 00:40, всего редактировалось 1 раз.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 05 дек 2011, 00:31

Olej писал(а): 4. в продолжение п.2 : а как
А ещё меня занимало бы (вот и вопрос №5 возник ;-) ), если мы говорим о не совсем очевидных вещах, связанных с Х11:
5. если, как утверждатеся в X Window System Х11 благополучно развивается (был предложен) с 1984 года (за 7 лет ещё до придумывания только слова Linux :-o ), то есть ли реальные альтернативные GUI-системы, идущие на смену Х11, могущие заменить Х11???
Хороший вопрос? ;-)
P.S. там же, рядом с названной ссылкой, есть отсылка к статье Графический интерфейс Linux, В.Костромин ... на этом вот сайте, который вы сейчас читаете ;-) : вполне прилично о Х11.

Но возвращаясь снова к вопросу №5 ... вот здесь есть главка Конкуренты X
В UNIX-подобных операционных системах для вывода графики почти повсеместно используется X Window System. Тем не менее, история знает несколько попыток создания альтернативы или замены X. Среди них: NeWS компании Sun Microsystems, не завоевавшая популярность на рынке, и Display PostScript компании NeXT, которая впоследствии превратилась в Apple Aqua для Mac OS X.
Производились и попытки решить проблемы X путём полной её замены; в том числе — проекты Berlin/Fresco и Y Window System. Однако эти проекты не получили практически никакого распространения. На данный момент имеется развивающийся проект, направленный на снижение системных требований — MicroXwin.
Другие конкуренты пытаются избежать накладных расходов, возникающих в X, путём работы непосредственно с аппаратным обеспечением. Примерами таких проектов являются DirectFB и очень маленький FBUI. Механизм Direct Rendering Infrastructure (попытка создать надёжный ядерный интерфейс к видеобуферу) может сделать эти проекты ненужными.
Есть и другие способы добиться сетевой прозрачности графических служб:
VNC (Virtual Network Computing) — очень низкоуровневая система, которая пересылает сжатые растровые изображения по сети. Реализация для UNIX включает в себя X-сервер.
Citrix MetaFrame — подобный X продукт для Microsoft Windows.
Tarantella, Inc. — компания, поставляющая Java-клиент для использования в веб-браузерах.
Технология NX NoMachine — узкополосный протокол для удалённых дисплеев.
SVG Terminal[7] — протокол для обновления SVG-содержимого в веб-браузере в почти реальном времени.
Из всего здесь написанного всерьёз можно упоминать только о Apple Aqua для Mac OS X.

Совершенно естественно, что лёгкий GUI (не X11) нужен и в интересах разработчиков промышленного и встраиваемого оборудования.
Я сам работал с 2-мя такими GUI, разработанными для OS QNX (мало известными за пределами этой OS):
- QWindow - широко применявшаяся в системе QNX 4.X и вообще в QNX ... примерно до 2000-2004г.г.; грубоватая система низкого разрешения.
- Photon - нынешняя система лёгкого GUI под QNX - это "блестящая" система как по своей идеологии (модели отображения), так и по исполнению (объектно-ориентированный проект в "чистом" С) ... но там используются чисто QNX механизмы клиент-серверной OS, которые не перенесёшь на другие системы.

Публикации об альтернативных X11 системах GUI появляются с завидной регулярностью ... вот один из свежих переводов и здесь на сайте - http://rus-linux.net/nlib.php?name=/MyL ... indow.html: Жизнь "после X"
Оригинал: "LPC: Life after X"
Автор: Jonathan Corbet
Дата публикации: November 5, 2010
Но сколько мне не попадалось (за годы!) публикаций на эту тему, не оставляет ощущение, что всё это написанное - полный бред :twisted:

Куда интереснее то, как это (графическая отрисовка) производится в мобильных средах, тех, которые обещают очень серьёзно потеснить десктопный Linux во многих средах приложения: мобильные планшеты с Android, E-Book ридеры с E-ink экранами ... Основой и там и там является ядро Linux.
Только 2 дня назад менял шрифты на Linux E-Book (Amazon Kindle 4), но так до сих пор и не понял как это у меня получилось! :mrgreen:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: тонкие вопросы с Х-сервером

Непрочитанное сообщение Olej » 05 дек 2011, 03:49

Olej писал(а): Продолжим этот эксперимент:

- в текстовой консоли (<Ctrl><Alt><F5> для определённости):

Код: Выделить всё

[olej@nvidia ~]# Xorg :3
...
... это я снова перепрыгиваю-возвращаюсь к вопросу №1 ... но на совершенно другом компьютере (где раньше с этим возникали как-то проблемы):

Код: Выделить всё

[olej@notebook ~]# xinit -- :3
[olej@notebook ~]$ who | grep tty
root     tty5         2011-12-05 02:16
olej     tty1         2011-12-04 12:55 (:0)
[olej@notebook ~]$ twm -display :3
...
Это практически то же самое, что и с командой X или Xorg, но:
- скрипту xinit можно передать больше дополнительных параметров...
- он при старте выполняет свой начальный сценарий $HOME/.xinit ... например по типу того, что прописан в man xinit:

Код: Выделить всё

xterm -g 80x24+0+0 &
xterm -g 80x24+0-0 &
twm
twm-xterm.png
twm-xterm.png (3.86 КБ) 18892 просмотра
Здесь мне показалось интересным то, как в дополнительном Х-сервере :3, под минималистским менеджером twm, для сохранения скриншота xterm запускается (командой из того же xterm) приложение KDE / Qt - ksnapshot... + как отрабатывается выбор имен каталога и сохраняемого файла ... всё работает ОК.

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

Код: Выделить всё

# startx -- :3
startx - из числа традиционных команд старта X11 ... когда это делалось без менеджеров, скажем xdm...
Но как раз такой запуск меня не устраивает (пока): он стартует все скрипты, установленные в моём дистрибутиве (менеджер окон, рабочего стола, запущенных программ...) - а это вовсе не то, что хотелось бы (другой менеджер, другое окружение, ...).

Ответить

Вернуться в «Графические окружения в дистрибутивах»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя