LINUX.ORG.RU
решено ФорумTalks

Разработка ОС для программистов на базе Arch Linux - идёт набор в команду

 , , ,


3

7

Привет всем!

Сейчас идёт такая тенденция: интерфейсы упрощаются, становятся всё более попсовыми.

Те, кто не согласен с этой тенденцией, кто не хочет быть в толпе, которую ведут сами знаете куда, умеет думать и хотят контроллировать систему пишут свои решения. Но посмотрите сколько раз одна и та же проблема была решена множеством людей - просто изучите .dotfiles на GitHub: выбор своих инструментов, настройка буфера обмена, шрифтов, панелей, сочетаний клавиш, редакторов, и др. софта занимает кучу времени.

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

Так дальше нельзя, поэтому решено: быть новому дистру на базе Arch Linux.

Цель: создание удобного открытого диструбутива на базе Arch, где разработчик может всё контроллировать и видеть все процессы, где ничего не скрыто и ничего не остаётся незамеченным, где по всем компонентам ведётся статистика, чтобы разработчик видел, что происходит в системе.

Основные идеи:

* ОС для программистов, никаких компромиссов

* основа - редактор Vim и его сочетания клавиш (конечно в основе Arch и последнее ядро). Для тех, кто использует Emacs, будет возможность переключиться со схемы Vim на схему Emacs, также будет компромиссный вариант, основанный на комбинированном подходе.

* единые сочетания клавиш во всех программах, каждая программа это часть общей идеологии, а не отдельный разрозненный настроенных компонент

* система управления пакетами без изменений - pacman

* оболочка zsh + oh my zsh, для скриптов bash

* используемые и поддерживаемые языки программирования: assembly, bash, c++, clojure, haskell, java, lisp, octave (matlab), perl, php, python, r, racket (scheme), ruby, rust, sql, tex, typescript (javascript)

* сразу из коробки предустановленный софт - лучшие решения из всех найденных

* внедрение machine learning

* отбрасывание всего ненужного (принцип бритвы Оккама (в разумных пределах)).

Вот список софта:

* File manager: mc

* Офис: LibreOffice (альтернативно можно установить OpenOffice, Calligra, GOffice)

* Генерирование паролей: pwgen

* Затирание файлов: wipe, shred * Затирание дисков: nwipe

* Шифрование: cryptsetup, dm-crypt * Хранение паролей: KeePassX

* Диаграммы: Dia, Visual Paradigm, R, Sage?

* Синхронизация файлов: rsync

* Синхронизация и сравнение текста в файлах: meld, (возможно kdiff3?)

* Гипервизор: VirtualBox

* Программы для управления контейнерами: lxc, systemd-nspawn.

* Основной браузер: Firefox

* Вспомогательный браузер: Chromium, Opera, Midori

* Торрент: Transmission

* FTP, SFTP клиент: mc, FileZilla, браузеры, ftp (консольный по-умолчанию)

* SSH: ssh (консольная прога)

* Почта: Thunderbird

* Общение: Skype

* Веб-сервер: Nginx

* Сервер БД: MySQL, Sqlite

* Графовые БД: Neo4j?

* Музыка, фильмы: VLC (MPlayer?)

* Запись аудио: Audacity, PulseCaster

* Поиск дубликатов файлов: fdupes

* Менеджер буфера обмена: autocutsel, но нужна серъёзная доработка

* Desktop Environment: не используется

* Display Manager: не используется

* Window Manager: XMonad

* Основные IDE: IDE на базе IntelliJ IDEA (WebStorm, PhpStorm, PyCharm, и т.д), RStudio, Qt Creator

* Контроль версии: Git

* Основные редакторы: Vim, Light Table (для Light Table нужна доработка)

* Скриншаринг: TeamViewer

* Калькулятор: R или Ipython.

* Органайзер: xmind, Firefox (спец. расширения)

* Эмулятор терминала: urxvt (rxvt-unicode) локально, tmux - удалённо

