Предполагается, что читатель этой книги должен иметь хотя бы начальные пользовательские навыки при работе с GNU/Linux (умение вводить команды в оболочку и знать основы операционной системы), а также знать язык C хотя бы на начальном уровне. Я посчитал бессмысленным писать еще одну книгу по языку C. Если вы знаете язык C на уровне книги Кернигана и Ритчи «Язык программирования Си», то у вас не будет проблем с изучением материала этой книги.
Если вы знаете язык C++, но не знаете C, ничего страшного. Эти два языка хотя и разные по своей сути, но имеют одну и ту же синтаксическую основу. C++-программисту не надо обладать феноменальной сообразительностью, чтобы разобраться в программе, написанной на C.
Большая часть материала этой книги относится и к другим современным Unix-подобным операционным системам (FreeBSD, например). Если вы еще не знаете Linux, то больших проблем не будет.
1.2. Условные обозначения
В книге используется достаточно мало условных обозначений. Листинги программ, а также вырезки из листингов и содержимое конфигурационных или иных файлов выделяются синим цветом:
133 Суть установки программ в Linux.
#include int main (void)
Примеры команд, вводимых в оболочку выделяются оранжевым цветом и начинаются с символа $ (приглашение командной строки). Вывод команд выделяется жирным шрифтом:
$ gcc gcc: no input files $
Примеры команд, вводимых от имени суперпользователя (root) выделяются так же, как и обычные команды, только в качестве приглашения командной строки используется символ #
# lilo -t Added Linux * Added BootFromCD The boot sector and the map file have *NOT* been altered. #
Некоторые вещи в основном тексте, на которые я хотел бы обратить ваше внимание, будут выделяться жирным шрифтом. Некоторые термины, которые следует запомнить, будут выделяться курсивом. Кроме того, жирным шрифтом могут быть отделены от основного текста имена файлов, имена функций и т. п.
1.3. Что нужно иметь
То, что нам нужно иметь, называют инструментарием. Инструментарий программиста зависит от того, какие программы и на каких языках он будет писать. Наш инструментарий будет состоять из: 1) Операционной системы Linux (GNU/Linux) с текстовым редактором; 2) Компилятора с линковщиком; 3) Дополнительных утилит. Ну и конечно же из терпения и усердия.
Для начала нужно иметь Linux (здесь правильнее будет сказать GNU/Linux). Подойдет практически любой современный дистрибутив. Посмотрите, какая версия ядра Linux у вас используется. Наберите в оболочке следующую команду:
$ uname -r 2.6.10nn1 $
У меня ядро версии 2.6.10. У вас, скорее всего, будет что-то другое. Дистрибутивы, построенные на ядрах версий 2.4.x и 2.6.x достаточно современные для того, чтобы воспроизвести все примеры в этой книге. Версии 2.0.x и 2.2.x также могут использоваться, но некоторые возможности, описанные в этой книге в этих ядрах не реализованы.
Следующий шаг — компилятор. Мы будем использовать компилятор gcc (не обсуждается!). Практически все дистрибутивы Linux поставляются вместе с компилятором языка C. Вопросы о том, какие программы установлены, как устанавливать недостающие программы выходят за рамки этой книги. Поэтому не буду объяснять, как проверить присутствие в системе компилятора.
Линукс для Программиста | Что такое Linux и для чего он нужен?
На начальном этапе обучения версия компилятора не имеет значения. Если у вас есть компилятор gcc, то и линковщик (о том, что это такое, будет рассказано позже) тоже есть (вероятность 99%).
Многие программисты используют различные оболочки для программирования (KDevelop, Glade и прочие). Мы откажемся от этого подхода по двум причинам: 1) это претит идеологии Unix; 2) за всеми этими средами разработки стоят те самые утилиты, которые мы будем использовать непосредственно. Нам на начальном этапе потребуется лишь утилита make.
И, наконец, немаловажная деталь. Текстовый редактор. Здесь на вкус и цвет товарища нет. В мире Unix-систем есть два лагеря: любители Vi и любители Emacs. В настоящее время написано много клонов редактора Vi (Vim, Elvis, GVim) и много клонов (а точнее — расширений) редактора Emacs. И для Vi и для Emacs существуют как консольные так и графические версии.
Нет смысла обсуждать преимущества и недостатки этих двух «гигантов». Вам придется самостоятельно выбрать наиболее удобный для вас текстовый редактор. Возможно вам не понравится ни один из них и вы будете использовать что-нибудь наподобие kate или nedit или pico. Между прочим, редактор Pico открывает свой третий лагерь поклонников.
Этот редактор, изначально разработанный в Вашингтонском университете для почтовика pine, а затем ставший самостоятельным редактором, уверенно набирает силу в сообществе Unix. Если вы полный аскет, можете попробовать редактор ed (red), который мало напоминает текстовый редактор в современном понимании. Опять же повторюсь, выбор за вами.
Я использую консольную версию редактора Vim, но с большим уважением отношусь и к Emacs. Очень важно попробовать оба редактора «в полную силу», а не просто «взглянуть». Только опытный пользователь сможет за видимой неуклюжестью ощутить мощь и удобство. Это одна из важнейших граней идеологии Unix.
Подавляющую часть работы мы будем проводить в командной строке. «Командная строка» — общий термин, подразумевающий собой сочетание терминальной программы и командной оболочки. Терминальная программа (или программа эмуляции терминала), это то, что вы видите на экране, когда работаете с командной строкой.
Терминальная программа позволяет пользователю вводить команды и видеть результаты их выполнения. Программа konsole в KDE, например, является терминальной программой. Под терминальной программой запускается командная оболочка (командный интерпретатор или просто shell).
Командная оболочка через интерфейс терминальной программы общается с пользователем и выполняет всю основную работу. Bash, Csh, Ksh — это все командные оболочки или, как их еще называют, командные интерпретаторы. В Linux я рекомендую использовать оболочку Bash (Bourne Again SHell).
Однако не произойдет ничего страшного, если вы будете использовать другую командную оболочку, например C-Shell (csh), у которой достаточно своих поклонников. Как вы позже узнаете, любая командная оболочка — это не просто исполнитель команд, но и полноценный интерпретатор собственного языка программирования. Чтобы узнать, какая оболочка запущена под терминальной программой, просто наберите команду ps. В одной из строк (скорее всего — в первой) будет написана ваша командная оболочка:
$ ps PID TTY TIME CMD 5003 pts/0 00:00:00 bash 6025 pts/0 00:00:00 ps $
В моем случае это bash.
1.4. Обратная связь
Книга распространяется на условиях GNU Free Documentation License.
В соответствии с условиями этой лицензии вы можете свободно скачивать и распространять книгу без каких-либо разрешений, но не нарушая и не изменяя условий Лицензии. Если вы хотите поместить копию книги на своем Интернет-ресурсе или просто распечатать — делайте это свободно, как завещал великий Столлман!
Вы также можете вносить самостоятельные изменения в эту книгу. В этом случае я просто прошу сообщать мне об этом.
Источник: www.opennet.ru
Рейтинг лучших программ для Linux
Популярность Линукс по мере появления новых дистрибутивов, максимально дружелюбных и приспособленных под различные задачи, растёт. Теперь системы привлекают не только разработчиков и программистов, но и обычных пользователей, которые ценят уникальную возможность настройки под собственные нужды, производительность и функциональность программного обеспечения. Современные дистрибутивы Linux стали лучшей альтернативой Windows или MacOS, поэтому заинтересованные возможностями открытых Unix-систем юзеры полностью переходят на Линукс или устанавливают ПО в качестве второй операционной системы.
Большинство дистрибутивов уже содержат пакет самых необходимых для работы приложений, а недостающие всегда можно установить из репозитория, используя при этом функционал самой системы – менеджер пакетов. Рассмотрим лучшие программы для ОС Linux, которые помогут вам расширить возможности системы с учётом личных интересов и сформировать собственный набор «must have» для повседневных задач. Все приложения из подборки бесплатны, и большинство из них доступны в репозиториях Ubuntu, кроме того скачать софт можно с официального сайта производителя продукта.
Топ-21 лучших программ для Linux
Выбирая свой первый дистрибутив, пользователи обычно обращают внимание на Ubuntu или Linux Mint, что обусловлено удобством работы с ОС вне зависимости от пользовательских навыков. К тому же под эти ОС разработано огромное количество разношёрстного софта, который можно дополнительно установить в систему. В обзор включены лучшие приложения для Убунту, Линукс Минт и других популярных дистрибутивов, базирующихся на Ubuntu, а для удобства разобьём продукты по категориям в соответствии с их назначением.
Обозреватели
Первое, что интересует большую часть пользователей после установки операционной системы Linux, это выбор браузера, поскольку не всех устраивает штатный обозреватель.
Mozilla Firefox
Самый популярный обозреватель с открытым исходным кодом для операционных систем Linux, который часто поставляется со многими дистрибутивами, включая и Ubuntu. Фаерфокс – удобный, функциональный и безопасный браузер, обеспечивающий комфорт работы в интернете.
Google Chrome
Наиболее востребованный браузер, отличающийся стабильностью и удобством. Он поддерживает все необходимые для работы в интернете опции, но главное преимущество обозревателя в интеграции с сервисами Google, поэтому даже если вы не в восторге от Chrome, иногда установка программы на Linux является необходимостью.
Почта
Email-приложения обладают расширенными возможностями и пригодятся пользователям, имеющим сразу несколько почтовых ящиков. Клиенты позволяют объединить всю почту с разных сервисов и работать с ней на одной платформе, тем самым значительно сэкономив время.
Geary
Простой и функциональный почтовый клиент IMAP с удобным современным интерфейсом, обладающий всеми необходимыми инструментами и опциями для работы с почтой, и позволяющий настроить отправку и получение писем от таких известных сервисов как Gmail, Yahoo Mail, Outlook. Программа обеспечивает работу с корреспонденцией без подключения к сети и оснащена удобными средствами для создания писем, вставки изображений, проверки правописания, поиска, систематизации и пр. Некоторые возможности могут отличаться в зависимости от используемого дистрибутива Linux.
Thunderbird
Отличный почтовый клиент с открытым исходным кодом, предлагающий множество возможностей по работе с почтой. Приложение отличается удобством интерфейса, хорошей скоростью, гибкой настройкой, безопасностью и приватностью. С Thunderbird легко систематизировать корреспонденцию, управлять данными, искать, фильтровать письма, архивировать и выполнять прочие действия по работе с почтой.
Мессенджеры
Приложения для общения посредством звонков и сообщений актуальны не только в мобильном формате, а в некоторых ситуациях даже удобнее воспользоваться десктопной версией для Linux. Разработчики популярных сервисов предоставляют такую возможность.
Telegram
Если вы используете мессенджер на смартфоне, попробуйте и официальное десктопное приложение, которое синхронизируется с мобильным устройством. Телеграм использует криптографический протокол, обеспечивающий сохранность данных и секретность переписки, не занимает много места и позволяет создавать не только чаты, группы и каналы, а и ботов, что может стать эффективным инструментом организации рабочего процесса.
Viber
Один из самых популярных мессенджеров официально доступен и в десктопном варианте для Linux. Клиент в исполнении для Линукс отличается стабильностью, хорошей интеграцией, обеспечивает синхронизацию в реальном времени со смартфоном и предлагает все те функциональные возможности, что и в мобильной версии.
Офисный софт
Лучшие офисные программы под Linux не уступают своим аналогам от Microsoft, используемым в Windows. Сегодня вариаций пакетов для работы с документами даже больше, чем требуется обычному пользователю, поэтому выделим некоторые из них.
LibreOffice
Мощный кроссплатформенный офисный пакет с открытым исходным кодом, распространяемый бесплатно. Во многих сборках Линукс, включая Ubuntu, он уже предустановлен, но и там, где его нет, софт легко устанавливается. Офисный пакет включает текстовый и табличный процессоры, приложение для создания и просмотра презентаций, векторный графический редактор, средство управления базами и редактор формул.
OnlyOffice
Лучший аналог офисному софту Майкрософт с открытым кодом, доступный бесплатно и регулярно обновляющийся (рекомендуем устанавливать из официального репозитория). Программы пакета для Windows, MacOS и Linux отличаются высокой производительностью и позволяют редактировать документы офлайн. Офис содержит текстовый процессор, редактор документов, таблиц и презентаций и способен также работать с файлами, созданными в MS Office.
Управление файлами
Для работы с файлами разных форматов можно применять штатные инструменты Linux или устанавливать сторонние продукты, которых в репозиториях Линукс в избытке.
Midnight Commander (MC)
Консольный двухпанельный файловый менеджер для Linux, позволяющий выполнять все стандартные операции с файлами (копировать, перемещать, архивировать, создавать ссылки, изменять права доступа и т. д.). Софт способен работать с объектами на удалённых системах, используя FTP и SSH, оснащён интегрированным редактором файлов (MCEdit) и может похвастать удобным и быстрым поиском, в том числе по содержимому элементов.
Как альтернативу менеджеру в графическом исполнении можно рассматривать Krusader для KDE, внешний вид которого также представлен в двухпанельной реализации и предлагает достойный набор опций для работы с файлами.
DigiKam
Кроссплатформенный менеджер с открытым исходным кодом для обработки и организации цифровых фотоснимков. Программой поддерживается возможность импорта фото, RAW-файлов и видео напрямую с носителей, при этом настройка и автоматическая каталогизация могут выполняться в процессе импорта, например, распределение элементов по альбомам с учётом даты создания. Кроме опций управления фотографиями, доступен широкий набор инструментов для редактирования, реализован удобный поиск по заданным параметрам.
Мультимедиа
Штатные средства для работы с файлами мультимедиа, присутствующие по умолчанию в ОС Linux, устроят не каждого пользователя. К счастью, под Линукс есть огромное количество медиаплееров, среди которых можно найти тот, что вам подойдёт.
VLC
Кроссплатформенный медиаплеер VLC, известный большинству пользователей, который воспроизводит практически любой формат аудио- и видеофайлов, включая самые экзотические, имеет множество встроенных кодеков и оснащён богатым функционалом. В огромном ассортименте софта для Линукс в данной категории это самый крутой видеоплеер с открытым кодом. Универсальный VLC предлагает большой набор инструментов для обработки медиафайлов и, кроме стандартных для плеера возможностей, позволяет воспроизводить повреждённые или частично загруженные файлы, конвертировать объекты в другие форматы, а также транслировать медиаконтент (в этом случае плеер выступает в качестве сервера). При всех преимуществах работы с плеером он ещё и бесплатен.
Lollypop
Хороший многофункциональный проигрыватель с возможностью организации музыкальной библиотеки, который может стать отличной альтернативой стандартному Rhythmbox в Ubuntu. Плеер поддерживает популярные форматы аудио, такие как MP3, MP4, OGG, FLAC, позволяет сортировать треки по исполнителям, альбомам и жанрам, создавать плейлисты, а также может подгружать информацию о композициях из интернета и обложки альбомов с Last.fm, iTunes и Spotify. Интерфейс программы выполнен в стиле менеджера для удобства организации библиотеки музыкальных треков.
Графика
Те, кто занимается дизайном или просто любит работать с графическими редакторами, в репозиториях Линукс смогут найти достойные инструменты для рисования или обработки фотографий, которые справляются со своей задачей не хуже продвинутых продуктов от Adobe.
GIMP
Мощный многофункциональный инструмент для обработки растровой графики с открытым кодом, отличающийся гибкой настройкой, может стать хорошей альтернативой Photoshop, причём доступен GIMP абсолютно бесплатно для Linux, Windows и MacOS. Функционал софта включает большинство основных опций, доступных в продукте от Adobe, так что при наличии навыков с помощью инструментов программы можно сделать всё то же самое, а при необходимости расширения функциональных возможностей можно устанавливать дополнения.
Inkscape
Отличный кроссплатформенный редактор с открытым кодом, обладающий широким набором инструментов для рисования и работы с векторной графикой, доступный совершенно бесплатно. При наличии соответствующих навыков Inkscape позволит создавать на профессиональном уровне технические и художественные иллюстрации различного типа, включая анимированные.
Скриншоты и захват видео
Записать видео или сделать скриншот можно и с помощью встроенных средств VLC, причём не только если речь идёт о контенте, который воспроизводится плеером, инструментарий программы позволяет также сделать захват рабочего стола. Но есть ситуации, в которых гораздо удобнее и эффективнее использовать специализированный инструмент.
SimpleScreenRecorder
Бесплатный софт под Linux для записи скринкастов, предлагающий многочисленные возможности и при этом обладающий достаточно простым интерфейсом. С помощью SimpleScreenRecorder можно вести запись экрана или определённой области, напрямую записывать приложения OpenGL, смотреть статистику во время записи и многое другое. Софт поддерживает множество кодеков и форматов файлов.
Flameshot
Эта программа пригодится, если вы любите делать скриншоты и добавлять к ним аннотации, всевозможные графические элементы, такие как стрелки, линии, подчёркивание, выделение цветом и прочие. Софт позволяет создавать скриншоты рабочего стола, активного окна, выбранной области, редактировать их (обрезать, применять размытие и т. д.), добавлять графические примитивы, открывать снимок в другой программе и загружать в Imgur.
Игровая платформа
Хотя Линукс-системы изначально и не ориентировались на рядового пользователя, развиваясь, они расширяют круг задач, так что теперь можно использовать ОС и для игр. И даже если игровой софт не разрабатывался под Linux, чаще всего имеются сборки Wine.
Steam
Лучшая платформа для распространения игр на Windows, MacOS и Linux. Здесь тысячи нативных игр под Линукс всех существующих жанров и самая большая социальная сеть игроков, с которыми можно общаться, обсуждать интересующие моменты, решать возникшие проблемы в играх, а также обмениваться игровыми предметами. Приобретая игровой софт в Стим, можно получить доступ к его версиям и на другой операционной системе, так что если у вас уже сформирована библиотека игр для Виндовс, вы сможете играть в них и на Линукс.
Виртуализация
Если вас интересуют возможности виртуализации, то Linux Mint, Ubuntu и другие популярные дистрибутивы способны легко предоставить такую возможность, для чего потребуется специализированный софт, позволяющий создать программную среду для имитации требуемого аппаратного оборудования.
VirtualBox
Универсальное ПО для виртуализации в Linux, поддерживающее также Windows и MacOS. С его помощью достаточно просто запустить виртуальную машину. Установить сюда можно практически любую ОС (помимо тех, что предназначаются для девайсов на ARM), ВМ будут храниться в файлах, содержащих образы дисков, что обеспечивает быстрый доступ и возможность сделать резервную копию или перенести на другой компьютер просто путём копирования файла. Софт отлично функционирует на Линукс независимо от используемой среды рабочего стола и, кроме виртуализации, оснащён рядом дополнительных опций, например, захват видео с экрана виртуальной машины, организация виртуальной сети между несколькими ВМ и прочие возможности.
GNOME Boxes
Ещё одна утилита для управления виртуальными машинами для Linux, бесплатная и простая в использовании. Программа позволяет всего в пару кликов создать ВМ, а также удалённо подключиться к виртуальному окружению или реальному хосту. Работать с GNOME Boxes очень легко, поэтому инструмент может использоваться и юзерами, не имеющими опыта работы с виртуальными системами.
Запись образов
Каждому пользователю рано или поздно может пригодиться программа для записи образов на носитель, особенно подобные инструменты полезны любителям установки разных дистрибутивов Линукс. Можно использовать привычный инструмент Rufus или воспользоваться альтернативными приложениями для Linux.
Etcher
Бесплатная утилита для записи образов на USB-носитель с открытым исходным кодом для операционных систем Linux, Windows и MacOS. Её отличают современный графический интерфейс и удобство работы. Чтобы записать ISO или IMG на носитель, просто выбираем нужный файл образа и указываем флешку, после чего жмём кнопку «Записать».
YUMI
Утилита позволяет создать мультизагрузочную флешку с несколькими ОС, средствами диагностики, антивирусным софтом и прочим ПО. Интерфейс отличается простотой и удобством, обеспечивая комфортное взаимодействие с программой. Используя YUMI, можно легко отформатировать USB-накопитель и настроить меню загрузки установленных систем.
В рамках одной статьи нереально рассмотреть все лучшие программы для дистрибутивов Ubuntu, Linux Mint и других популярных сборок, поскольку для Линукс сегодня доступно невероятно огромное количество софта. Какую бы задачу вы перед собой не ставили, в репозиториях и на официальных ресурсах можно найти массу специализированных инструментов под Linux, подходящих для любых целей, причём, чаще всего бесплатно.
Источник: nastroyvse.ru
compizomania
Как правило после установки дистрибутива на компьютере в него уже включены все необходимые программы, рассчитанные на обычного пользователя, но у некоторых начинающих пользователей Linux часто возникают проблемы связанные с специфическими программами, которые нужны ему для различных потребностей в той или иной категории. Проблемы связаны с тем, что новичок в Linux просто не знает название программ и где их найти.
В этой статье я постарался кратко перечислить и представить программы, которые должны охватывать потребности большинства пользователей компьютера по категориям и короткой аннотацией к ним, а также ссылкой на официальный сайт программы для более подробной информации о ней.
Не торопитесь загружать программу с официального сайта, т.к. некоторые из них (большинство) можно установить из Центра приложений, в зависимости от вашего дистрибутива путём поиска. Так, например, для Ubuntu, это Центр приложений Ubuntu; в Lubuntu — Центр приложений Lubuntu; в Linux Mint — Менеджер программ и т.д.
Большинство из этих программ является кроссплатформенными, поэтому вы можете использовать их, как в Linux, так и в Windows.
Учитывая огромное количество программ, которые существуют для Linux, отображённые ниже, это просто капля в море.
LibreOffice
Бесплатный офисный пакет. Поставленный шестью известными программами с большим количеством возможностей для работы с офисными документами и данными: Writer, Calc, Impress, Draw, Math и Base.
https://ru.libreoffice.org
Просмотр документов в формате PDF, а также документов во многих других форматах: PostScript, PDF, TIFF, DVI, XPS, CBR, CBZ, CB7, ТОС .
https://wiki.gnome.org/Apps/Evince
Rainlendar Lite
Графика
Редактор изображений (Photoshop в Windows).
http://www.gimp.org
Программа для создания пиксельной графики и обработки цифровых фотографий.
http://mtpaint.sourceforge.net
Простое создание и редактирование изображений
http://pinta-project.com/
gThumb
Просмотр изображений и ведение альбомов.
https://wiki.gnome.org/Apps/gthumb
Интернет
Google Chrome
Thunderbird
Клиент обмена мгновенными сообщениями.
https://pidgin.im
Общение с другими людьми с использованием Internet Relay Chat (IRC).
http://xchat.org
Общение с другими людьми с использованием Internet Relay Chat (IRC).
https://hexchat.github.io
Видеозвонки, обмен сообщениями и файлами.
http://www.skype.com
JDownloader
Копирование веб-сайтов на компьютер.
http://www.httrack.com
Transmission
Скачивание и обмен файлами в сети BitTorrent.
http://www.transmissionbt.com
Мультимедиа
VLC Media Player
Отличный интерфейс для MPlayer. Media Player.
http://smplayer.sourceforge.net
GNOME MPlayer
Guayadeque Music Player
Медиа-плеер и музыкальный редактор.
http://banshee.fm
gMusicBrowser
Аудио плеер и музыкальный редактор.
http://gmusicbrowser.org
Great Little Radio Player
Приложение для сохранения треков с аудио-CD в форматы WAV, MP3, OGG, FLAC, и/или Wavpack.
http://littlesvr.ca/asunder
OpenShot Video Editor
Создание и редактирование видео и фильмов.
http://www.openshot.org
Получение технической информации о видео- или аудиофайле и информации о тегах.
http://mediaarea.net/en/MediaInfo
Редактирование файлов субтитров для фильмов.
http://home.gna.org/gaupol
Аксессуары
File Roller
Double Commander
Программирование
Быстрая и легковесная среда разработки.
http://www.geany.org
Система
Выводит информацию о системе и оборудовании.
http://hardinfo.berlios.de
Создание, реорганизация и удаление разделов ж/диска.
http://gparted.org
Управление несколькими виртуальными системами на одном главном компьютере.
https://www.virtualbox.org
Удалённое управление любым ПК или сервером в мире.
https://www.teamviewer.com
Создание фотографий и видео с помощью веб-камеры, c применением занятных эффектов.
https://wiki.gnome.org/Apps/Cheese
GUVC Viewer
Обучение и игры
Обучающие программы и игры для детей.
Набор развивающих игр для маленьких детей.
http://www.schoolsplay.org
Обучающая игра для детей от 2 до 10 лет
http://gcompris.net
Educational desktop
Источник: compizomania.blogspot.com