- Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих)
- Установка компилятора
- Установка редактора
- Создание файла с исходным кодом
- Компиляция и запуск
- Минутка автоматизации
- Заключение
- Установка Kodi на Linux
- Официальные репозитории Team Kodi
- Установка Kodi на Ubuntu-подобные дистрибутивы
- Установка PVR плагинов (видеорекодеров)
- Обновление Kodi
- Удаление Kodi
- Сторонние репозитории
- Установка Kodi на Debian
- Установка Kodi на Fedora
- Установка Kodi из исходников
Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих)
Добрый день. Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux. Я попробую здесь показать прямое руководство к действию на примере тех простых инструментов, которые использовал некогда сам при изучении Си в процессе знакомства с Linux. На самом деле, с теми или иными поправками, это руководство можно использовать в большинстве дистрибутивов. Руководство однозначно подходит для всех deb-based дистрибутивов.
С установкой ОС, как я полагаю, проблем у Вас уже не возникло. Этому процессу посвящены просто тысячи статей на профильных сайтах.
Итак: у Вас сейчас установлен дистрибутив ОС, как говорится, «из коробки». Перед глазами пособие для разработчика/учебник/просто_хорошая_книга по «Языку программирования Си». И никакой вменяемой, полноценной подробной информации о том, как же собственно откомпилировать и выполнить, написанный в книге, исходный код. Быстрый осмотр тематических ресурсов уже показал Вам, что, необходимо установить компилятор Си, запустить его с нужными параметрами и потом запустить компилированный бинарный код. Примерно с этого момента мы и начнём.
Установка компилятора
Я имею ввиду, что Вы скорее всего (бывший) пользователь ОС Windows и действия в чёрном/синем окошке при помощи клавиатуры оканчивались где-то на команде ping, кажутся неким таинством. Однако отмечу, что всё банально просто и текстовой интерфейс предоставляет намного более гибкие возможности (скорее всего Вы неоднократно Вы слышали это ранее). Приступим:
Я подразумеваю, что с понятием компиляции и о том что такое компилятор Вас уже познакомила правильная книга.
На этом этапе всё будет очень быстро и просто. Открываем терминал и пишем:
(На всякий случай: вставка в gnome-terminal ctrl+shift+v)
Сразу поясню, что текст слева от курсора — это приглашение командного интерпретатора и оно выглядит следующим образом:
Далее я буду указывать только команды интерпретатору без приглашения.
Данная строка «говорит» интерпретатору: «от имени суперпользователя запустить менеджер пакетов для установки пакета gcc».
Система попросит Вас ввести пароль суперпользователя и приступит к установке компилятора.
Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Предлагаемые пакеты: gcc-multilib gcc-doc Следующие НОВЫЕ пакеты будут установлены: gcc Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 44 пакетов не обновлено. Необходимо скачать 5 208 B архивов. После данной операции объём занятого дискового пространства возрастёт на 51,2 kB. Пол:1 http://ru.archive.ubuntu.com/ubuntu focal/main amd64 gcc amd64 4:9.3.0-1ubuntu2 [5 208 B] Получено 5 208 B за 0с (34,6 kB/s) Выбор ранее не выбранного пакета gcc. (Чтение базы данных … на данный момент установлено 371769 файлов и каталогов.) Подготовка к распаковке …/gcc_4%3a9.3.0-1ubuntu2_amd64.deb … Распаковывается gcc (4:9.3.0-1ubuntu2) … Настраивается пакет gcc (4:9.3.0-1ubuntu2) … Обрабатываются триггеры для man-db (2.9.1-1) …
Если же он уже установлен, то менеджер пакетов apt просто укажет на это примерно следующим образом:
Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Уже установлен пакет gcc самой новой версии (4:9.3.0-1ubuntu2).
Установка редактора
Обычно с дистрибутивом Ubuntu поставляется весьма интересный текстовой редактор gedit . Однако в других дистрибутивах возможно придётся установить этот редактор:
Создание файла с исходным кодом
Теперь пришло то самое время нашего классического «hello world»! Давайте сделаем это в стиле linux. Просто наберите в консоли:
Более подробно Вы обязательно прочитайте в профильных ресурсах и в документации, я только отмечу, что символ «тильда» возвращает полный путь к домашнему каталогу пользователя ОС. Соответственно будет создан файл в вашем домашнем каталоге с указанным именем.
И далее наш программный код на языке Си в редакторе:
#include "stdio.h" int main() < printf ("\nHello world)\n"); for (int c=0; c<10;c++) < for (int i =0;ireturn 0; >
(Стоит отметить, что в редакторе gedit есть подсветка синтаксиса для различных языков программирования. Переключить режимы подсветки можно в нижней части окна редактора.)
Не забываем сохранить изменения нажатием ctrl+s. Обратите внимание, что вопросов об имени файла не последовало, так как имя было уже указано параметром при запуске редактора из командной строки терминала.
Компиляция и запуск
Закрываем окно редактора нажатием Alt+F4 и запустим же то сокровенное ради чего все тут и собрались:
И в ответ только новое приглашение. В отличие от стиля в ОС Windows, когда консоль, жутко подробно по-умолчанию, комментирует выполняемые действия — большинство программ в ОС семейства *nix сообщают только об исключительных ситуациях, ошибках и тому подобных вещах. То есть если «в ответ тишина» — то всё прошло хорошо.
Теперь в домашнем каталоге у нас появился файл a.out — он и есть файл с исполнимым кодом.
Для запуска этого файла на исполнение — назначим ему атрибут: «исполнимый»:
и теперь запустим получившееся приложение:
(Для запуска исполнимого файла интерпретатору требуется указать полный путь к файлу. Как в случае с «тильдой» символ «точка» возвращает полный путь к текущему каталогу. В данном конкретном случае правомерно так же запустить через ~/a.out Это не имеет значения здесь, так как файл создан в домашнем каталоге пользователя.)
И мы получаем вывод в терминале:
Для выполнения всех повторных действий: изменение кода и снова компиляция, — Вы можете не вводить все эти команды каждый раз заново, а использовать стрелки вверх и вниз, для быстрого выбора команд из истории. И, кстати, вывод списка истории всех введённых команд можно выполнить командой (на самом деле программой) history .
Минутка автоматизации
Теперь приступим к очень интересному моменту связанному с творчеством в духе *nix. Каждый раз вводить много скучных команд неинтересно, возможно, даже вредно. Мы расширим функционал редактора gedit и доработаем его «напильником» до состояния примитивной среды разработки: запустим gedit и откроем меню параметров,
где на вкладке «Расширения» добавляем «Внешние инструменты»
И затем, из того же главного меню gedit выбираем «Управление внешними инструментами».
Как Вы уже поняли — здесь можно выполнить доработку функциональности текстового редактора. Создадим новый инструмент: «Компиляция и запуск», В качестве вывода используем нижнюю область редактора. Инструмент назначим для файлов C и C++. Назначим клавишу F5 (дело вкуса) на применение инструмента и собственно сам код инструмента в виде скрипта bash:
#!/bin/bash gcc -o a.out $GEDIT_CURRENT_DOCUMENT_NAME chmod +x ./a.out ./a.out rm ./a.out
Разберёмся в том, что тут происходит:
#!/bin/bash — указание командного интерпретатора для выполнения скрипта.
gcc -o a.out $GEDIT_CURRENT_DOCUMENT_NAME — здесь мы запускаем компилятор, где в параметре -o указываем имя выходного файла. Пускай он будет таким же как и по-умолчанию.
$GEDIT_CURRENT_DOCUMENT_NAME — через эту переменную gedit передаёт имя файла.
Дальше Вы уже знаете — назначение атрибута «исполнения», запуск файла и потом:
rm ./a.out — удаление созданного исполнимого файла.
Попробуем инструмент в деле:
Теперь можно продолжать изучать пособие для разработчика/учебник/просто_хорошую_книгу по «Языку программирования Си» на практике.
Заключение
На самом деле в ОС Linux полно возможностей по доработке и использованию различного ПО. Само ПО является максимально гибким. Необязательно использовать предложенные мною средства, скорее методы, разработки.
В дальнейшем Вам обязательно понадобятся более серьёзные средства. А на первое время Вы можете дополнительно посмотреть другие редакторы, вплоть до больших и серьёзных сред разработки. Однако обязательно обратите внимание на редактор vim.
Установка Kodi на Linux
Kodi™ (ранее известный как XBMC™) — это отмеченный наградами, бесплатный и с открытым исходным кодом (GPL) программный медиацентр для воспроизведения видео, музыки, картинок, игр и многого другого. Kodi работает на Linux, OS X, Windows, iOS и Android. Его особенностью является 10-футовый пользовательский интерфейс для использования с телевизорами и удобный для удалённого контроля. Программа позволяет пользователям воспроизводить и просматривать большинство файлов видео, музыки, подкастов и других медиа с локальных хранилищ или из сетевых хранилищ и Интернета.
Официальные репозитории Team Kodi
Установка Kodi на Ubuntu-подобные дистрибутивы
В командной строке наберите
sudo apt-get install software-properties-common sudo add-apt-repository ppa:team-xbmc/ppa sudo apt-get update sudo apt-get install kodi
Имеются следующие репозитории Kodi:
Хотя адрес содержит Team XBMC, на самом деле там актуальные версии Kodi.
https://launchpad.net/~team-xbmc/+archive/ppa | ppa:team-xbmc/ppa | Сборки финальных релизов |
https://launchpad.net/~team-xbmc/+archive/unstable | ppa:team-xbmc/unstable | Беты и релиз-кандидаты |
https://launchpad.net/~team-xbmc/+archive/xbmc-nightly | ppa:team-xbmc/xbmc-nightly | Ночные сборки |
Установка PVR плагинов (видеорекодеров)
Linux релизы Kodi по умолчанию не включают каких либо плагинов для цифровой записи (PVR). Для установки PVR плагинов запустите соответствующую команду и замените XXXXXX на PVR плагин по вашему выбору:
sudo apt-get install kodi-pvr-XXXXXXX
PVR плагин | Описание |
---|---|
kodi-pvr-dev | Kodi Media Center (PVR Add-on Dev package) |
kodi-pvr-argustv | Kodi PVR Addon Argustv |
kodi-pvr-demo | Kodi PVR Demo Addon |
kodi-pvr-dvbviewer | Kodi PVR Addon Dvbviewer |
kodi-pvr-iptvsimple | Kodi PVR Iptv Addon |
kodi-pvr-mediaportal-tvserver | Kodi PVR Addon Mediaportal Tvserver |
kodi-pvr-mythtv | Kodi PVR Addon MythTv — Cmyth |
kodi-pvr-nextpvr | Kodi PVR Addon NextPvr |
kodi-pvr-njoy | Kodi PVR Addon Njoy |
kodi-pvr-hts | Kodi PVR Addon TvHeadend Hts |
kodi-pvr-vdr-vnsi | Kodi PVR Addon VDR Vnsi |
kodi-pvr-vuplus | Kodi PVR Addon Vuplus |
Обновление Kodi
По мере выпуска новых версий Kodi просто производите стандартное обновление системы:
sudo apt-get update sudo apt-get upgrade
Иногда, когда для Kodi нужно установить дополнительные пакеты, может потребоваться такая команда:
Удаление Kodi
Если вам нужно полностью удалить приложение и его настройки, так, будто бы программа никогда не была установлена, то выполните следующие команды:
sudo apt-get update sudo apt-get remove kodi* sudo apt-get purge kodi*
Затем удалите каталог настроек для удаления всех настроек и данных библиотеки. Это не удалит какие-либо видео или музыку, только настройки и сами данных библиотек:
rm ~/.kodi/ или rm ~/.xbmc/ # для старых версий до 14.0
Сторонние репозитории
Инструкции в этом разделе касаются неофициальных исполнимых файлов для Linux, которые не поддерживаются или частично поддерживаются командой Kodi. Большинство этих исполнимых файлов используют ffmpeg или, что ещё хуже, совершенно нетестируемую libav, которая не рекомендована для Kodi, т. к. та поддерживает только ffmpeg.
Установка Kodi на Debian
Если вы используете Debian, то установка очень проста. Вам нужно добавить пользовательские репозитории, доступные здесь .
Добавьте следующие строки в ваш файл /etc/apt/sources.list в качестве суперпользователя (sudo) .
# XBMC repos deb https://people.debian.org/~rbalint/ppa/xbmc-ffmpeg xbmc-ffmpeg-unstable/ deb http://http.debian.net/debian unstable main
А затем обновите APT и установите Kodi.
sudo apt-get update sudo apt-get install kodi
Всё готово, наслаждайтесь вашей новой Kodi.
Установка Kodi на Fedora
Этому посвящена большая инструкция на английском языке.
Установка Kodi из исходников
Если готовые пакеты недоступны, или вам нужна более новая версия, или вы хотите включить специфичные функции, тогда вам, скорее всего, нужно компилировать из исходных кодов. Хотя компиляция для разных дистрибутивов не сильно различается (кроме установки зависимостей), доступно несколько различных инструкций.