574 подписчика

FreeBSD. Настройка - 5.

1,3K прочитали
Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО

Часть 5 - Настройка.

Для варианта "Рабочая станция" или просто обычный компьютер, то есть тот, который не является служебным или правильнее терминологический сервером, подразумевается, что на этом компьютере устанавливается некий произвольный набор программ: текстовые редакторы, графические программы, программы обработки и вёрстки видео, проигрыватели музыки и видео, программы для работы с интернет: браузеры, мессенджеры и прочее, для разработчиков: среды разработки, языки программирования и т.п.

Для установки мы использовали виртуальную машину (вы, конечно, могли делать всё это и на реальной). Установка FreeBSD была выполнена до уровня "чистая OS", что подразумевает наличие после установки только ядра и минимально необходимого ПО, которое идёт в составе OS: командная оболочка (shell), набор стандартных утилит. В общем стандартный инсталятор делает только такую установку и это принципиальная позиция сообщества FreeBSD, так как лицензионная политика такова, что в состав FreeBSD входит только то, что идёт под лицензией BSD и не допускается применение ПО под другой лицензией. Но это относится только к ядру и системному окружению. Пользователю совершенно не возбраняется использование любых продуктов, как других свободных лицензий типа GPL, GNU, и т.д., так и любых проприетарных. Напомню, что лицензия BSD в смысле "свободы", наверное самая свободная из всех имеющихся в мире свободного ПО - она практически не налагает никаких ограничений на использование и имеет всего два пункта:

  1. Распространяемые копии исходного кода должны сохранять вышеупомянутые объявления copyright, этот список положений и сохранять следующий отказ от прав.
  2. Распространяемые копии скомпилированных форм должны повторять вышеупомянутые объявления copyright, этот список положений и следующий отказ в документации и/или других материалах, поставляемых с дистрибьюцией.

"copyright" - это Copyright 1992-2012 FreeBSD Project. Все права защищены.

Полностью тут: https://www.freebsd.org/copyright/freebsd-license/

Соответственно, вы можете использовать, как исходные коды, бинарные пакеты, бесплатно, как в свободных, так и в коммерческих продуктах, изменять исходный, код. При этом вы не обязаны раскрывать, как модифицированный, так и свой исходный код (как это делает Микрософт, например, в Windows имеется много заимствований из мира BSD), а можете и открыть. Но, что вы обязаны, так это указать, что в вашем продукте используется код BSD. Таковы в общем правила лицензии BSD.

Далее...

Что такое "Рабочая станция" - это в общем-то любой компьютер персонального или коллективного использования на котором установлено преимущественно прикладное программное обеспечение: редакторы, какие-либо среды разработчика, специализированное ПО, игры - куда ж без них. Рабочая станция может иметь, как графическую оболочку, так и оставаться в режиме текстовой консоли или иметь оба эти варианта работы (чего нет в Windows).

При загрузке мы получим такой вид OS:

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-2

При загрузке OS в отличии от Windows, идёт отображение процесса загрузки: инициализация ядра, загрузка модулей, поиск устройств, старта фоновых служб (services), инициализация периферийных устройств, сетевой подсистемы. Такие сообщения в общем довольно полезны: всегда видно, что всё в порядке или есть проблемы при загрузке. И, кстати, по логу загрузки видно, что они у нас есть: правда, совершенно не фатальные - работе не мешают, но разобраться с ними надо, так быть не должно.

Проблемка при загрузке драйвера корректировки потребления мощности процессором powerd
Проблемка при загрузке драйвера корректировки потребления мощности процессором powerd

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

Проверим ещё, как у нас настроена сетевая подсистема, без этого у нас установить дополнительное ПО будет неоткуда.

Проверяем:

# ifconfig

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-4

Сеть настроена. Адрес IP получен - в данном случае от самого VirtualBox - её внутренней службы DHCP. Проверим работу интернет - проверим доступ к любому сайту и работу распознавания DNS-адресов в интернет.

В качестве "какого-либо" сайта у нас будет mail.ru:

# ping mail.ru

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-5

Да, всё в порядке: сайт mail.ru с нашей машины виден и DNS имя mail.ru определяется и преобразуется в IP (94.100.180.200). Значит сеть работает и всё хорошо.

