Архив рубрики: Linux

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

Установка пакетов в CentOS 7

Нам довольно часто приходится устанавливать различные программы. По умолчанию в системе есть только самое необходимое, а если вам понадобится что-либо специфическое, то вам придется устанавливать программы вручную. Установка программ Linux в некотором смысле проще, чем в Windows. Здесь большинство необходимых программ находятся в официальных репозиториях и для их установки или обновления достаточно выполнить несколько команд.

В этой статье мы рассмотрим как выполняется установка пакетов CentOS 7. Рассмотрим основы работы с пакетным менеджером yum, его возможности, поиск и разрешение зависимостей пакетов.

Что такое YUM?

YUM ( Yellowdog Updater Modified ) - это пакетный менеджер с открытым исходным кодом, разработанный в компании RedHat для работы с пакетами в формате RPM. С помощью него пользователи и системные администраторы могут устанавливать, удалять и обновлять пакеты в системах, основанных на RedHat.

Программа распространяется под лицензией GPL (General Public License) и любой пользователь может получить доступ к исходникам или даже улучшить код. Пакетный менеджер поддерживает подключение сторонних репозиториев и разрешение зависимостей для установки пакетов. Для улучшения работы Yum могут быть загружены различные плагины.

Утилита работает в консоли, а ее синтаксис очень прост:

$ sudo yum опции команда имя_пакета

Сначала рассмотрим основные команды пакетного менеджера:

  • install - установить пакет;
  • update - обновить пакет или систему;
  • update-to - обновить пакет до версии;
  • update-minimal - обновлять только исправления ошибок;
  • upgrade - полное обновление с обработкой дополнительных возможностей пакетов и их зависимостей;
  • distro-sync - синхронизировать состояния системы или пакета с репозиторием. Например, если была установлена версия пакета 4, а в репозитории только 3, то будет выполнено понижение версии;
  • remove - удалить пакет;
  • autoremove - очистить больше ненужные пакеты;
  • list - показать список пакетов;
  • provides - поиск пакета по функциональности;
  • search - поиск пакета по имени;
  • info - информация о пакете;
  • clean - очистить кэш пакетного менеджера;
  • groups - управление группами пакетов;
  • reinstall - переустановить пакет;
  • downgrade - понизить версию пакета;
  • deplist - вывести все зависимости пакета;
  • repolist - отобразить список репозиториев;
  • fssnapshot - управление снимками состояния системы;
  • check - проверить базу данных пакетов на целостность.

Еще рассмотрим дополнительные опции, которые могут вам понадобиться когда будет выполняться установка rpm CentOS:

  • -y - всегда отвечать на вопросы утилиты утвердительно;
  • -q - минимальный вывод;
  • -v - максимальный вывод;
  • - работать из кэша;
  • -x - игнорировать пакет.

Теперь вы знаете все основные возможности утилиты, рассмотрим некоторые примеры работы с ней.

Установка пакетов в CentOS 7

Перед тем как переходить к установке пакетов CentOS нужно обновить список репозиториев и систему до самой последней версии. Для этого существует команда:

sudo yum update

Установка пакета CentOS

Чтобы установить пакет, который есть в официальных репозиториях вам достаточно использовать команду install. Просто наберите эту команду и имя пакета, например, для firefox:

sudo yum install thunderbird

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

sudo yum -y  install thunderbird

Чтобы посмотреть информацию об установленном пакете используйте команду info:

sudo yum info thunderbird

Для удаления пакета используйте команду remove:

sudo yum remove thunderbird

Поиск пакетов CentOS

Мы знаем точные названия далеко не всех пакетов. Но yum поддерживает возможность поиска, которая поможет вам понять какой установить пакет CentOS 7. Существует две команды для поиска. Первая - это search - позволяет найти пакет по названию:

sudo yum search mysql

Вторая позволяет найти нужный пакет по команде, которая вам нужна, в некоторых случаях это бывает очень удобно:

sudo yum provides lspci

Теперь вы знаете какой пакет нужен и установка пакетов rpm CentOS 7 теперь может быть выполнена очень быстро и вам не нужно открывать множество форумов для поиска информации.

Группы пакетов CentOS

Группы пакетов, это тоже достаточно удобный инструмент. С помощью него вы можете не устанавливать пакеты по одному, а установить сразу целую группу. Сначала посмотрите список доступных групп:

sudo yum group list

Дальше вы можете посмотреть список файлов в каждой выбранной группе:

sudo yum group info "Стандартный веб-сервер"

 

