Как работают серверные расширения в X? - PullRequest
0 голосов
/ 14 апреля 2009

Давайте рассмотрим пример. Когда я бегу:

xkbprint $ DISPLAY keyboard.ps

что происходит в системе? Я хотел бы знать, как на самом деле работает X, потому что я регулярно получаю неприятные сообщения об ошибках, такие как

Неустранимая ошибка: невозможно загрузить геометрию для / tmp / launch-NawGIk /: 0

             Exiting

Я знаю, что X11 был разработан таким образом, что его легко расширять. Но как? Как работает протокол X11? Как работают расширения X?

Ответы [ 2 ]

4 голосов
/ 14 апреля 2009

Что бы ни случилось, я почти уверен, что это не будет тем, что вы ожидаете.

Синтаксис xkbprint (1 ) равен

$ xkbprint sourcefile destfile

и sourcefile должен быть скомпилированным файлом xkb. $DISPLAY собирается разрешить что-то вроде mymachine:0.0, что не очень разумное имя файла.

На самом деле, поскольку вы работаете с Mac, он повторяет именно то, что он видит: /tmp/launch-NawGIk/:0 - это специальная магия OS / X, позволяющая launchd запускать X-приложения. Сообщение об ошибке означает, что он не находит геометрию или отображение в этом файле . Что неудивительно, поскольку в нет файла с именем `/ tmp / launch-NawGIk /: 0

Попробуйте прочитать справочную страницу и посмотрите, не повезет ли вам больше с откомпилированным файлом .xkm.

В более общем смысле, если вы хотите начать знакомство с X, попробуйте эту статью .

2 голосов
/ 25 мая 2009

Man xkbprint говорит:

Командир xkbprint генерирует печатный или инкапсулированный PostScript описание клавиатуры XKB описание указано источником. источником может быть любая скомпилированная раскладка (.xkm) файл, который включает геометрию описание или X дисплей спецификация.

Как указал Чарли Мартин, xkbprint неправильно использует ваш $ DISPLAY в качестве имени файла. Попробуйте указать более точное отображение, чтобы избежать двусмысленности с именем файла. Попробуй man xhost. Может быть, простая «: 0» решит проблему?

...