Немного о том, как организована консольная работа в FreeBSD - работать мы будем пока именно в консольном режиме из командной строки.

Так как UNIX принципиально многозадачная и, что важно, многопользовательская OS - то есть одновременно, что понятно, может выполняться много программ и может работать несколько пользователей на одном (условно) вашем компьютере. Понятно, что одновременно работать за одной клавиатурой и монитором (это и есть "консоль") ... сложно. Потому есть, так называемые, виртуальные консоли (не путайте с виртуальной машиной... к сожалению понятия разные, но называются одним словом). На вашей консоли переключиться на другие виртуальные консоли можно нажав Alt+Fx, где Fx это F1-F12 - функциональные клавиши. Исторически первая (а точнее нулевая) - это системная консоль - она включается первой и она же отображает тот самый лог загрузки - на ней вполне можно работать, но есть одна особенность - на эту консоль система выводит системные сообщения, которые генерирует ядро: сообщения об ошибках, предупреждения, результаты какого-либо процесса и т.д., но иногда это мешает - выводы системы (их не много) перемешиваются с выводом ваших программ... это иногда не удобно.

Я обычно на системной консоли (tty0) совсем убираю возможность работы пользователя - оставляю только вывод для OS. Это дело привычки.

Поэтому нажимаем, к примеру Alt-F6 (всего консолей по умолчанию 9 - 9-я обычно отводится для работы в графике) - переходим в консоль 5 (ttyv5):

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-6

Для работы в "многопользовательском" режиме можно использовать программу ssh - это виртуальный терминал с возможностью шифрации и сжатия трафика. С программой можно работать, как локально на вашем рабочем месте и на вашем же компьютере, так и на любом другом удалённом, главное чтоб он имел выход в интернет или локальную сеть. (ssh - Secure SHell).

# ssh user@namecomp

или, например:

# ssh user@172.23.64.210

Итак, далее... у нас открыта консоль с приглашением...

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

Итак вводим root и "ваш пароль" (пароль при вводе не отображается).

Да, кстати о паролях: пароли надо использовать примерно такие: SLsfZUv8uT_Ng и не состоящими из слов и одинаковых последовательностей или фраз, так же не нужно русские слова набирать латиницей и не нужно выбирать пароли из русских слов набранных в английской раскладке клавиатуры типа: "привет" - "ghbdtn" - программы подборщики паролей это сделают в первую очередь - примерно предполагая ваш родной язык - пробегутся по словарю наиболее употребимых слов. Ведь пароли обычно не какой-то там кибернетикой вскрывают и сложными расчётами всякого, а банальным подбором - программой молотилкой: по обычному словарю - он заканчивается идёт подбор по словарю наиболее употребимых паролей, далее по случайному набору символов... и при наличии быстродействия и времени рано или поздно пароль будет подобран. Увы это так. Только вот разница в том за какое время это произойдёт: за три секунды при простом пароле или за тысячу лет в случае с образцом, как я привёл выше... ???

Нам будет выведен некий текст в котором будет содержать рацио и смысл, ценные советы. (при желании это можно изменить отредактировав файл /etc/motd).

Узнаём какая же у нас OS командой uname -a:

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-7

И первое: устраним сообщение о проблеме драйвера powerd - он нужен для управления питанием процессоров - видимо как-то он не верно работает в виртуальной (причина понятна, но нам это в общем сейчас неважно). Потому просто отключим его - на работу в дальнейшем нашей виртуальной машины это никак не повлияет.

Для настройки FreeBSD используется множество файлов с конфигурациями загружаемого системе ПО. Файлы для настройки самой OS и её параметров расположены в трёх каталогах: /boot, /etc, /usr/local/etc. Вообще говоря, конфигурационные файлы могут быть, где угодно по вашему усмотрению: как запрограммируете так и будет - принципиальных ограничений нет, но есть устоявшиеся эти три каталога, где обычно располагают все настроечные или конфигурационные файлы. Для редактирования файлов настроек используются обычные программы-редакторы для текстовых файлов. Самый известный и самый древний - редактор vi - это очень мощный по возможностям редактор, но довольно сложный в работе, особенно после современных редакторов, но я советую его освоить - этот редактор присутствует во всех unix-системах - будет проще работать на любой unix-системе, но мы воспользуемся другим редактором: ee - он попроще и более привычен.