Затем. чтобы установить группу пакетов наберите:

sudo yum group install "Стандартный веб-сервер"

Точно так же вы можете обновить группу пакетов, чтобы не обновлять всю систему:

sudo yum group update "Стандартный веб-сервер"

Или удалить:

sudo yum group remove "Стандартный веб-сервер"

 Репозитории пакетов CentOS

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

Репозитории в CentOS добавляются не через конфигурационный файл, они устанавливаются путем загрузки и установки rpm файла репозитория. Например, один из самых часто используемых сторонних репозиториев - это EPEL. Его установщик есть в официальных репозиториях, поэтому для подключения достаточно выполнить:

sudo yum install epel-release

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

Например, на данный момент самая новая

wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

Затем установите загруженный пакет с помощью yum:

sudo yum install nux-dextop-release-0-5.el7.nux.noarch.rpm

Затем обновите список репозиториев и можете устанавливать пакеты:

sudo yum update

Далее можете устанавливать пакеты, например, vlc:

sudo yum install vlc

Ну и смотрим список репозиториев:

sudo yum repolist

 

Здесь отображаются все доступные репозитории. Для удаления репозитория будет достаточно удалить его пакет.

Установка программ CentOS в GUI

Если вы не любите пользоваться терминалом, то установка программ CentOS 7 может быть выполнена и через графический интерфейс. Но здесь возможностей намного меньше чем в терминале. Используйте утилиту "Программы", которая расположена в главном меню:

Здесь вы можете выбрать нужную категорию программ или ввести имя пакета в поиске:

Затем останется нажать кнопку "Установить пакет". Но тут не поддерживается работа с репозиториями.

Выводы

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

Настройка видеокарты Linux через Xorg

За отрисовку всех графических элементов в Linux отвечает графический сервер. Он реализует интерфейс прослойки между драйверами видеокарты и различными программами, которые работают с графикой.

В самых современных дистрибутивах на замену Xorg серверу пришел новый дисплейный сервер Wayland. Но он все еще находится в активной разработке и не совсем готов к постоянному использованию. Поэтому Xorg все еще применяется в большинстве дистрибутивов.

После установки видеокарта работает достаточно хорошо и настроек по умолчанию в большинстве случаев хватает, но иногда нужно изменить некоторые параметры. Мы не будем рассматривать установку драйверов. В этой статье мы сосредоточимся на том, как выполняется настройка видеокарты linux через xorg.conf.
Читать далее Настройка видеокарты Linux через Xorg

Установка MySQL CentOS 7

MySQL - это одна из самых популярных систем управления базами данных, используемых как на производстве, так и для хранения данных веб-сайтов и приложений. Однако после перехода MySQL в собственность Oracle, вместо нее везде по умолчанию используется MariaDB. Это достойная замена, если вам нужна только базовая функциональность, но если вы хотите получить все тонкости и возможности MySQL, вам нужна именно версия от Oracle.

Но из официальных репозиториев MySQL была удалена. Поэтому вам придется искать другие источники. В этой статье мы рассмотрим как выполняется установка MySQL CentOS 7. Причем в версии от Oracle, а не MariaDB.

Читать далее Установка MySQL CentOS 7

История команд Linux

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

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

Как пользоваться Blender для начинающих

Blender - это очень популярная свободная программа для 3d моделирования и проектирования различных трехмерных объектов. Программа используется многими дизайнерами и в том числе для создания известных и популярных проектов. Blender применялся при съемке некоторых фильмов и мультфильмов, а также разработки игр.

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

Установка Blender

Это кроссплатформенная программа, которая может быть установлена на WIndows, Linux или MacOS. Установочный файл для Windows и MacOS вы можете загрузить на официальном сайте. Что касается Linux, то в большинстве дистрибутивов можно получить программу из официальных репозиториев. Например, в Ubuntu для этого достаточно выполнить команду:

sudo apt install blender

Затем вы можете запустить программу из главного меню.

Как пользоваться Blender для начинающих

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

1. Главное окно программы

Главное окно можно поделить на несколько условных областей, которыми вам предстоит пользоваться. Вот они:

  • Основное меню программы;
  • Меню переключения вида;
  • Левая панель навигации;
  • Панель инструментов справа;
  • Основная рабочая область;
  • Строка времени внизу.

Все эти области были подчеркнуты на снимке экрана. По умолчанию в рабочей области отображается 3D фигура - куб. Дальше мы рассмотрим основные действия, которые можно с ней сделать.

2. Основы навигации

