Как сделать оболочку linux
Сегодня попробовал GNOME 3 и меня дернуло на такой вопрос. Что-то нигде не найду русифицированной информации по этому поводу. Под вечер уже не то физическое состояние в сравнении с утренним поэтому не могу продолжать поиск. Завтра попробую забугорные источники. Предположив, что я их не найду хочу узнать: возможно ли создать, хотя бы простенький интерфейс или это сравнимо написанием своей ОС по времени? Вдруг кто-то уже рассматривал эту «отрасль».
Заранее благодарен.
IceWM полностью соответствует i18n и поддерживает работу с русским языком.
3,7 МБ в распакованном виде. Вот дополнение — Xorg — сервер. Он применяется как сервер к клиенту IceWM.
То бишь, если писать всё, то это 20 лет для 2-3 программистов, чтобы что-то путёвое получилось. Причём реализуя только самый минимум.
Если делать также на основе Xorg, то 10 лет потратишь на парсинг доков и хедеров сорцов. Ещё 10 лет на написание минимального WM.
Это я из расчёта того, что сам пишу 3 простенькие(относительно WM, конечно же ) программы и знаю о чём говорю. А начинать придётся с 3-5 месячного планирования-изучения структуры моников и видях, чтобы не только для себя было и чтобы не закопаться в ошибках недопланирования и переписывания тонн кода.
Спасибо. Остается только ждать. Тогда давайте рассмотрим такой случай. Он немного не по теме. Как терпеть gnome 3 при создании приложение под Linux. На мой взгляд это очень тяжело. Скоро прекратится поддержка Ubuntu 10.04 LTS и все. Придется переходить на другую версию а там Unity или Gnome Shell — не удобно. Брать kde или использовать VIM(Возможно, это хороший вариант)? Может на debian как на основную систему взглянуть. Как идти в ногу со временем, не тратя нервы? Просто стоять на месте?
Спасибо. Остается только ждать. Тогда давайте рассмотрим такой случай. Он немного не по теме. Как терпеть gnome 3 при создании приложение под Linux. На мой взгляд это очень тяжело. Скоро прекратится поддержка Ubuntu 10.04 LTS и все. Придется переходить на другую версию а там Unity или Gnome Shell — не удобно. Брать kde или использовать VIM(Возможно, это хороший вариант)? Может на debian как на основную систему взглянуть. Как идти в ногу со временем, не тратя нервы? Просто стоять на месте?
Не за что. Местами я сильно утрировал, но суть ясна. Когда я работал в KDE, оно ужасно тормозило. Тогда я купил ещё слот оперативы, стало 3 ГБ и отключил своп. Результат был не феноменальным, но отличным — почти 3-оекратное ускорение работы! То бишь своп не юзался, а для чего-то как-бы где-то он что-то с ним делал! 0 МБ был всегда, а ускорение произошло. Потом стало мало. Отключил все визуальные эффекты. Через некоторое время стало опять казаться, что долго работает, так свалил на FreeBSD с KDE и со всеми графическими эффектами. Пока всё устраивает. Если ты и половины многообразия программ KDE не используешь — то смотри на Xfce, LXDE, тот же IceWM. Это я про GNU / Linux Debian.
Linux: строим своё рабочее окружение
Здравствуй мой уважаемый читатель. Этой статьёй я начну цикл, посвященный построению собственного окружения рабочего стола Linux. Не знаю как вы, но я в детстве очень любил разного рода конструкторы и эту любовь, по всей видимости, перенёс на свои современные увлечения. Мой конструктор сейчас — это операционная система Linux и различные электронные компоненты, собранные в единое целое. Если вам тоже нравится делать всё самому, что-то придумывать и с чем-то разбираться, при этом постоянно развиваясь — милости прошу под кат. Итак, приступим.
Прежде всего обозначим цели и задачи. Мы будем строить свой собственный рабочий стол, используя различные готовые программные компоненты. Весь комплект на выходе должен быть лёгким, красивым и функциональным. Linux предлагает нам многочисленные варианты решения одной и той же задачи, вот этим-то многообразием мы и воспользуемся.
Для начала пара слов о том, из каких компонентов состоит то, что мы называем рабочим столом. Базовый функционал работы с окнами (и не только, но сейчас это не важно) предоставляет X server или идущий ему на смену Wayland . Он непосредственно взаимодействует с аппаратной частью (видеокартой) через соответствующие модули (или драйвера). Поверх него работает менеджер окон. От этого компонента зависит то, как будут выглядеть сами окна, их границы, заголовки и декорации. Следующий компонент — композитный менеджер. Он отвечает за прозрачность и тени. Все элементы рабочего стола являются приложениями, запущенными в собственных окнах но не обычных, а с определенными атрибутами. И это логично. Ну зачем, скажите, какой-то панели, виджету или доку нужны декорации окна? Да, вы сделали правильный вывод, окна бывают разные 😉
Все компоненты могут иметь очень разные возможности и, в следствии этого, отличаются аппетитом к ресурсам компьютера, в частности к количеству памяти, производительности процессора и видеокарты. Также на их аппетит влияет включение и выключение различных функций.
Итак, первым в нашем творении компонентом будет менеджер окон. Одним из самых лёгких и гибких в настройке является OpenBox . Его мы и будем использовать. Не важно какой дистрибутив Linux вы используете, вы можете установить несколько различных менеджеров окон. Для Debian — подобных дистрибутивов для установки OpenBox выполним команду:
sudo apt install openbox
Далее делаем logout из вашего текущего окружения, в меню приветствия вводим логин с паролем и выбираем тип сессии openbox .
Что мы видим? Да, серый экран и ничего более. Тем не менее этим сверхминималистичным окружением уже можно пользоваться. Нажимаем правую кнопку мышки в любом месте экрана и видим меню с базовым набором пунктов. Находим в этом меню терминал и запускаем. Отлично, теперь у нас есть нужный инструмент. Для удобства работы в терминале я использую консольный файловый менеджер Midnight Commander, что и вам рекомендую. Установить его можно командой
в терминале набираем команду
В результате будет запущен файловый менеджер. Смотрим на наш домашний каталог. Нас интересует папка .config . В основном все приложения хранят свои настройки в этой папке, в том числе и openbox . Используя стрелки курсора на клавиатуре переместим курсор Midnight Commander на папку .config и нажмём клавишу ENTER . Мы вошли в каталог и попутно начали учиться использовать файловый менеджер mc (если, конечно, раньше не умели. К стати, он очень похож на FAR в Windows). Теперь перейдём в каталог с именем openbox . Это будет одна из самых используемых нами директорий. Внутри каталога мы видим файл с именем rc.xml . Это и есть конфигурационный файл, в котором openbox хранит свои настройки. Его можно править вручную, но пока мы этого делать не будем, так как у нас есть графическая утилита для конфигурирования openbox . Ищем её в меню по правому клику мыши или просто пишем команду в терминале:
obconf
Графическая среда, как сделать?
Доброго времени! Интересует вопрос создания графической среды для linux. Интересно есть ли какие-нибудь мануалы или книги? Не спрашивайте зачем. Это просто для себя. Я бы хотел, чтобы те кто знает отписались по теме. Заранее спасибо!
Что есть графическая среда? Ты имеешь ввиду ДЕ? Или ВМ? Или ты вообще собрался новые иксы писать?
убиват. одних(не считая недо-поделок) достаточно
Книг нет. Начните с изучения lxde и razor-qt.
1. Учимся выводить точки на фреймбуфер.
2. Учимся выводить текст на фреймбуфер.
3. Пишем абстракцию системы рисования от фреймбуфера.
4. Учимся обрабатывать мышку.
5. Пишем вывод курсора с обработкой мышки.
6. Пишем простые классы для окон.
7. Пишем перетаскивание окон мышкой.
8. Пишем простой графический интерфейс.
9. Выкидываем все и переписываем заново, но лучше и более гибко.
вопрос создания графической среды для linux.
Я слышал, что они уже есть.
Мне почему-то кажется, что он имел в виду IDE.
Если под «графической средой» подразумевается создание иксовых программулин, то на выбор есть всякие GTK, Tk, Qt, motif и т.п. Все мануалы есть в интернете. Книг почти нет, да и не нужны они по большому счету, т.к. устаревают еще во время печати.
«Каникулы?» Ну конечно) Я просто не мог не задать вопрос. На каникулах все школьники на ЛОР заглядывают, не так ли?)) Правда почему-то мой друг Денис не заходит(((
Имеется ввиду не ИДЕ, а что-то типа Кеда или Гнома. note173, спасибо,єто и вправду ценная информация. Можно будет нагуглить по ‘этому поводу. AITap, и вам спасибо огромное, тоже буду гуглить.
«Я слышал, что они уже есть.» Да ну? Правда что-ли? А вообще просто хочу чего-то очень нестандартного для себя. Я в основном программирую в вебе, делфях, бейсик, учу с++ и джаву. Поэтому и спрашиваю в каком направлении двигаться.
Я в основном программирую в вебе
Тогда есть смысл сконцентрироваться на веб-приложениях.
dwm у него вообще только 1 файл, и он не превышает 2000 строк.
Если нужны кресты, то смотри на fluxbox.
В dwm хоть строк мало, но для изучения он не очень хорош. Там не очень мнемонический код, хотя если есть желание
PS: Запилите мне в dwm titlebar в плавающем режиме
SEVI
Интересует вопрос создания графической среды для linux.
вместе с иксами идут Over9000 мелких, и никому ненужных приложений (типа xclock), уверен, их сделали специально для вас.
Если нужно что-то типа кде или гнома, то на самом деле все проще, но нужно разбираться в запутанном протоколе иксов, это очень скучно и интерес быстро пропадет.
Предлагаю другое: есть бэкэнд broadway для gtk3, который отправляет картинку окна в клиент на html5(canvas) по протоколу VNC. Ничего серьезного пока с этим не сделали, хотя уже работает. Можно попробовать реализовать веб-менеджер с возможностью запуска программы на удаленной машине и удаленного управления приложениями. Получится что-то вроде jolicloud, только с полноценным настольным софтом.
мой тебе совет — http://razor-qt.org — скачай исходники этой среды и развивай ее, она написана на Qt, если ты хочешь нестандартную DE и накрутить что-то свое, то razor-qt подходит больше всех ИМХО
1. Учимся выводить точки на фреймбуфер.
2. Учимся выводить текст на фреймбуфер.
3. Пишем абстракцию системы рисования от фреймбуфера.
4. Учимся обрабатывать мышку.
5. Пишем вывод курсора с обработкой мышки.
6. Пишем простые классы для окон.
7. Пишем перетаскивание окон мышкой.
8. Пишем простой графический интерфейс.
9. Выкидываем все и переписываем заново, но лучше и более гибко.
9. Выкидываем все и пользуемся уже написаным готовым ДЕ, ибо оно «лучше и более гибко.»
//починено во имя справедливости.
По сабжу: рекомендуют читать исходники ЛХДЕ и xfce4.