* Shell: zsh + bash-cкрипты

* Пипетка: gpick

* Таблица символов: gucharmap

* pdf и djvu: qpdfview, zathura, evince?

* epub: evince?

* dvi: evince?

* mobi: evince?

* chm: kchmviewer

* Управление задачами: Taskwarrior

* Растровый редактор: Gimp

* Векторный редактор: Inkscape

* Просмотровщик: nomacs

* Обработка текста: awk, cat, cut, *grep, head, sed, sort, tac, tail, tr, uniq, wc, read

* Disassembler: radare2, capstone, Frida?

* Исследование сети: Wireshark, ss, и ?

* Взаимодействие с Android по MTP протоколу: android-file-transfer

Сайт проекта: https://morpho-os.github.io/

Название дистра: Morpho

Логотип дистра: https://en.wikipedia.org/wiki/Morpho#/media/File:Morpho_didius_Male_Dos_MHNT.jpg

Если вы хотите присоединиться к разработке, пожалуйста пишите сюда. Количество участников команды пока ограничено.



Последнее исправление: ProtoH (всего исправлений: 11)

Ответ на: Also от ProtoH

Есть программа, решающая каждую задачу из списка. Называется пакетный менеджер.

takino ★★★★★
()
Ответ на: комментарий от Deleted

А можно запустить линукс внутри емакса? А емакс внутри линукса внутри емакса?

takino ★★★★★
()

Нормальная тема, на самом деле. Может подключусь, заняться всё равно нечем. Пока не знаю, надо определиться с планами.

raven_cler ★★
()

SSH: ssh (консольная прога)

Проиграл.

paran0id ★★★★★
()

че т херня какая то. Вимом и емаксом (а также другой гиковой лабудой типа mc) ты понтанулся, а в целом довольно мейнстримный набор софта. Даже vlc(!) притянул.

Алсо все это гавно, что ты тащишь, занимает не иллюзорные гигабайты на диске, а среднестатистическому «программисту» половина из этого вообще не нужна.

Алсо х2 наборы дотфайлов разные, потому что человеки разные. 99% пользователей шела не используют цвета для подсветки синтаксиса в консоли, из них примерно половина считает, что это не нужно, я же со своей стороны жить без этого не могу. Внезапно, правда?

tl;dr не взлетит :)

arcanis ★★★★
()
Последнее исправление: arcanis (всего исправлений: 1)

Несколько вопросов касательно выбора софта:

1. Почему именно Xmonad, а не, скажем, чуть более мейнстримный и интересный в плане возможных фич awesome?

2. Почему в качестве органайзера не emacs org-mode или как там эта вимовская штука называлась?

3. Почему для сравнения файлов не использовать всё те же вимовские/емаксовские решения?

4. Почему VLC, почему не какой-то mplayer + какие-нибудь надстройки? В дистрибутиве подобной направленности с таким набором софта было бы логичней.

raven_cler ★★
()

Цель ОС: создание удобной открытой ОС, где разработчик может всё контроллировать и видеть все процессы, где ничего не скрыто и ничего не остаётся незамеченным, где по всем компонентам ведётся статистика, чтобы разработчик видел, что происходит в системе.

Общение: Skype

Это даже не смешно. Вы серьёзно?

th3m3 ★★★★★
()
Ответ на: комментарий от v9lij

Live CD собирать, софт настраивать, установщики, всякие мелочи-расширения самостоятельно писать, конфиги для всего(даже если есть, конфиг личный и более-менее общественный таки разные вещи), всякие оформления-цветовые схемы, актуальное состояние поддерживать, короче, типа чем занять пару-тройку человек вечером под пиво найдётся же.

raven_cler ★★
()

* отбрасывание всего ненужного (принцип бритвы Оккама (в разумных пределах)).

Удивлен, что до сих пор никто не предложил в рамках этого пункта выбросить сам дистрибутив.

* SSH: ssh (консольная прога)