В верхней части окна редактора есть подсказки о том какая клавиша за что отвечает. Вызов "меню" по однократному нажатию "Esc". В основном редактирование текста не отличается от того, как это делается в Notеpad Windows... Ну, почти...

Нам надо для устранения предупреждения от powerd отредактировать файл /etc/rc.conf - это основной конфигурационный файл системы для большинства настроек.

# ee /etc/rc.conf

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-8

Видно, что в этом файле присутствует строка:

powerd_enable="YES"

Мы не будем его загружать - этот сервис является хелпером для реализации различных возможностей по управлению питанием процессоров и в зависимости от потребностей системы или пользователя. В ядре системе присутствуют модули управления питанием и в общем управляться будет базовой стандартной версией управления. Поэтому мы либо закоментируем эту строку:

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-9

либо надо изменить"YES" на "NO":

powerd_enable="NO"

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-10

По хорошему надо было бы проверить, а загружен ли он? Так как, сервис может не работать или работать неправильно. Да, само редактирование файла настроек никак не влияет на уже загруженные сервисы или модули.

Для запуска и остановки сервисов предназначена специальная команда service, работает она так:
для остановки
# service powerd stop

для запуска

# service powerd start

Но у нас сервис не загрузился в процессе старта системы, то сейчас эта команда не требуется, но имейте ввиду, если вы вносите изменения в файлы настроек, то обязательно надо либо перезагружать сервис либо заставлять его перечитать файлы конфигураций. Перезагрузка сервисов не всегда желательна, например для веб-серверов - для этого предусматривают обычно команду reload или аналогичную - это надо смотреть в описании сервиса (man powerd), которая позволит перечитать настройки. Кстати, все процессы в системе можно увидеть по команде:

# ps ax

Можно, как это принято в Windows перезагрузить всю операционную систему, но обычно в unix это бывает нужно в очень редких случаях, как например, перекомпиляция или обновление ядра OS. Мы в данном случае просто ничего не будем делать - так как сервис не запущен, мы ограничимся только редактированием конфигурационного файла и в следующую перезагрузку этот сервис не загрузится уже по нашей просьбе. Если у вас не VirtualBox, а например Qemu или Vmware или реальная система, то может быть у вас этой проблемы и нет. У меня она вот проявилась только сейчас.

Получение прав супер пользователя

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

Так же есть утилита sudo - она позволяет более гибко управлять правами пользователей. Этой утилиты в системе по умолчанию нет. Установить её можно командой:

# pkg install sudo

Так же необходимо отредактировать файл /usr/local/etc/sudoers.

Если вы создали пользователя и включили его в группу wheel, достаточно раскомментировать одну из строк, относящуюся к этой группе:

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL

## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

Для повышения прав пользователя до уровня пользователя root команда выглядит так: sudo -s.

Читаем документацию: # man sudo

Добавление аккаунта для нового пользователя

Добавление нового пользователя в систему осуществляется только пользователем с правами суперпользователя root c помощью утилиты adduser, которая при запуске прогонит Вас по всем пунктам создания нового пользователя в интерактивном режиме. Будет запрошены: имя логина, его реальное имя, группа доступа, класс пользователя (региональные настройки - для русских пользователей нужно писать russian), пароль (утилита может его для вас автоматически сгенерировать).
Так же есть утилита
pw. Вывод справки по утилите:

# man pw

pw – create, remove, modify & display system users and groups.

pw useradd -n vpupkin -c "Vassisualy Pupkin" -g wheel -G operators,video -s /bin/tcsh -L russian -m -w random

Что эта команда: "Создать пользователя (-n) vpupkin с реальным именем (-c) Vassisualy Pupkin относящегося к группе (-g) wheel (группа суперпользователей куда относится и root) и являющегося так же членом групп (-G) operators,video, использующего в качестве shell-оболочки (-s) tcsh, класс пользователя с настройками (-L) russian, (-m) создать домашний каталог пользователя (будет создан /home/vpupkin), (-w) автоматически сгенерировать пароль.

Выполнение команды:

# pw useradd -n vpupkin -c "Vassisualy Pupkin" -g wheel -G operator,video -s /bin/tcsh -L russian -m -w random
Password for 'vpupkin' is: qgm4Zk9DIGn