Программой очень просто управлять, вот основные приемы навигации:

  • Чтобы изменить угол обзора зажмите среднюю кнопку мыши и перемещайте ее;
  • Чтобы перемещаться вверх-вниз или назад-вперед зажмите кнопку Shift и среднюю кнопку мыши, затем двигайте ее;
  • Для изменения масштаба используйте колесо прокрутки;
  • Чтобы выбрать объект щелкните по нему правой кнопкой или щелкните правой кнопкой вне объекта, чтобы отменить выбор;
  • Для выбора нескольких объектов удерживайте кнопку Shift во время выбора;
  • Чтобы выбрать все объекты нажмите A, и еще раз чтобы отменить выбор, выбранные объекты будут выделены желтым.

3. Режимы работы

Программа для 3D моделирования Blender может работать в нескольких режимах:

  • Режим объекта (Object mode) - позволяет выбирать объекты, перемещать их, поворачивать, и двигать как вам нужно;
  • Режим редактирования (Edit mode) - позволяет изменить вершины объекта, его линии и плоскости, вы можете изменять сетку в этом режиме.
  • Скульптурный режим ( Sculpt mode) - режим редактирования 3D сетки;
  • Режим рисования (Vertex Paint mode) - позволяет изменить цвета фигур;
  • Режим рисования текстур (Texture Paint mode) - позволяет раскрашивать текстуры;
  • Режим толщины (Weight Paint mode) - позволяет изменить толщину поверхностей;
  • Сеточный режим (Particle mode) - удобен для работы с системами частиц.

Для переключения между этими режимами можно использовать кнопку Tab или меню:

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

4. Изменение объектов

3D моделирование Blender начинается с изменения объектов. Обратите внимание на стрелки, которые появляются около объекта, когда вы его выбираете. Это направляющие стрелки, и они указывают на грани системы координат. Красная стрелка соответствует оси X, зеленая - ось Y, а синяя - ось Z. Эти стрелки позволяют более точно перемещать объекты.

Переместить объект можно несколькими способами:

  • Просто перетащите его правой кнопкой мыши;
  • Нажмите G и перетащите объект в нужное место;
  • Нажмите на одной из стрелок и перемещайте объект вдоль нее.

Поворачивать объекты тоже очень просто. Все что нужно сделать - это выбрать объект и нажать кнопку R. Если вы хотите повернуть объект вокруг определенной оси, нажмите R, а затем одну из клавиш X, Y, Z. Они соответствуют осям координат.

Для масштабирования используйте кнопку S. Опять же, для масштабирования по одной из осей нажмите X, Y или Z.

5. Создание объектов

Работа в Blender предполагает не создание нескольких объектов в основной области. Сначала обратите внимание где находится 3D курсор. Именно в этом месте будет вставлен объект. По умолчанию он расположен в начале координат, но вы можете его переместить в любой место просто кликнув левой кнопкой.

Затем откройте меню "Add" в нижней части экрана и выберите нужный тип объектов, например, фигуры (Mesh), а затем саму фигуру. После ее добавления она появится около курсора. Так вы можете добавить любой объект.

6. Редактирование объектов

В режиме редактирования вы можете изменять размеры и характеристики объектов. Можно выбирать отдельные части объектов: вершины, линии и плоскости. Что нужно выбрать можно указать на панели:

Дальше работа похожа на перетаскивание объектов. Выберите нужную часть правой кнопкой и тащите куда нужно. Также в режиме редактирования вы можете выделить несколько вершин и объединить их вместе. Для этого выберите нужные вершины с помощью "Shift" затем нажмите "W" и выберите пункт меню "Merge".

Также в режиме редактирования вы можете вытягивать части объекта. Для этого выберите грань, вершину или плоскость, а затем нажмите "E" и перетащите ее в нужное место.

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

7. Модификаторы

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

Дальше нажмите "Add Modifier" и выберите нужный модификатор. Вы можете поэкспериментировать с ними. Чаще всего вам придется использовать "subdivision surface". Он позволяет сгладить углы поверхности. Все параметры модификатора будут находиться на правой панели. С помощью пункта "View" вы можете настроить силу скругления:

8. Сохранение результата

Чтобы сохранить результат своей работы откройте меню "File" и выберите опцию "Save":

Затем вам нужно выбрать место для сохранения и нажать "Save blender file". Работа будет сохранена в формате Blender, и вы сможете продолжить ее редактировать. Но если вам нужна обычное изображение, в меню "File" выберите пункт "Export", затем выберите формат нужной картинки:

Наша инструкция как пользоваться Blender 3d для чайников подходит к концу.

Выводы

В этой статье мы рассмотрели как пользоваться Blender 3d для моделирования различных фигур и объектов. Конечно, вы не стали профессионалом, но зато теперь знаете на что способна программа для моделирования Blender и как ею пользоваться.

Файловая система Linux

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

Каждый компьютер сохраняет данные и результаты на жестком диске, твердотельном накопителе SSD или любом другом носителе информации, это неизбежно. Для этого есть несколько причин. Во-первых, содержимое RAM очищается при каждой перезагрузке компьютера. Конечно, есть быстрые энергонезависимые устройства хранения, такие как флеш память, но они стоят намного дороже, чем стандартные модули DDR3.

Вторая причина хранить данные на диске, это то, что оперативная память намного дороже чем более медленные, но вместительные жесткие диски. Фактически 16 Гб оперативной памяти будет стоить столько же, сколько жесткий диск на 2 Тб. Таким образом, мы видим, что оперативная память в 71 раза дороже чем HDD.

Что такое файловая система?

Люди могут подразумевать под файловой системой совсем разные понятия. Само словосочетание может иметь несколько значений и вам придется понимать о чем идет речь из контекста документа.

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

  • Все структура каталогов Linux, начиная с корня (/);
  • Конкретный формат раздела хранения данных, например, Ext3, Ext4, Btrfs, XFS и так далее. Ядро Linux поддерживает более 10 типов файловых систем, в том числе очень старых и новых. Каждый тип файловой системы использует свои структуры метаданных чтобы организовать работу с данными на диске;
  • Раздел или логический том, отформатированный в определенный тип файловой системы, который можно примонтировать к определенной точке монтирования.

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

Основные функции файловой системы

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

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

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

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

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

Современные файловые системы также обеспечивают модель безопасности, которая представляет из себя схему прав доступа к файлам для пользователей. Модель безопасности ФС в Linux гарантирует что пользователи будут иметь доступ только к своим файлам.

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

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

Структура каталогов

Намного проще найти файлы, если они хранятся небольшими группами, каждый на своем месте, а не все в одной куче. Структуру файловой системы Linux можно представить в виде простой иерархии. Все каталоги находятся в корневом каталоге (/) поэтому каждый адрес файла начинается с него. Например, /var/log/dmesg, /usr/share/, /bin.

Корневая файловая система Linux - это ФС верхнего уровня, она должна содержать все файлы, необходимые для загрузки Linux еще до того как другие файловые системы будут смонтированы. Здесь уже должны быть все исполняемые файлы и библиотеки, нужные для подключения других ФС. Во время загрузки другие файловые системы монтируются в четко определенные для них каталоги. Более детально предназначение каждого каталога Linux мы рассматривали в статье структура файловой системы Linux.

Каталоги /bin, /dev, /etc, /lib, /root, /sbin не могут быть примонтированы и должны быть доступны еще до загрузки, так как в них находятся все необходимые файлы. Что касается каталогов /media и /mnt, то они должны быть пустыми, поскольку это точки монтирования для других файловых систем. Остальные каталоги можно смело монтировать позже, они никак не повлияют на запуск.

В некоторых не Unix операционных системах разделам присваиваются отдельные буквы, например, C: или D:. В них каждый раздел будет иметь отдельную файловую систему. Чтобы найти нужный файл на диске C: вам необходимо сначала выполнить команду C:, а затем искать путь к файлу.

В Linux все физические диски и разделы, объеденные в одну файловую структуру. Она начинается с корня (/) в котором расположены все другие каталоги. Это работает потому что файловые системы /var, /home, /boot, /tmp и т д могут находиться на других физических дисках. Даже съемные диски подключаются в основную файловую систему.

И это очень хорошо, потому что при обновлении версии дистрибутива можно сохранить абсолютно все файлы и настройки в домашнем каталоге. Иногда полезно переформатировать корневой раздел чтобы убрать оттуда весь мусор, если /home находится на отдельном разделе, то вы ничего не потеряете. Есть и другие причины так поступать, например, защита корневой ФС от переполнения, что привело бы к неработоспособности системы.

Типы файловых систем

Как уже было сказано, Linux поддерживает более 10 различных файловых систем, но создавать и выполнять запись, возможно, только в некоторые из них. Зато можно подключить их все к корневой файловой системе. Под типом мы подразумеваем совокупность структур и метаданных, необходимых для хранения файлов.

Linux может монтировать и читать такие файловые системы:

Основная причина почему они поддерживаются - это попытка организовать максимальную совместимость с другими операционными системами. А вот основные файловые системы linux, которые можно создавать:

  • btrfs;
  • cramfs;
  • ext2;
  • ext3;
  • ext4;
  • fat;
  • gfs2;
  • hfsplus;
  • minix;
  • msdos;
  • ntfs;
  • reiserfs;
  • vfat;
  • xfs.

Мы более подробно рассматривали особенности некоторых из них в статье типы файловых систем Linux.

Монтирование файловых систем

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

Точка монтирования - это обычный каталог, как любая другая часть файловой системы. Например, домашняя папка смонтирована в каталог /home. И так далее.

Корневая файловая система ос Linux / подключается на раннем этапе загрузки. Другие файловые системы монтируются системой инициализации, например, SysVinit или Systemd. Точки монтирования настраиваются с помощью файла /etc/fstab. Также можно выполнять ручное монтирование в Linux с помощью команды mount. Каталог для монтирования необязательно должен быть пустым, он может содержать файлы, но тогда они будут просто скрыты.

Выводы

Эта статья была ориентирована на новичков и я надеюсь, что некоторые вопросы, касаемо термина файловая система linux были сняты. Теперь вы можете оценить элегантность, сложность и функциональность файловой системы Linux. Если у вас есть вопросы, спрашивайте в комментариях!

Источник: opensource.com

Virtualbox не видит USB в Ubuntu

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

Но многие пользователи сталкиваются с проблемой что VirtualBox не видит USB. Устройства подключены к системе и точно работают, а в меню подключения их просто нет. В этой статье мы рассмотрим что делать если virtualbox linux не видит usb устройства. Статья рассчитана в первую очередь на Ubuntu, но подойдет также пользователям других дистрибутивов.

Ошибка Virtualbox не видит USB

Чаще всего такая ошибка возникает потому что у пользователя, от имени которого вы запустили VirtualBox нет доступа к необходимым файлам. Это решается очень просто, вам достаточно добавить своего пользователя в группу vboxusers. Для этого выполните команду:

 sudo usermod -a -G vboxusers $USER

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

VBoxManage list usbhost

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

Тут должна быть установлена галочка напротив "Включить контроллер USB", а также выбран один из доступных интерфейсов. Для поддержки USB 2.0 или USB 3.0 вам необходимо установить Virtualbox Extensions Pack. Это набор проприетарных расширений, которые включают к тому же поддержку этой технологии. Скорее всего, вы уже можете подключить usb virtualbox.

Для этого скачайте файл для вашей версии Virtualbox на официальном сайте. Затем откройте меню "Файл" -> "Настройки" -> "Плагины" и подключите здесь скачанный файл:

В Ubuntu 16.04 это можно сделать проще, достаточно выполнить команду:

sudo apt install virtualbox-ext-pack

Готово, после этого вы можете включить поддержку USB 3.0.

В некоторых дистрибутивах, например, семейства Red Hat, не работает usb в virtualbox, потому что поддержка подключения USB отключена из соображений безопасности. В таком случае вам придется ее включить. Для этого нужно сначала раскомментировать все строки SUBSYSTEM в /etc/udev/rules.d/60-virtualbox.conf. Это можно сделать командой:

sudo printf '%s\n' 'g/^#SUBSYSTEM/s/^#//' w | ed -s /etc/udev/rules.d/60-vboxdrv.rules

Затем скопируйте этот файл в каталог /usr/lib/udev:

sudo cp -v /etc/udev/rules.d/60-vboxdrv.rules /usr/lib/udev/

И перезагрузите наборы правил:

sudo udevadm control --reload-rules
$ sudo systemctl restart vboxdrv.service

Теперь можете опять проверить все ли еще не видит Virtualbox usb устройства или уже все работает.

Выводы

В этой статье мы рассмотрели что делать если VirtualBox не видит USB Ubuntu или других Linux дистрибутивах. В большинстве случаев проблема решается очень просто. Надеюсь, эта информация была вам полезной.

Настройка i3WM

В современных графических оболочках концепция тайлига очень сильно недооценивается, примитивный тайлинг есть и в Windows и в таких оболочках как KDE, Gnome, XFce. Но все это лишь частичная поддержка тайлинга. По настоящему тайлинг отлично реализован в таких оконных менеджерах как Awesome, DWM, i3WM. И сегодня как раз поговорим о последнем.

Читать далее Настройка i3WM

Как пользоваться Git для начинающих

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