Смиялсо.

YogSagot ★★★
()
Ответ на: комментарий от v9lij

Ну то есть это будет обычная сборка арча с этим софтом, да? Разработчики тебе зачем?

Один я не осилю поднятие целого дистрибутива. Нужны единомышленники и те, кто может помочь.

ProtoH
() автор топика
Ответ на: комментарий от Deleted

Почему GNU Emacs? Потому что F3 C-s : RET C-k GNU Emacs C-n F4 C-5 C-0 F4.

Не включать его значит не учесть всех тех, кто им пользуется, а это многие профессиональные программисты. Подчеркну именно профессиональные.

ProtoH
() автор топика
Ответ на: комментарий от ProtoH

В качестве основного инструмента для всего Emacs кажется не подходит, т.к. не обладает достаточным функционалом, чтобы быть полноценной заменой. Иначе уже была бы Emacs ОС.

ProtoH
() автор топика

Херня ребята. Слишком большой размах фантазии. Но это не значит, что это делать не нужно. В первую очередь, как и везде, нужно определить ЦА. Программист - понятие растяжимое, есть погромисты на пыхпыхе, а есть embedded, кроме того, есть ещё Qt, mono/.NET, Java. О последних - ещё вопрос о кроссплатформенной разработке, с чем сам столкнулся, собрать либы для QtCreator, чтоб компилить сразу под lin/win кое-как удалось, а вот mac пока в планах. Так каких программистов ублажать надо?

Если по теме - для начала стоит запилить сторонний репозитарий с бинарниками. Как пример, посмотреть Unofficial_user_repositories . Там есть репы, которые хостятся на том же sourceforge, но ничего не мешает и на своей VPS поднять. Это (репозитарий) будет продуктивнее и будет виден масштаб работ.

В целом же, ничего не мешает слепить meta-пакеты для комплектации всем необходимым из того, что есть, то есть, в большинстве случаев и пересобирать ничего не надо будет. Начинайте с малого. А там время покажет, может и на уровень дистра выйдете.

nickleiten ★★★
()
Ответ на: комментарий от ProtoH

Но, люди-то осиливают в одиночку собрать свой дистрибутив™ по LFS. А склепать свою сборочку арча любой школьник сможет.

Unicode4all ★★★★★
()
Ответ на: комментарий от Unicode4all

Эмулятор терминала: urxvt (rxvt-unicode) локально, tmux - удалённо

Это как? И, да, tmux — не эмулятор терминала.

Возможно, tmux не нужен локально, т.к XMonad можно настроить так, чтобы не пользоваться tmux.

epub: ?

* dvi: ? * mobi: ? ?????????????

В чем смысл данного проекта, если даже его концепция не определена? Вроде хотите пилить дистрибутив для программистов, а суете всякие виртуалбоксы с гимпами.

Концепция определена. Нужно просто выбрать читалку для этих форматов. Если вы знаете альтернативу виртуалбоксу и гимпу, пожалуйста предлагайте.

ProtoH
() автор топика
Ответ на: комментарий от takino

Есть программа, решающая каждую задачу из списка. Называется пакетный менеджер.

Настраиваете ли вы программы?

ProtoH
() автор топика
Ответ на: комментарий от arcanis

че т херня какая то. Вимом и емаксом (а также другой гиковой лабудой типа mc) ты понтанулся, а в целом довольно мейнстримный набор софта. Даже vlc(!) притянул.

Алсо все это гавно, что ты тащишь, занимает не иллюзорные гигабайты на диске, а среднестатистическому «программисту» половина из этого вообще не нужна.

Алсо х2 наборы дотфайлов разные, потому что человеки разные. 99% пользователей шела не используют цвета для подсветки синтаксиса в консоли, из них примерно половина считает, что это не нужно, я же со своей стороны жить без этого не могу. Внезапно, правда?

tl;dr не взлетит :)

