Файловая система 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

Настройка ClearType в Windows

Настройка ClearType в Windows 10, 7 и XPClearType — это технология сглаживания шрифтов в операционных системах Windows, предназначенная для того, чтобы текст на современных жидкокристаллических мониторах (TFT, IPS, OLED и других) был более удобным для чтения. Использование этой технологии на старых мониторах CRT (с электронно-лучевой трубкой) не требовалось (однако, например, в Windows Vista была включена по умолчанию для всех типов мониторов, отчего на старых CRT экранах могла выглядеть неприглядно).

В этой инструкции подробно о настройке ClearType в Windows 10, 8 и Windows 7. А также кратко о том, как настроить ClearType в Windows XP и Vista и когда это может потребоваться. Также может оказаться полезным: Как исправить размытые шрифты в Windows 10.

Как включить или выключить и настроить ClearType в Windows 10 – 7

Для чего может потребоваться настройка ClearType? В некоторых случаях и для некоторых мониторов (а также, возможно, в зависимости от восприятия пользователя), используемые Windows по умолчанию параметры ClearType могут приводить не к удобству чтения, а к обратному эффекту — шрифт может казаться размытым или просто «необычным».

Изменить отображение шрифтов (если дело именно в ClearType, а не в неверно установленном разрешении монитора, см. Как изменить разрешение экрана монитора) вы можете с помощью соответствующих параметров.

  1. Запустите средство настройки ClearType — сделать это проще всего, начав набирать ClearType в поиске на панели задач Windows 10 или в меню пуск Windows 7. Открыть параметры ClearType
  2. В окне настройки ClearType вы можете выключить функцию (по умолчанию для ЖК мониторов она включена). Если требуется настройка, то не выключайте, а нажмите «Далее». Включение ClearType в Windows
  3. Если на вашем компьютере несколько мониторов, вам будет предложено выбрать один из них или выполнить настройку двух одновременно (лучше делать это по отдельности). Если один — вы сразу перейдете к пункту 4.
  4. Будет выполнена проверка того, что для монитора установлено правильное (физическое разрешение). Выбор монитора для настройки ClearType
  5. После чего в течение нескольких этапов вам будет предлагаться выбрать тот вариант отображения текста, который кажется вам лучше других. Нажимайте «Далее» после каждого из этих этапов. Мастер настройки ClearType
  6. В завершение процесса вы увидите сообщение о том, что «Настройка отображения текста на мониторе завершена». Нажмите «Готово» (внимание: для применения настроек вам потребуются права Администратора на компьютере). Настройка ClearType завершена

Готово, на этом настройка будет закончена. При желании, если результат не понравится, в любой момент вы сможете повторить ее или отключить ClearType.

ClearType в Windows XP и Vista

Функция сглаживания экранных шрифтов ClearType присутствует также в Windows XP и Vista — в первом случае она по умолчанию выключена, а во втором — включена. И в обоих операционных системах нет встроенных инструментов для настройки ClearType, как в предыдущем разделе — только возможность включить и выключить функцию.

Включение и выключение ClearType в этих системах находится в параметрах экрана — оформление — эффекты.

А для настройки существует онлайн средство настройки ClearType для Windows XP и отдельная программа Microsoft ClearType Tuner PowerToy for XP (которая работает и в Windows Vista). Скачать ее можно с официального сайта https://www.microsoft.com/typography/ClearTypePowerToy.mspx (примечание: странным образом, на момент написания статьи загрузка программы с официального сайта не происходит, хотя пользовался ей недавно. Возможно, дело в том, что пробую скачать ее из Windows 10).

После установки программы в панели управления появится пункт ClearType Tuning, запустив который вы сможете пройти процесс настройки ClearType почти также, как в Windows 10 и 7 (и даже с некоторыми дополнительными настройками, такими как параметры контрастности и очередности цветов на матрице экрана на вкладке «Дополнительно» в ClearType Tuner).

ClearType Tuner Powertoy for Windows XP

Обещал рассказать для чего это может понадобиться:

  • Если вы работаете с виртуальной машиной Windows XP или с ней же на новом ЖК мониторе — не забудьте включить ClearType, так как по умолчанию сглаживание шрифтов отключено, а для XP сегодня оно обычно полезно и повысит удобство работы.
  • Если вы запустили Windows Vista на каком-то древнем ПК с ЭЛТ монитором — рекомендую выключить ClearType, если вам предстоит работать за этим устройством.

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

Как пользоваться 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. Она работает очень хорошо, и я надеюсь, что в скором времени она будет улучшена и получит возможность запускать новые пользовательские сессии.

Настройка Kali Linux после установки