Это мощная система, которая позволяет оптимизировать работу над вашими проектами. Здесь нет каких-либо требований к языку или структуре файлов, поэтому у разработчиков полная свобода действий. В этой статье мы рассмотрим как пользоваться git для начинающих пользователей. Рассмотрим все очень подробно, начиная от настройки, и до ветвей проектов.
Читать далее Как пользоваться Git для начинающих

Удаленный рабочий стол в Ubuntu 22.04

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

В этой статье я покажу, как включить удаленный рабочий стол в Ubuntu 22.04, 23.04 или 23.10. Текущая реализация удаленного рабочего стола имеет некоторые ограничения из-за Wayland, но она вполне пригодна для использования.

Что нужно знать?

Исторически существует два наиболее популярных протокола удаленного рабочего стола: VNC и RDP.

  • VNC расшифровывается как Virtual Network Computing. Эта технология была создана компанией Olivetti & Oracle Research Lab в 1999 году, а ее исходный код доступен по лицензии GPL. Она поддерживается всеми современными операционными системами.
  • RDP означает Remote Desktop Protocol. Это проприетарный протокол, который был разработан компанией PictureTel в 1998 году, а затем куплен и популяризирован Microsoft в ОС Windows. Между тем, существует также свободная реализация протокола RDP с открытым исходным кодом, которая активно поддерживается и носит название FreeRDP.

В Ubuntu есть несколько различных инструментов, реализующих эти протоколы, например x11vnc, realvnc, xrdp и т. д. Все эти серверы и клиенты работают с Xorg. Однако в настоящее время большинство дистрибутивов переходят на протокол дисплейного сервера Wayland вместо Xorg. Это новый протокол с другой архитектурой, поэтому большинство инструментов Xorg не совместимы с Wayland.

На данный момент единственным способом использования удаленного рабочего стола в Ubuntu и Wayland через локальную сеть является служба Gnome Remote Desktop, или G-R-D. Сокращение по первой букве каждого слова в названии сервиса широко используется разработчиками GNOME, и я буду использовать его в этой статье. Этот сервис позволяет вам делиться экраном по протоколу RDP, используя бэкенд FreeRDP. Он не поддерживает все функции, которые были доступны в устаревших инструментах, но он по-прежнему активно развивается.

Например, он поддерживает подключение только к существующим сессиям и не поддерживает протокол VNC. Протокол VNC помечен как устаревший, и начиная с Ubuntu 22.10 нет возможности включить его в графическом интерфейсе или в командной строке. Однако этот инструмент активно поддерживается, и рано или поздно он сможет создавать новые сессии. Вы можете следить за состоянием функции создания новых сессий в этом выпуске. Функция VNC, похоже, вообще не поддерживается. Вы можете прочитать обсуждение этого здесь.

В любом случае, эта служба предоставляется нативно в GNOME, так что вам не нужно устанавливать дополнительные инструменты, и вы можете получить удаленный доступ к рабочему столу Ubuntu как из Windows, так и из Linux, поскольку служба использует протокол RDP, совместимый с Microsoft RDP.

Как включить удаленный рабочий стол в Ubuntu 22.04 GUI

Управлять настройками удаленного рабочего стола можно с помощью приложения Ubuntu Settings или инструмента grdctl в командной строке. Однако первое включение лучше выполнить с помощью графического интерфейса, поскольку необходимо создать ключи для FreeRDP, а в графическом интерфейсе это сделать гораздо проще, чем в командной строке.

1. Активация удаленного рабочего стола

Откройте Settings -> Sharing -> Remote Desktop.

Затем включите переключатели Remote Desktop и Remote Contol:

В разделе Authentication вы можете просмотреть или изменить имя пользователя и пароль:

2. Проверка состояния службы G-R-D

После этого вы можете убедиться, что служба gnome-remote-desktop запущена, выполнив следующую команду:

systemctl status --user gnome-remote-desktop

А затем убедитесь, что служба ожидает подключения на порту 3389:

ss -tulpn | grep 3389

3. Установка расширения Allow Locked Remote Desktop Extension

Если сессия заблокирована, вы не сможете к ней подключиться. Чтобы исправить это, можно установить расширение Allow Locked Remote Desktop.

4. Включение автоматического входа

Вы не сможете удаленно подключиться, если нет активных пользовательских сессий. Пока эта функция не появится в Gnome, все, что вы можете сделать, это включить автологин. Откройте приложение Settings, перейдите в раздел Пользователи и нажмите Unlock:

Затем введите пароль и включите переключатель Automatic Login:

Теперь вы можете подключиться к своему ПК с удаленного компьютера, используя логин и пароль.

5. Установка пустого пароля для связки ключей

Gnome Remote Desktop хранит логин и пароль для удалённого входа в GNOME Keyring. Если у вас включён автоматический вход, то GNOME Keyring не будет разблокирован, следовательно данные входа будут не доступны и G-R-D не сможет принимать подключения. Для того чтобы это исправить откройте главное меню и запустите утилиту SeaHourse. Ещё она может называться Passwords and Keys:

Откройте контекстное меню для пункта Login и выберите Change Password:

Затем введите текущий пароль (обычно совпадает с паролем пользователя):

На следующем шаге нажмите Enter для того чтобы пароль остался пустым:

После этого подтвердите что действительно хотите оставить пароль пустым, и повторите всё выше перечисленное для Default Keyring если такой пункт у вас есть. Теперь вы можете подключится к своему ПК удалённо используя настроенные ранее логин и пароль.

6. Изменение пароля в командной строке

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

grdctl options command

Например, вы можете получить текущее состояние с помощью команды status:

grdctl status

Для просмотра текущего имени пользователя и пароля запустите команду grdctl с опцией --show credentials:

grdctl status --show-credentials

Также вы можете установить пароль с помощью grdctl через SSH. Например:

grdctl rdp set-credentials kovalets new_password

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

Как включить удаленный рабочий стол в командной строке (альтернативный способ)

Вы можете настроить Gnome Remote Desktop в командной строке. Однако вам все равно понадобится запущенная сессия GNOME. Я нашел этот метод на Reddit и добавил некоторые изменения. Тем не менее, вы можете проверить оригинальный пост здесь, если что-то изменилось. Все команды в этом разделе предназначены для выполнения через SSH.

1. Включение автоматиченского входа

Если нет активных сессий, можно включить автологин в /etc/gdm3/custom.conf. Здесь вам нужно установить true в AutomaticLoginEnable, а затем указать своего пользователя в опции AutomaticLogin. Например, если ваше имя пользователя kovalets, конфигурация будет выглядеть следующим образом:

AutomaticLoginEnable = true
AutomaticLogin = kovalets

2. Разблокировка сессии

После этого вы можете перезагрузить ваш удаленный сервер и затем снова войти в систему с помощью SSH. Список активных сессий можно получить с помощью следующей команды:

sudo loginctl list-sessions

Если сессия заблокирована, ее необходимо разблокировать. В предыдущем примере сессия пользователя с именем kovalets находится на TTY2 и имеет ID 1:

sudo loginctl unlock-session 1

Проверить, заблокирована сессия или нет, можно с помощью следующей команды:

sudo loginctl show-session 1 | grep Locked

3. Разблокировка Gnome Keyring

Gnome Remote Deskop хранит пароли в Gnome Keyring. Поэтому перед выполнением любых команд, связанных с удаленным рабочим столом, его необходимо разблокировать. Сначала остановите gnome-keyring-daemon, запущенный с помощью systemd:

systemctl --user stop gnome-keyring-daemon

Ещё вы можете остановить все запущенные процессы этого сервиса с помощью killall:

killall -TERM -u "$(whoami)" gnome-keyring-daemon

Затем, выполните следующую команду, введите свой пароль, и нажмите два раза сочетание клавиш Ctrl+D:

gnome-keyring-daemon --unlock

Или же вы можете передать пароль с помощью echo:

echo -n "password" | gnome-keyring-daemon --unlock

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

busctl --timeout=10 --user get-property org.freedesktop.secrets /org/freedesktop/secrets/collection/login org.freedesktop.Secret.Collection Locked

Команда должна вывести false если всё прошло успешно. Если вы ввели пароль неверно, то в файле /var/log/auth.log появится сообщение об ошибке:

Однако здесь есть неочевидный баг. Команда gnome-keyring-daemon с опцией --unlock предназначена для использования во время автоматического входа в систему. И если она получает неверный пароль, то думает что это новый пароль вашего пользователя. Поэтому при следующей разблокировке связки ключей, пароль автоматически будет изменен на новый, для того чтобы соответствовать паролю пользователя. В данном случае будет установлен тот самый неверный пароль. И в результате вы больше не сможете разблокировать связку ключей старым паролем. Для того чтобы это исправить удалите все файлы в ~/.local/share/keyring, перезапустите g-k-d или перезагрузите систему и выполните команды описанные выше снова. Поскольку связки ключей нет, будет создана новая и для неё будет использован пароль, который вы введете. Но эти действия удалят все пароли которые были сохранены.