Хочу заметить, что дистрибутив не рассчитан на удовлетворение всех. Это ускоспециализированный дистрибутив, немногим он подойдёт.

ProtoH
() автор топика
Ответ на: комментарий от ProtoH

Подчеркну именно профессиональные.

Я вот не пользуюсь Emacs и даже не понимаю как.

Я непрофессиональный программист?

YogSagot ★★★
()
Ответ на: комментарий от ProtoH

Хочу заметить, что дистрибутив не рассчитан на удовлетворение всех. Это ускоспециализированный дистрибутив, нужен только мне.

fxd

anTaRes ★★★★
()
Ответ на: комментарий от YogSagot

Я непрофессиональный программист?

не пользуюсь Emacs

Да ты вообще не программист!

mandala ★★★★★
()
Ответ на: комментарий от raven_cler

Нормальная тема, на самом деле. Может подключусь, заняться всё равно нечем. Пока не знаю, надо определиться с планами.

Спасибо. В ближайшее время я размещу контакты и способ как можно принять участие.

1. Почему именно Xmonad, а не, скажем, чуть более мейнстримный и интересный в плане возможных фич awesome?

Я пока не пробовал awesome, нужно попробовать его и сравнить с XMonad.

2. Почему в качестве органайзера не emacs org-mode или как там эта вимовская штука называлась?

Я не пробовал Org-mode Emacs, но много где про него читал, изучение Org-mode и внедрение лучшего из него - одна из целей.

3. Почему для сравнения файлов не использовать всё те же вимовские/емаксовские решения?

vimdiff мне кажется не настолько удобным, возможно дело в настройке. diff режим в Emacs нужно будет посмотреть и сравнить с Meld.

4. Почему VLC, почему не какой-то mplayer + какие-нибудь надстройки? В дистрибутиве подобной направленности с таким набором софта было бы логичней.

Нужно сравнить возможности mplayer с VLC и выбрать лучший. VLC, был выбран потому, что из всего, что удалось попробовать, он единственный делал, то что нужно, а именно проигрывал фильмы в любом формате, и делал это неплохо. Как оказалось позже, он может ещё и музыку. Если mplayer подойдёт целям проекта, то можно будет заменить VLC им.

ProtoH
() автор топика
Ответ на: комментарий от YogSagot

Я вот не пользуюсь Emacs и даже не понимаю как. Я непрофессиональный программист?

Ну вы то сами, знаете профессионал вы ли или нет?

Emacs пользуются профессионалы, но заметьте не все профессионалы пользуются Emacs, более того, им могут пользоваться не профессионалы ;)

ProtoH
() автор топика
Ответ на: комментарий от ProtoH

mplayer вроде как проигрывает всё, но не тянет за собой никаких qt. Гуй не нужен.

raven_cler ★★
()

Никогда не набирай так команду. Тут так заклюют, что потом и не захочется.

Ну и да, не нужно.

a1batross ★★★★★
()
Ответ на: комментарий от mandala

Озвычь ЦА ...

дальше читал голосом Лукашенко :)

anTaRes ★★★★
()
Ответ на: комментарий от ProtoH

Нужно сравнить возможности mplayer с VLC и выбрать лучший. VLC, был выбран потому, что из всего, что удалось попробовать, он единственный делал, то что нужно, а именно проигрывал фильмы в любом формате, и делал это неплохо. Как оказалось позже, он может ещё и музыку. Если mplayer подойдёт целям проекта, то можно будет заменить VLC им.

double facepalm

anTaRes ★★★★
()

Убейся

imho самый уместный комментарий.

robot12 ★★★★★
()
Ответ на: комментарий от ProtoH

Emacs пользуются профессионалы, но заметьте не все профессионалы пользуются Emacs, более того, им могут пользоваться не профессионалы ;)

Сегодня в завтрашний день не все могут смотреть. Вернее, смотреть могут не только лишь все, мало кто может это делать.

