dimbor, вопрос скорее всего к вам. Я начинающий линуксоид, мои знания ограничиваются уровнем смертного пользователя. Я хочю собрать свой FreeNX сервер с блекждеком и шлюхами. В бой готов прям щас, знаю несколько языков программирования. Но вот не знаю с чего начать. Посоветуйте, уважаемый dimbor, что почитать, что по пинать, вокруг чего с бубном попрыгать. В общем посоветуйте как эффективнее всего становиться крутым мегакодером изучать данный продукт.
P.S.Я предпологаю, что сначала мне необходимо научиться собирать исходники под Linux, но и этого я неумею.
Есть желание развивать nx. Как начать? (Отрезано от "Курощения")
Модераторы: dimbor, Модераторы разделов
-
- Сообщения: 28
- ОС: CentOS/Suse/Ubuntu
Есть желание развивать nx. Как начать?
Будьте вежливы и терпеливы. В мире ещё так много людей, для которых компьютер — необъяснимое чудо, а не кусок железа с набором программ.
-
- Ведущий рубрики
- Сообщения: 1570
- Статус: Подвинутый участник
Re: Есть желание развивать nx. Как начать?
Здравствуй, дружок, любишь сказки сопливые?
Видишь, луна путешествует по небу?
Если ты вдруг оторвёшься от пива,
Я, так и быть, расскажу тебе что-нибудь ©
Видишь, луна путешествует по небу?
Если ты вдруг оторвёшься от пива,
Я, так и быть, расскажу тебе что-нибудь ©
В общем, как любила говорить моя любимая учительница: "Умный любит учиться, а дурак - учить."
И написанное ниже следует воспринимать с учетом того, что до мега-кодера мне как до Китая раком. А также то, что объектами подражания в этом плане для меня являются прграммеры Этерсофта, с некоторыми из которых знаком виртуально. И которые в сущности занмаются похожим - только патчат продукт поздоровее. А также для меня являются такой же загадкой истоки их знаний, как для Вас - моего. Только я стесняюсь их об этом спрашивать.

(Не)много словоблудия: требуемые качества - упорство и лень. Упорство в поиске и переборе предполагаемых вариантов решения. Не подходють - поискать и перебрать еще раз на уровне "чуть поглубже". Лень нужна для первоначального поверхностного обследования вариантов. Углубляться сразу - наверняка уйти в сторону от решения к изучению расчудесных левых вещей, да и голова не резиновая. В общем метод последовательных приближений в действии. И еще "от многих знаний многие печали".
С чего начать? С постановки задачи! В чем цель создания более другого сервера? Что не устраивает в поведении существующего продукта? И какого из трех - реализации протокола на сервере/клиенте, менеджмента сессий.
Далее изучение уже имеющихся возможностей, пусть даже не использующихся широкой массой из-за непонимания/кривости реализации.
(Если речь о том, что мы уже выясняли, то скажем, там имеется термин shadow-сессия. Не запуск ли это серверной части x-сервера с какими-нить параметрами ввода/вывода по умолчанию и последующим подключением реального x-сервера. Мне неизвестно - надоть искать информацию.)
В оконцовке окажется, что на написание собственного сервера с нуля в одиночку надо положить жизнь, а она одна. И похожие возможности в том, что уже есть, имеются. И надо их только подтянуть под свои нужды. Согласитесь - проще.
Далее вопрос "как понять", сильно пересекающийся с предыдущим вопросом "что понять". Ответ - "гугель". Т.е. поиск информации, в основном, увы, англоязычной. Перебор кучи фекалий в поисках мелочи, от которой скорее всего потом придется отказаться. Зато то, что позапрошлый раз случайно отложилось в мозге, может "выстрелить" (только найти бы его снова). Короче, куча буржуинских списков рассылки с их буржуинскими же проблемами. И глупые вопросы там тоже есть. И, блин, - глупые ответы.
Еще более далее: Выбор инструмента. Его собственно и нет. Изучается то, на чем написан дописываемый продукт. В случае freenx это (ba)sh. И си - во всем остальном. Надо сказать, побочная цель изучить программирование на си и была одной из причин развития темы "Курощение".
Как учиться собирать под линукс: тяну src-рабочего пакета, доставляю все, что требуется для его пересборки (rpm-build, gcc, ...), добиваюсь его устойчивой сборки. При ошибках гугель, в моем случае что-то типа: "altlinux сборка error бла-бла-бла". Почти всегда оказывалось, что я не первый с такой проблемой. Ну - или похожей.
Далее узнаю, что есть этап компиляции, gcc, makefile, ... и куча документации про это на русском, которую надо только найти в инете.
Потом начинаю изменять что-то, и... начало положено.
А в случае freenx кста все еще проще: источником вдохновения при написании патчей служит только вот эта ссылка, а править файлы для начала можно прям там, где они уже установлены.
Самое главное - как править код: Своего-то кода можно и не писать

Как программить под линукс: Лично _всегда_ задаюсь вопросом, а под винду я это сделал бы как? И что при этом пришлось бы украсть. В подавляющем большинстве случаев приходится выяснять и это. Зато потом сразу становятся ясно видимы различия в API и идеологии, ну и конечно, что windows must die.

Про вопросы на форумах. Вопросы следует задавать в трех случаях:
1) Когда можешь его сформулировать == знаешь больше половины ответа. Как правило, в процессе набирания вопроса остаток ответа находится, и текст приходится стирать - не судьба.
2) Когда спрашиваешь какую-нить конкретную ерунду в "смежной" области, на поиск которой самостоятельно уйдет драгоценное время. А вот эти съели на этом псарню.
3) А устойчив ли глюк ААА при БББ после наложения моего гениального (хм...) патча? Да и вообще: "Сами мы не местные, компьютер пропили. Протестируйте па-а-ажа-алста, что мы написали!"
Перечитал и ужаснулся. А че? Намальна - как спрошено, так и отвечено. Я в пейсатели пойду, пусть меня научат!
-
- Сообщения: 28
- ОС: CentOS/Suse/Ubuntu
Re: Есть желание развивать nx. Как начать?
Спасибо тебе, о Великий. Благодаря вам, я разработал план освоения просторов опенсурса. Начну с того, чтобы просто собрать FreeNX из исходников 
И отдельное спасибо за "Advanced Bash-Scripting Guide".

И отдельное спасибо за "Advanced Bash-Scripting Guide".

Будьте вежливы и терпеливы. В мире ещё так много людей, для которых компьютер — необъяснимое чудо, а не кусок железа с набором программ.