Обратите внимание, что это только первая разблокировка. Если вы хотите чтобы удаленнй стол работал после перезагрузки, установите пустой пароль для gnome-keyring после входа в графический интерфейс.

3. Создание сертификатов FreeRDP

Gnome Remote Desktop использует FreeRDP в качестве бэкенда, которому для корректной работы необходимы сертификаты. Давайте создадим эти сертификаты:

mkdir certs && cd certs

openssl genrsa -out rdp-tls.key 4096

openssl req -new -key rdp-tls.key -subj "/C=US" | openssl x509 -req -days 730 -signkey rdp-tls.key -out rdp-tls.crt

После этого переместите сертификаты в .local/share/gnome-remote-desktop/, который находится в домашней директории вашего пользователя. Например:

mkdir -p /home/kovalets/.local/share/gnome-remote-desktop/

mv rdp-tls.key rdp-tls.crt /home/kovalets/.local/share/gnome-remote-desktop/

4. Настройка G-R-D

На данный момент вы готовы к настройке Gnome Remote Desktop. Сначала проверьте статус службы:

grdctl status

Затем добавьте сертификаты:

grdctl rdp set-tls-cert /home/kovalets/.local/share/gnome-remote-desktop/rdp-tls.crt

grdctl rdp set-tls-key /home/kovalets/.local/share/gnome-remote-desktop/rdp-tls.key

Затем задайте имя пользователя и пароль, которые будут использоваться для удаленного входа:

grdctl rdp set-credentials kovalets password

Эта команда может зависнуть и ничего не сделать. Это может означать, что gnome-keyring не разблокирован, и команда ждет, пока пользователь не введет пароль в графическом интерфейсе. В этом случае следует вернуться к шагу 3 и разблокировать gnome-keyring.

Затем отключите режим "только просмотр", который включен по умолчанию:

grdctl rdp disable-view-only

И, наконец, включите rdp:

grdctl rdp enable

5. Запуск службы G-R-D

Теперь вы знаете, как включить удаленный рабочий стол Ubuntu в командной строке. После этого нужно добавить службу g-r-d systemd в автозапуск и убедиться, что она запущена:

systemctl --user enable gnome-remote-desktop.service

systemctl --user start gnome-remote-desktop.service

Затем можно проверить состояние службы:

systemctl --user status gnome-remote-desktop.service

Также вы можете проверить состояние и учетные данные RDP с помощью grdctl:

grdctl status --show-credentials

Теперь вы можете подключиться к своему ПК удаленно, чтобы убедиться, что удаленный режим рабочего стола Ubuntu 22.04 работает хорошо. Кроме того, не забудьте установить расширение "Allow Locked Remote Desktop" с сайта расширений в графическом интерфейсе.

Как подключиться к удаленному рабочему столу в Linux

Когда ваш удаленный рабочий стол настроен, вы можете подключиться к нему с помощью любого RDP-клиента. Например, Reminna или Connections. Если вы хотите использовать Connections, откройте приложение и нажмите на кнопку Plus:

Затем введите IP-адрес удаленного компьютера, выберите протокол RDP и нажмите Connect:

Затем введите имя пользователя и пароль, указанные ранее:

Здесь показано, как выглядит удаленный рабочий стол:

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

Как зайти на удаленный рабочий стол в Windows

Ну а теперь давайте рассмотрим, как подключиться к удаленному рабочему столу Ubuntu из Windows. С помощью поиска в левом нижнем углу найдите приложение Remote Desktop Connection и откройте его:

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

Введите логин и пароль, выбранные ранее:

Примите сертификат RDP от удаленного сервера:

Теперь вы подключены к удаленному ПК:

Как сбросить настройки Gnome Remote Desktop

Если что-то пошло не так и вы хотите сбросить настройки удаленного рабочего стола и попробовать снова, отключите RDP:

grdctl rdp disable

Очистите учетные данные:

grdctl rdp set-credentials "" ""

Затем удалите сертификаты RDP:

gsettings set org.gnome.desktop.remote-desktop.rdp tls-cert ""

gsettings set org.gnome.desktop.remote-desktop.rdp tls-key ""

Выводы

В этой статье я показал, как включить удаленный рабочий стол в Ubuntu с Wayland с помощью службы Gnome Remote Desktop. Она работает очень хорошо, и я надеюсь, что в скором времени она будет улучшена и получит возможность запускать новые пользовательские сессии.