Профессионалы могут не пользоваться Emacs. Непрофессионалы могут пользоваться Emacs. Но при этом Emacs пользуются профессионалы.

Чет я запутался.

YogSagot ★★★
()

Хочю пресоеденится к команде разработчиков. Я в кино видел много хакерских десктопов, у меня куча идей! Могу компелировать пакеты, в совершенстьве знаю языки C++, Haskel, Djava и C#, шарю в ИИ и юзер интерфейсе. Как мне к тебе пресоеденится?

staseg ★★★★★
()
Ответ на: комментарий от YogSagot

Ах, да!! Я забыл уточнить, что професионально владею Emacs!

staseg ★★★★★
()
Ответ на: комментарий от nickleiten

Херня ребята. Слишком большой размах фантазии. Но это не значит, что это делать не нужно. В первую очередь, как и везде, нужно определить ЦА. Программист - понятие растяжимое, есть погромисты на пыхпыхе, а есть embedded, кроме того, есть ещё Qt, mono/.NET, Java. О последних - ещё вопрос о кроссплатформенной разработке, с чем сам столкнулся, собрать либы для QtCreator, чтоб компилить сразу под lin/win кое-как удалось, а вот mac пока в планах. Так каких программистов ублажать надо?

Основная ЦА это программисты, а именно профессиональные программисты, кто пользуется редактором Vim, Emacs и кто хочет развития их инструментов в виде ОС, кто видит текущие тенденции в IT, это хакеры, гики, спецы по безопасности и др. специалисты в своём деле. В принципе это те, кто пользуется Arch, *BSD, Gentoo. Есть те, кто не пользуется этими редакторами, но хотел бы получить готовую платформу, удобную для разработки, где каждый инструмент, реализуют одну общую идеологию, а не разрозненный компонент, со своими законами.

Если по теме - для начала стоит запилить сторонний репозитарий с бинарниками. Как пример, посмотреть Unofficial_user_repositories . Там есть репы, которые хостятся на том же sourceforge, но ничего не мешает и на своей VPS поднять. Это (репозитарий) будет продуктивнее и будет виден масштаб работ.

В целом же, ничего не мешает слепить meta-пакеты для комплектации всем необходимым из того, что есть, то есть, в большинстве случаев и пересобирать ничего не надо будет. Начинайте с малого. А там время покажет, может и на уровень дистра выйдете.

Да, я обязательно посмотрю как это устроено и что можно из этого сделать для дальнейшего развития.

ProtoH
() автор топика

После прочтения поста есть ощущение, что автор просто не осилил линукс. Ну, или очередной петросян, любящий писать сочинения.

PeaceDuke
()
Ответ на: комментарий от Zaskar

или ТС очередная реинкарнация фрактала

Harald ★★★★★
()
Ответ на: комментарий от ProtoH

единственный делал, то что нужно, а именно проигрывал фильмы в любом формате

Видимо я многого не знаю о работе программиста.

Ghostwolf ★★★★★
()
Ответ на: Also от ProtoH

Зачем для этого городить отдельную ОСь? Почему бы не взять винду, макось, убунту ... и просто накатить нужные программы и не тратить всю жизнь на пиление не пойми чего для хер знает какой цели.

Reset ★★★★★
()

отбрасывание всего ненужного (принцип бритвы Оккама (в разумных пределах)).

При этом у тебя есть Skype и VLC, которые программисту как бы не особо и нужны. А если и потребуются, то можно поставить пакет, ибо настройки ничто из этого не требует.

Ghostwolf ★★★★★
()
Ответ на: комментарий от ProtoH

Основная ЦА это программисты, а именно профессиональные программисты, кто пользуется редактором Vim, Emacs и кто хочет развития их инструментов в виде ОС, кто видит текущие тенденции в IT, это хакеры, гики, спецы по безопасности и др. специалисты в своём деле. В принципе это те, кто пользуется Arch, *BSD, Gentoo

/0

