Прежде, чем погрузиться с пучину событий 2017 г. стоит оглянуться назад и отметить важные события и тренды минувшего года. Попытка охватить все важные события мире Linux и открытого ПО одним постом была самонадеянной, так как год выдался богатый юбилеями, а некоторые из них прошли незамеченными на Хабре. Из-за этого задуманный дайджест пришлось разбить на части, этот посвящен значительным юбилеям 2016 г: Linux, Vim, KDE и Git.
25-летие Linux
25 августа 2016 г. состоялся 25-й День Рожденья Linux. В то время это было 10 тыс. строк кода и сообщение в новостную группу comp.os.minix
. По ссылке Хабра-пост посвященный этому событию, где изложена история создания и развития Linux, статистика релизов и любопытные факты.
Интересно, что Linux мог бы изначально называться Freax («free», «freak» и X (Unix)). Такое название своему проекту дал сам Линус. Но Ари Лемке (Ari Lemmke), который по просьбе Линуса выложил ядро на своем FTP-сервере, назвал директорию с ядром «linux».
А ведь все начиналось с программы эмуляции терминала. Нужна была программа, с помощью которой студент Линус Торвальдс мог бы соединяться с сервером своего ВУЗ-а, получать и отправлять почту, читать новости. Как настоящий хакер, он не сильно был привязан к внешнему миру и почти все свое время уделял программированию. Когда эмулятор терминала был готов, оказалось, что нужен еще и драйвер дисковода, чтобы скачивать и закачивать файлы. Соответственно, нужен был еще и драйвер файловой системы. Затем еще и еще функции.
Я крутился как белка в колесе: программирование – сон – программирование – еда (соленые сухарики) – программирование – сон – программирование – душ (на скорую руку) – программирование. К концу работы стало ясно, что моя программа превращается в операционную систему. И я стал думать о ней не как о программе эмуляции терминала, а как об операционной системе. Этот сдвиг произошел, вероятно, в дурмане одного из затянувшихся сеансов программирования. Было это днем или ночью? Не знаю. Сижу я в своем старом халате и работаю с программой эмуляции, снабженной дополнительными функциями. А потом вдруг понимаю, что этих функций стало так много, что программа превратилась в рабочую версию операционной системы.
Linus Torvalds, «Just for fun».
Затем еще следовало написать реализацию двух сотен системных вызовов, а для этого требовалось раздобыть откуда-то документацию POSIX стандартов. Век интернета еще не наступил, и это тоже было делом нетривиальным. Вот так по принципу каши из топора стала материализовываться ОС.
Vim 25 лет
В том же 1991 г. 2-го ноября Bram Moolenaar выкатил первую стабильную версию vim
после трех лет от начала работы над проектом. Ему нужен был обычный Unix vi
, но на его ПК Amiga эта программа не была портирована. Свое название vim первоначально получил от слов vi imitation, то есть имитация vi
. Еще спустя три года, после того, как vim 2.0 превзошел оригинал название поменялось на vi improved. В прошлом, юбилейном году вышел vim 8.0.
На сегодняшний день vim
поддерживает практически все мыслимые ОС и платформы.
- AmigaOS
- Atari MiNT
- BeOS
- DOS
- Mac OS
- NextStep
- OS/2, OSF
- RISC OS
- BSD
- Linux
- SGI
- Unix (IBM AIX, HP-UX, SGI IRIX, Sun Solaris, SCO OpenServer и другие)
- VMS
- Win16 (Microsoft Windows 3.x), Win32 (Windows 4.x и Windows NT)
- Apple iOS
- Android
Когда приверженцы редактора Notepad++
спрашивают меня что умеет делать vim
, я обычно отвечаю «это как Фотошоп, но для текста», и это сравнение производит должный эффект. Думаю, что не умею использовать и четверти возможностей vim
, но даже этого хватает для того, чтобы тащить довольно-таки трудозатратные и сложные проекты.
На снимке последняя из 724 страниц армяно-русского словаря, который мы оцифровали с помощью vim
. Возможно есть еще текстовые редакторы, в которых можно проверять орфографию по двум словарям одновременно, но мне они не известны.
:setlocal spell spelllang=hy,ru
KDE 20 лет
В KDE также год был юбилейным, проекту исполнилось 20 лет. На Хабре это событие прошло незамеченным, необходимо восполнить этот пробел.
14 октября 1996 года Matthias Ettrich объявил о создании современного и полноценного свободного графического окружения, для рядовых пользователей, а не системных администраторов, в котором все приложения и элементы интерфейса имеют одинаковое оформление и общий стиль поведения.
- KDE 1.0 был выпущен 12 июля 1998 года — первый стабильный релиз.
- KDE 2.0 вышел в свет 23 октября 2000 года.
- KDE 3.0 — релиз 3 апреля 2002 года.
- KDE 4.0 — релиз 11 января 2008 года.
- KDE Frameworks 5 — дата выпуска 7 июля 2014 г.
- KDE Plasma 5 — аналогично 7 июля 2014 года.
Судьбоносным и верным решением было использование библиотеки Qt, новинки от компании Trolltech, призванной заменить ужасный Motif. В пользу Qt сыграли качество, открытость и кросс-платформенность графического тулкита. KDE Free Qt Foundation следит за тем, чтобы Qt и впредь оставался открытым и бесплатным для разработчиков свободного ПО.
Сегодня KDE — один из крупнейших проектов с открытым кодом. По данным Open Hub:
- Свыше 21 млн. строк кода
- Свыше 1.1 млн. коммитов от > 4200 разработчиков за все время
- Почти 30 тыс. коммитов от 375 разработчиков за последние 12 месяцев.
Оригинальный KDE 1.0.
Впрочем погонять ее можно и сегодня, накануне своего юбилея разработчики KDE Restoration Project портировали KDE 1.1.2 на современные дистрибутивы Linux.
Кодовая база KDE 1 адаптирована для сборки современными компиляторами и переведена на сборочный инструментарий Cmake. Исторический код помещён в штатные git-репозитории KDE, что позволяет любому желающему собрать KDE 1, воспользовавшись репозиториями qt1, kde1-kdelibs и kde1-kdebase. Для Fedora 25 собраны установочные пакеты с KDE 1, но они пока не готовы к публикации.
KDE 2.0 пока никто не портировал, но можно на нее полюбоваться со старым Mandrake Linux 8.0.
$ qemu-system-i386 -M pc-0.10 -m 2048 -boot order=ad,menu=on -drive file=mandrake8.qcow2 -usb -net nic,model=rtl8139 -netdev user,id=slirp -vga cirrus -cdrom mandrake-8.0-i386.iso
KDE 2 на Mandrake Linux 8.0
KDE 3.5 на Qt 3 до сих пор вполне популярен среди пользователей и продолжает развиваться в рамках проекта Trinity, LiveCD можно брать отсюда.
KDE 4 на мой взгляд трудно назвать ошеломительным успехом. Четверку выкатывали сырой и наспех, многие пользователи испытывали болевые ощущения от радикальной смены дизайна и нестабильности графического окружения. Linus Torvalds в панике бежал с KDE 4 на GNOME, где впрочем также не задержался.
Будучи довольно долгое время верным адептом KDE, я на четверке столкнулся с таким количеством глюков, что мне пришлось временно наспех создать собственную базу знаний. Часто возникала необходимость удалить БД akonadi, чтобы KMail не падал с ошибкой, как на рисунке.
[user@localhost ~]$ aconadictl stop
[user@localhost ~]$ rm -rf $HOME/.local/share/akonadi/?
[user@localhost ~]$ aconadictl start
Следует однако признать, что KDE 4.14 уже была довольно стабильным и комфортным для работы десктоп-окружением, а новые глюки перестали пополнять мою базу знаний в Г+.
KDE 5.8 Neon.
KDE Plasma 5 использует платформу KDE Frameworks 5 и библиотеки Qt 5 с применением OpenGL/OpenGL ES
для рендеринга с задействованием аппаратного ускорения, не меняя при этом привычные пользователю принципы взаимодействия и логику интерфейса.
Завершен переход всех компонентов Plasma 5 на QML
и технологию QtQuick 2
. Новый Qt 5 обеспечивает более гладкий вывод графики, используя возможности OpenGL
с задействованием средств ускорения графических операций на стороне GPU, что позволило снизить нагрузку на центральный процессор. Для систем не поддерживающих OpenGL
предусмотрен режим программного рендеринга.
Новая редакция оконного менеджера Plasma 5 KWin, избавлена от жесткой привязки к X11 и может работать как с традиционным X-сервером, так и с дисплейным сервером Wayland. Полноценную поддержку Wayland обещают к следующему выпуску. На Mir забили пока не ориентируются.
Из прочих изменений Plasma 5 стоит отметить унификацию, чистку и оптимизацию интерфейса, новую, более контрастную тему оформления Breeze и новый шрифт Oxygen. Улучшена поддержка high-DPI экранов, а оболочка стандартизирована для разных типов устройств (рабочих станций, устройств с сенсорными экранами и медиацентров) с возможностью переключения режимов на лету, без перезапуска.
Git 10 лет
7 апреля 2016 г. Git исполнилось 10 лет, это второе крупное начинание Линуса, тесно связанное с первым. Git появился на свет из-за необходимости найти замену проприетарному BitKeeper, к которому уже все привыкли, но который дальше уже нельзя было использовать.
Какое-то время все шло вроде бы неплохо, BitKeeper значительно облегчил жизнь разработчикам. Им не надо было больше заботиться о том, кто имеет права на какие изменение, каждый из них мог работать в своей ветке древа исходников, возможность распределенных слияний исходного кода давала значительную экономию усилий для всех. Подспудно, назревал кризис, который и привел к созданию Git.
http3
На данный момент на CentOS 7 vi и vim — одно и то же. :)
Как по мне, унылые у Линуксов интерфейсы. Также, как унылые в Винде, кроме классического. :)
temujin
И на остальных Linux дистрибутивах
vi
иvim
это одно и то же. А насчет интерфейса — на Ubuntu доводилось работать?aso
На Арче нет, к примеру.
temujin
Поясните, пожалуйста. На Арче команда
vi
не определена — толькоvim
?aso
На Арче поведение vi отличается от vim.
И vi выглядит заметно грустнее.
(В Арчбанге «из коробки» ставится именно vi.)
chukov
Vi входет в группу пакетов base, которую пользователь практически всегда ставит. Никто не мещает вам поставить пакет vim. Удалить пакет vi и сделать ссылку с vi на vim
scientistnik
Нет. Есть команда vi, а есть vim. Это две разные команды, которые приводят к запуску разных программ.
temujin
А
vi
какой, не GNU?http3
Да.
Именно на Ubuntu.
А разве есть особая разница? :)
lieff
В лине есть классический виндовый интерфейс, как и 100500 других, какие конкретно унылые?
Вот например NEMO-UX от корейской команды:
geher
Для линукса была когда-то WM, почти полностью повторяющая классический интерфейс Windows 98. Запамятовал название, вроде входила в пакетную базу AltLinux, если не путаю (или это был ASP).
Впрочем, унылость "междумордия" — штука субъективная. По мне так KDE вполне себе "нескучный".
lieff
И 98 есть и XP, все есть.
rgaliull
такого внешнего вида можно было достичь на базе iceWm
temujin
А с какой темой?
lieff
Под разными менеджерами тема называлась Luna или в названии содержалось Luna с модификациями. Уж не знаю почему, видимо кто-то сделал и потом пошло-поехало.
rgaliull
LunaXP как сказал lief
myxo
Ctrl+Alt+F1 и будет вам классический интерфейс. Или вы о каком классическом интерфейсе говорите?
splav_asv
На правах зануды: как минимум в Arch ничего не произойдет. Графика на 1 виртуальном терминале по умолчанию.
Power
Может, всё-таки 25 августа 2016 года?
temujin
Спасибо, уже исправлено.