Удалить пользователя:

# pw userdel -n vpupkin -r

Будет удалён пользователь (-n) vpupkin и его домашний каталог (-r).

И в общем читаем справку (man pw), примеры и делаем.

Установка и настройка ПО для варианта "Рабочая станция"

Для варианта "Рабочая станция" или просто обычный компьютер, то есть тот, который не является служебным или правильнее терминологически сервером, подразумевается, что на этом компьютере устанавливается некий произвольный набор программ: текcтовые редакторы, графические программы, программы обработки и вёрстки видео, проигрыватели музыки и видео, программы для работы с интернет: браузеры, мессенджеры и прочее, для разработчиков: среды разработки, языки программирования и т.п.

Настроим поддержку UTF-8, чтоб русские буквы отображались корректно.

Вносим эти строки в loader.conf:

# ee /boot/loader.conf

kern.vty=vt
hw.vga.textmode=0

Так же обеспечим поддержку ввода русских букв с клавиатуры, добавив переключатель eng-rus:

# ee /etc/rc.conf

keyrate="fast"
keymap="ru.win" # switch to russian Ctrl+Shift

После логина проверим например вывод команды date:

для root:

Обычно для root никогда не меняют настройки. Этот пользователь намеренно оставляют с настройками по умолчанию - потому как при сбоях вам придётся работать в этой учётной записи и его настройки будут такими, что всё получится прочитать и ввод-вывод будет работать.
Обычно для root никогда не меняют настройки. Этот пользователь намеренно оставляют с настройками по умолчанию - потому как при сбоях вам придётся работать в этой учётной записи и его настройки будут такими, что всё получится прочитать и ввод-вывод будет работать.

А вот, если залогиниться пользователем dzen, который я создал для этой статьи (команда adduser) и при создании которого я указал

Login class[default]: russian

Проверяем вывод и ввод заодно. русский присутствует.
Проверяем вывод и ввод заодно. русский присутствует.

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

Далее... Что ещё можно сделать для начала и более удобной работы? Наверное стоит установить некоторые программы, которые помогут нам в настройках и навигации по файловой системе? Всё-таки, строго говоря, для нормальной работы с чем бы то ни было, командной строки более, чем достаточно, но это если есть наработанные навыки, то всё быстрее и удобнее. Наверное многие не согласны? Да, конечно, со многим и я не соглашусь - например как смотреть кино? Никак. Поэтому нужно соответствующее программное обеспечение, которое позволяет организовать работу иначе - с помощью интуитивно понятных наборов каких-то средств и устройства управления, например - манипулятора "мышь". Но... такое ПО это всего-лишь так или иначе надстройка над неким набором элементарных действий, которые в том числе управляются теми самыми кликами мышки скрывая от пользователя все наборы команд и их параметров - заменяя их, но выполняя туже работу. Одно и тоже действие, например копирование файла с компьютера на флэш-карту, можно выполнить определённой командой или "подхватив" и "перенося" его с "диска компьютера" на флэш-карту мышкой - выполняете одно и тоже - копирование файла, но в другом, как говорят - интерфейсе.

Облегчению рутинных работ с файлами и программами применяют программы оболочки. Есть очень хорошая оболочка Midnight Commander или mc ("полуночный командир" - прогеры те ещё юмористы, такого есть и много). Есть и другие аналогичные, но эта наиболее проработанная и хорошо развитая. Установим её на наш компьютер.

Для установки и обновления ПО на FreeBSD используется программа pkg. Для установки ПО она так же требует полного доступа к системе, то есть в частности иметь права на запись файлов и в файлы системных каталогов.

# pkg install mc

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-13

При первом запуске этой программы, будет запрос на установку самой этой программы - это немного странно, но так... соглашаемся. Будет создана база pkg и далее будет выведено сообщение касающееся установки mc - учтены все зависимости и составлен список установки, требуемого сопутствующего ПО и библиотек:

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-14
Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-15

Соглашаемся. Пойдёт процесс установки с выводом информации о процессе.