Давай примеры, сестра. Ну кроме себя любимого, конечно. Какому профессиональному программисту понадобится весь этот хл^Wсофт?

arcanis ★★★★
()
Ответ на: комментарий от Kaschenko

готов быть замом, могу вернуть аватарку с бородой!

nerfur ★★★
()
Ответ на: комментарий от ProtoH

Основная ЦА это программисты, а именно профессиональные программисты, кто пользуется редактором Vim, Emacs и кто хочет развития их инструментов в виде ОС, кто видит текущие тенденции в IT, это хакеры, гики, спецы по безопасности и др. специалисты в своём деле. В принципе это те, кто пользуется Arch, *BSD, Gentoo. Есть те, кто не пользуется этими редакторами, но хотел бы получить готовую платформу, удобную для разработки, где каждый инструмент, реализуют одну общую идеологию, а не разрозненный компонент, со своими законами.

К сожалению, я здесь не увидел основной критерий программиста. Вы перечислили редакторы. А это всего-лишь инструмент для работы с текстом. Если это основная задача - тогда не надо приплетать сюда программистов. Если же задача стоит имено создать облегчённый инструмент для программирования, тогда стоит задуматься не о редакторах, а о направлении программирования. Редактор установить - пара команд. В арче настроить рабочую систему не так и сложно. Те, кто программируют сами знают как это сделать или где найти информацию по нужному вопросу. Настройка системы делается один раз, дальше просто работа. И вот в этом моменте вы и можете пригодиться - упрощение установки для разных комбинаций редакторов, IDE, кросс-компиляторов и библиотек только приближает начало работы программиста.

По части «получить инструмент» - настройки редакторов, как правило, бекапятся и переносятся на все системы, где человек программирует, т.к. единообразие облегчает работу. Причём настройки человек может переносить между разными дистрибутивами - vim, он и в африке vim (аналогично с emacs и т.д.).

По части «идеологии» - вот с ней-то и проблема, что такого нового вы хотите привнести в свой дистрибутив, что будет его кардинально отличать от Arch? Последний тоже вырос из простой мысли KISS, в нём не было многого из того, что есть сейчас. При этом к разработчикам дистрибутива всегда, рано или поздно, приходит понимание, что универсального для всех не будет в сфере linux. Будет что-то более популярное, что-то менее популярное, но поддерживать приходится всё. Причём независимо от срачей GNOME/KDE/Awesome/DWM/I3 поддержка должна быть всего, иначе потерять можно самих пользователей системы. Именно так и набирают популярность дистрибутивы.

Conclusion.

Пока Вы будете путать программиста с секретаршей для набора текста, ничего у вас не выйдет. Вы зациклились на понятии «фишка» или «преферансе с куртизанками» по-другому - ничего нового не привнося пытаетесь сварганить дистрибутив с шильдиком «для хакеров», которым нужно производить «Вау-эффект» консольками на одноклассников. Программирование - это не редакторы текста и не только консоль. Некоторые вещи проще писать в консоли, но крупные проекты могут потребовать IDE для ускорения работы или как минимум графические редакторы текста.

nickleiten ★★★
()
Ответ на: комментарий от nickleiten

Хочу прояснить идею. Есть набор программ. Есть даже настроенный набор программ. А есть система. Системе присуща эмердженость. Также в системе есть общие принципы.

Зачем мне это? Я могу продолжать допиливать свою систему и не делиться не чем, возможно это никому и не надо, он этот кто-то будет сидеть и пользовать свой настроенный редактор *. Но дело в том, что так думает большинство. Люди просто не видят, что есть нечто общее, что можно выделить. Я уже писал - попробуйте изучить .dotfiles на GitHub. Сменить шрифт или цвет это не проблема. Но проблема в том, что софт по умолчанию идёт не готовым для работы. Если вас устраивает то, что есть, значит эта тема не для вас (не конкретно вас, а вообще всех кто читает этот пост).

ProtoH
() автор топика

Надеюсь, это вброс.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.