Ресурсы для программирования Linux X-Server - PullRequest
1 голос
/ 25 февраля 2012

Есть ли какие-нибудь вещи, которые легко получить? Желательно бесплатно, так как у меня сейчас нет денег, чтобы тратить.

Что я пытаюсь выполнить

По сути, я пишу мультиплатформенное приложение на нативном C / C ++, и теперь, когда у меня установлен Linux, я чувствую, что я действительно готов начать «мультиплатформенную» разработку. Прежде чем кто-либо скажет «использовать SDL» или «Qt», обратите внимание, что я делаю это для приложения, с которым планирую выйти в коммерческую эксплуатацию (Qt стоит денег для коммерческих приложений). Хотя SDL хорош, я также хочу узнать о оконных менеджерах в целом. Мне кажется, что лучший способ научиться напрямую взаимодействовать с операционной системой - это написать приложение самостоятельно.

Итак, есть ли ресурсы?

Ответы [ 2 ]

3 голосов
/ 25 февраля 2012

Прежде всего, X-Windows не имеет ничего общего с Linux.

X-Windows - это и графический протокол, и система графического интерфейса, построенная вокруг него.X работает на большинстве операционных систем, включая Windows и Mac.Наиболее типичным сценарием является запуск приложения X на многопользовательском компьютере под управлением ОС UNIX-типа (например, Linux) и взаимодействие пользователей с ним с помощью X-сервера, который работает на X-терминале или на рабочем столе.ОПЕРАЦИОННЫЕ СИСТЕМЫ.X-сервер является стандартным компонентом X-System.Если вы установите X-Server в Windows, вы сможете взаимодействовать с графическими приложениями, запущенными на одном или нескольких других компьютерах.

Похоже, вы хотите сосредоточиться на создании приложений X, а не на драйверах устройств.или сервер или любая другая часть X-системы.Linux такой же хороший выбор, как и любой другой, но книги и документы, которые вам нужны, скорее всего, написаны с использованием Solaris или BSD UNIX.Но это тот же API.

Поскольку X широко распространен по крайней мере с начала 90-х, ищите книги в подержанных магазинах и в университетских беспорядочных распродажах.Реклама в Craigslist для книг, связанных с X.

API самого низкого уровня для X называется Xlib.Наборы инструментов, такие как GTK и QT, многоуровневые, поэтому изучение их кода - хороший способ научиться делать что-либо.Но есть также нечто, называемое X-Toolkit, которое работает над Xlib и используется в качестве базового уровня для GUI-инструментариев, таких как Motif и другие.На вашем месте я бы начал с X-Toolkit, чтобы ознакомиться со всеми компонентами X и их взаимодействием.Например, вам потребуется некоторое время, чтобы привыкнуть к тому факту, что диспетчер окон, который управляет окнами на дисплее X-сервера, не работает на X-сервере, а работает в удаленной системе.Или что у вас могут быть приложения, работающие на Linux и OS / X, и Solaris, все из которых отображают свои окна на X-сервере в одном окне Windows.

Встроенные функции Google X Toolkit для получения всех видов информации, включая бесплатные справочные руководства.

Когда вы узнаете больше об этом, вы столкнетесь с множеством других уникальных терминов, которые вы можете использовать в Google, чтобы получить дополнительную информацию и более широкую перспективу.Не тратьте слишком много времени на старые наборы инструментов, такие как Athena Widgets или Motif.

Поскольку в первые дни Интернета было больше людей, программирующих X, чем сегодня, часто задаваемые вопросы по USENET по-прежнему являются хорошим источником вводных советов.Например, http://www.faqs.org/faqs/Xt-FAQ/

2 голосов
/ 25 февраля 2012

Вы можете написать свое приложение как сервер на языке C. Назовите его Engine .Не нужно думать о пользовательском интерфейсе.После этого вы можете создать интерфейс в Qt.Протокол связи будет общедоступным (или частным), а ваше приложение Qt будет открытым.Позже, если вам нравится, вы можете создать гораздо больше интерфейса для вашего приложения.Такие как веб-интерфейс, интерфейс Gnome, интерфейс C # .NET и т. Д.

...