Надо заметить, что в FreeBSD исторически утилиты pkg - менеджера ПО, раньше не было, она появилась сравнительно недавно. Ранее установка ПО была возможна, с помощью несколько другого набора утилит семейства pkg_* : pkg_add, pkg_del ... А так же установка из исходников системы ports, которая находится в каталоге /usr/ports - их можно установить во время инсталляции, а так же в любое время утилитой portsnap. Даже при установленной во время инсталяции ports рекомендую этой утилитой установить её повторно: это даст возможность оперативного обновления и возможность поиска по дереву ports: make search name=mc.

Получить и установить ports: portsnap fetch, portsnap extract.

Обновить: portsnap update.

либо самостоятельно построить базу поиска:

make index или скачать его из интернет: make fetchindex.

Сама установка ПО производится посредством входа в соответствующий каталог ports командой make. Например для того же mc:

# cd /usr/ports/misc/mc
# make

Будет загружен соответствующий набор необходимого ПО и произведена сборка всего требуемого для mc.

У такого способа есть очевидный недостаток - время сборки может оказаться довольно длительным, но есть и преимущество: будет собрано ПО точно под вашу систему, иногда это важно. Установка из бинарных репозиториев предусматривает, как правило, универсальный вариант со всеми возможными и часто не нужными опциями, изменяющими или дополняющими функциональность ПО (это относится вообще к какому-либо ПО не только обязательно mc, иногда конфигурирование не предусмотрено) или наоборот с недостающими. Набор опций можно изменить командой: make config.

После установки запускаем mc комадной:

# mc

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-16

Вот такая программа. Классический файловый менеджер - концепция, которого восходит к легендарному Norton Commander конца 80-х из DOS, клонов которого, тогда было много Volkov Commander (на мой взгляд самый удачный), Pie Commander (самый навороченный, но глючный), Dos Navigator (самый навороченный и несколько отличающийся концептуально) и самый самый из всех FAR Manager (этот просто монстр, есть вариант и для unix) - очень удачный вариант - с немыслимым количеством полезного в себе, а с кучей плагинов просто универсальная программа для всего (шутка).

Программа позволяет делать все операции с файлами: копирование, перенос, создание ссылок на файлы, изменение прав и многое другое. Имеет просмотрщик для практически любых файлов, удобный текстовый редактор, бинарный редактор, средства работы с сетевыми протоколами и мн. мн. другое.

  • Немного о том, как с ним работать, кто знает листайте дальше, кто не знает читаем:
  • передвижение по панелям "стрелки",
  • переключение между панелями "Тab",
  • F1 - справка
  • F2 - меню (там много полезного)
  • F3 - просмотр (+бинарный редактор)
  • F4 - редактирование текстовых файлов
  • F5 - копирование
  • F6 - перемещение
  • F7 - создать каталог
  • F8 - удаление
  • F9 - меню программы (там тоже очень много всего и полезного тоже)
  • F10 - закрыть программу

Внизу строка подсказок, чуть выше командная строка, ещё на строку выше "ценные советы" - иногда действительно ценные - прочитаешь и да понимаешь, что: "не знал", "сейчас проверю".

Командер позволяет перемещаться по файловой системе и самое ценное для нас в данном случае: имеет встроенный редактор - нам же надо редактировать файлы? Встроенный текстовый редактор довольно удобен - имеет привычные приёмы работы, для языков программирования- подсветку синтасиса, вставку, копирование, выделение текста и даже вертикальные блоки выделения текста, что в программинке довольно удобная штука. В общем можете его использовать. Если желаете поработать в командной строке, то эта программа сильно облегчит жизнь.

Решать вам. Некоторым вообще нравится работать только командная строке.

Итак... Мы же про "современный Десктоп"...

Что нам надо для Декстопа? Графический режим.

Все операции в unix системах осуществляются в парадигме сервер-клиент.

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

Поэтому нам надо установить это всё, нужное для реализации, того, что привычно в наше время на unix-десктопе: окошки, мышка, картинки, кнопки и прочий антураж. И соответственно нам понадобятся: драйвер графической карты, графический сервер, графическая оболочка.

Настройка графического режима