Kali Linux — операционная система на основе Debian, предназначенная для аудита безопасности операционных систем, сетевого оборудования, приложений. Помимо поиска уязвимостей в состав ОС входят различные фреймворки, языки программирования и готовые приложения для непосредственного проникновения в скомпрометированную систему или реверс инжиниринга исследуемых программ.

В этой статье мы рассмотрим как выполняется настройка Kali Linux после установки. Kali Linux — очень достойный мультитул для специалистов в области информационной безопасности, хакеров и QA инженеров. Обычно эту операционную систему используют временно, запуская так называемый образ LiveCD, но иногда её устанавливают для постоянного использования.
Читать далее Настройка Kali Linux после установки

Лучшие игры Windows на Linux

С каждым месяцем для Linux становится все больше и больше игр. Благодаря стараниям компании Valve эта платформа поддерживается системой цифровой дистрибуции игр Steam, что мотивирует все больше и больше разработчиков выпускать игры для Linux. Но прогресс в плане игр движется и в другом направлении, система совместимости Windows программ с Linux Wine активно разрабатывается и улучшается, уже можно запускать многие игры Windows через Wine и полноценно играть.

Читать далее Лучшие игры Windows на Linux

Лучшие Live USB дистрибутивы Linux

Не секрет, что многие дистрибутивы можно запустить в Live-режиме, но есть и такие, которые подходят для полноценной работы прямо с USB-накопителя. Учитывая то, что практически все современные компьютеры имеют скоростные порты USB 3.2, а сами Flash-накопители достаточный объём, то работа с внешнего устройства не должны вызывать дискомфорт.

Мы рассмотрим лучшие Live USB дистрибутивы Linux, которые можно использовать для выполнения различных задач. Одни служат для восстановления загрузки, другие могут стать переносной системой. Причём переносные также имеют несколько сфер применения, этот аспект также не останется незамеченным.

Читать далее Лучшие Live USB дистрибутивы Linux

Как перенести временные файлы на другой диск в Windows

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

В этой инструкции пошагово о том, как перенести папки временных файлов на другой диск в Windows 10, 8 и Windows 7 с тем, чтобы в будущем программы создавали свои временные файлы именно там. Также может быть полезным: Как удалить временные файлы в Windows.

Примечание: описанные действия не всегда полезны с точки зрения производительности: например, если вы переносите временные файлы на другой раздел того же жесткого диска (HDD) или с SSD на HDD, это может снизить общую производительность программ, использующих временные файлы. Возможно, более оптимальными решениями в данных случаях будут описанные в следующих руководствах: Как увеличить диск C за счет диска D (точнее один раздел за счет другого), Как очистить диск от ненужных файлов.

Перемещение папки временных файлов в Windows 10, 8 и Windows 7

Расположение временных файлов в Windows задается переменными среды, при этом таких расположений несколько: системные — C:\Windows\TEMP и TMP, а также отдельные для пользователей — C:\ Users\ AppData\ Local\ Temp и Tmp. Наша задача — изменить их таким образом, чтобы перенести временные файлы на другой диск, например, D.

Для этого потребуется выполнить следующие простые шаги:

  1. На нужном вам диске создайте папку для временных файлов, например, D:\Temp (хотя это и не обязательный шаг, а папка должна будет создаться автоматически, рекомендую все же это сделать).
  2. Зайдите в параметры системы. В Windows 10 для этого можно нажать правой кнопкой мыши по «Пуск» и выбрать «Система», в Windows 7 — правой кнопкой по «Мой компьютер» и выбрать «Свойства». Вход в параметры системы
  3. В параметрах системы, слева, выберите «Дополнительные параметры системы». Дополнительные параметры системы
  4. На вкладке «Дополнительно» нажмите кнопку «Переменные среды». Изменение переменных среды Windows
  5. Обратите внимание на те переменные среды, которые носят имена TEMP и TMP, как в верхнем списке (пользовательские), так и в нижнем — системные. Примечание: если на вашем компьютере используется несколько учетных записей пользователей, то может быть разумным для каждого из них создать отдельную папку временных файлов на диске D, а системные переменные из нижнего списка не изменять. Переменные для папок временных файлов
  6. Для каждой такой переменной: выберите ее, нажмите «Изменить» и укажите путь к новой папке временных файлов на другом диске. Перемещение папки временных файлов
  7. После того, как все необходимые переменные среды были изменены, нажмите Ок.

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

Временные файлы на диске D

Если остались вопросы, или что-то работает не так, как нужно — отмечайтесь в комментариях, постараюсь ответить. Кстати, в контексте очистки системного диска в Windows 10, может пригодиться: Как перенести папку OneDrive на другой диск.