В зависимости от того, какая графическая карта стоит у вас в системе - такой будет и драйвер - универсальных, кроме как для режима VGA (640x480), увы нет. В наше время распространены в основном три варианта: nVidia, AMD Radeon, Intel, вряд ли может быть экзотика в виде чего-то ещё... в наше время всё как-то упростилось и свелось к этим трём вариантам. Сразу скажу, что исторически сложилось, что наиболее качественно в FreeBSD работают Radeon, Intel - настройки довольно просты. nVidia тоже работает хорошо, но настройка этих карт несколько более сложная. В наше время вся настройка в общем сводится к установки драйверов и ПО - которое автоматически всё настраивает под имеющееся "железло" и в редких случаях надо править что-то руками в настроечных файлах, но это довольно уже редкое явление.

Как узнать какая у вас видео карта?

Самое простое посмотреть в набор бумажек которые у вас есть при покупке вашего того что у вас есть. Но... где они лежат? Потому будем смотреть, что нам выдадут диагностические утилиты.

Кстати, в unix есть огромное количество различных мелких программок-утилит, которые, как правило, имеют одну выполняемую операцию с различными вариантами её выполнения: просмотр дерева каталогов: ls, просмотр файловых систем: df, вывод даты и времени: date, вывод текста: cat, вырезка текста: cut и т.д. Объединяя их в командные сценарии- иначе скрипты - можно получать развитые программы, которые могут выполнять очень сложные и полезные вещи и как правило нужны для выполенения каких-то повторяющихся наборов действий. Утилита - это, как правило, очень ограниченная по функционалу программа, которая мало, что умеет, но то, что умеет делает на отлично и именно так, как надо - это в общем одно из постулатов unix вообще её принципиальное и концептуальное свойство.

Выясним, как что обстоит у нас дело с видеокартой: чтоб определить какой драйвер необходим в системе.
Для этого в FreeBSD есть утилита pciconf. Но мы выполним сразу две команды pciconf и less, перенаправив вывод первой во вторую - это (очень полезное свойство утилит unix - перенаправление потоков ввода-вывода) нам даст возможность не просто вывести информацию, а некоторое время как бы сохранить её на экране в буфере вывода команды less и в случае, если вывод уйдёт за пределы экрана, пользуясь стрелочками клавиатуры передвигать его вверх-вниз в поисках нужного, в данном случае информации о видео карте. Перенаправление вывода одной программы в другую осуществляется специальными символами - нам потребуется "вертикальная черта" - "|" :

# pciconf -lv | less

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-17

Собственно всё нужное у нас оказалось, а ориентируемся в данном случае на слова vga и display в самом первом "пункте", а именно:

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-18

Выйти из просмотра можно нажав 'q' или 'Ctrl+c' - вернётесь в командную строку.

Видео карта у нас 'VMware' - так, как работаем в виртуальной машине.

Итак продолжим...

Надо поставить следующие компоненты:

1. xorg.
# pkg install xorg

Будет выведен большой список зависимостей и необходимого для него. Соглашаемся. Так же поступаем и дальше.

В наше время ведутся работы по замене xorg на новый и прогрессивный x-server: wayland. В нём анонсировано много чего хорошего, но пока реализация под FreeBSD не настолько хороша (точнее плоха - собственно и под Linux у него есть пооблемы).
Может быть потом с отдельным разбором, когда будет реализована его безпроблемная работа - без различных плясок с бубном.

2. video-driver

VMWare:
# pkg install xf86-video-vmware

Intel:
# pkg install xf86-video-intel

AMD:
# pkg install xf86-video-amdgpu

nVidia:
Выполним поиск драйверов имеющихся в репозитории:
# pkg sea nvidia
nvidia-driver-470.86 NVidia graphics card binary drivers for hardware OpenGL rendering

nvidia-driver-304-304.137_9 NVidia graphics card binary drivers for hardware OpenGL rendering

nvidia-driver-340-340.108_3 NVidia graphics card binary drivers for hardware OpenGL rendering

nvidia-driver-390-390.144 NVidia graphics card binary drivers for hardware OpenGL rendering

nvidia-hybrid-graphics-0.5 NVIDIA secondary GPU configuration - Optimus Technology support

nvidia-hybrid-graphics-390-0.5 NVIDIA secondary GPU configuration - Optimus Technology support

nvidia-secondary-driver-470.86_1 NVidia graphics card binary drivers for hardware OpenGL rendering on secondary device

nvidia-secondary-driver-390-390.144 NVidia graphics card binary drivers for hardware OpenGL rendering on secondary device

nvidia-settings-470.86 Display Control Panel for X NVidia driver

nvidia-texture-tools-2.0.8.1_25 Texture Tools with support for DirectX 10 texture formats

nvidia-xconfig-470.86 Tool to manipulate X configuration files for the NVidia driver

Вообще говоря, на текущий момент самый актуальный драйвер
nvidia-driver-470.86, правда у nVidia есть с одной стороны правильная, но с другой стороны осложняющая выбор практика - они выпускают несколько линеек драйверов для определённой группы видеокарт. Сверяться надо на их сайте, какой именно драйвер рекомендуется к вашей конкретной видеокарте. К сожалению, под рукой нет видеокарт и систем с картой nVidia - проверить не на чем. Имеется только AMD и Intel.

Так же для поддержки различных 3D функций надо установить:

# pkg install drm-kmod-20220907_1

Имя порта может быть изменено в последующих релизах поэтому уточните перед установкой:
pkg search drm имя актуального на момент инсталляции meta-порта

Обратите внимание на сообщение во время инсталляции:

The drm-* port can be enabled for amdgpu (for AMD GPUs starting with the HD7000 series / Tahiti) or i915kms (for Intel APUs starting with HD3000 / Sandy Bridge) through kld_list in /etc/rc.conf. radeonkms for older AMD GPUs can be loaded and there are some positive reports if EFI boot is NOT enabled (similar to amdgpu).

For amdgpu: kld_list="amdgpu"
For Intel: kld_list="i915kms"
For radeonkms: kld_list="radeonkms"

Please ensure that all users requiring graphics are members of the "video" group.

Добавьте в /etc/rc.conf - можно в самое начало и в зависимости от установленной видеокарты, для vmware это не требуется. И так же надо добавить пользователя (логин), которым вы осуществляете вход в систему, в группу video (у меня пользователь dzen):

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-19

и установить mesa-dri - для ускорения графики.

# pkg install mesa-dri mesa-gallium-va mesa-gallium-vdpau mesa-gallium-xa mesa-libs

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

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

# pkg install sddm

И оболочку, коих великое множество:

gnome, kde, xfce, lxfce, openbox и т.п. Наиболее продвинутая и наиболее похожая, но только внешне, на то, что кто-то привык в Windows: kde. Самая простая openbox - в ней имеется по сути только рабочий стол и меню на правой кнопке мышки для всех мыслимых действий, но настроено там мало что. Потом как-нибудь сравним.

Начнём с самой навороченной: KDE - это так называемый meta-port - по сути он только сообщает, что для KDE надо установить - список там большой и объёмный ~1Gb - имейте ввиду.

Устанавливаем:

# pkg install kde5

после окончания установки будет выдан очень обширный список сообщений и ценных сведений... который в общем надо бы почитать.

Но их там оооочень много, потому самое важное я вынес ниже:

Добавляем в /etc/rc.conf:

webcamd_enable="YES"
smartd_enable="YES"

И добавляем вашего пользователя в группу использующих веб-камеру:

# pw groupmod webcamd -m <username>

Так как у нас это графическая рабочая станция, то прописываем в /etc/rc.conf старт менеджера графических сессий:

sddm_enable="YES"

Добавить в /etc/sysctl.conf:

sysctl net.local.stream.recvspace=65536
sysctl net.local.stream.sendspace=65536
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768

=====

Добавить в /boot/loader.conf:

cuse_load="YES"

Теперь можно перезагрузиться...

Если всё прошло нормально, то в результате загрузки вы попадёте в графический менеджер сессий sddm:

Менаджер сессий sddm. Заметьте, что в низу экрана в меню выбора сессии стоит Plasma(Wayland), но он не загрузится, поэтому выберите там Plasma(X11).
Менаджер сессий sddm. Заметьте, что в низу экрана в меню выбора сессии стоит Plasma(Wayland), но он не загрузится, поэтому выберите там Plasma(X11).

Вводим пароль нашего логина и получаем десктоп KDE5:

Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО Часть 5 - Настройка.-21

И в общем на этом всё с первоначальной настройкой графической станции.

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

Меню аналогичное меню "Пуск" в Windows.
Меню аналогичное меню "Пуск" в Windows.

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

На этом остановимся в следующей части рассмотрим установку ПО для "офиса" и "прогера"

Часть 6