Работа в системе

У меня в системе не работает автодополнение команд. Как исправить?

Необходимо установить пакет sqlite:

sudo dnf install sqlite

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

Не работает автодополнение имён пакетов. Как исправить?

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

В качестве временного решения можно прекратить их использование.

Можно ли делать резервную копию корневого раздела работающей системы?

Настоятельно не рекомендуется из-за множества работающих виртуальных файловых систем и псевдофайлов в /sys, /dev, /proc и т.д.

Как сделать копию домашнего каталога?

См. здесь.

Как лучше всего делать резервную копию корневого раздела?

Обязательно загрузимся с Fedora LiveUSB, откроем эмулятор терминала запустим создание посекторного образа:

sudo dd if=/dev/sda1 of=/path/to/image.raw bs=32M status=progress

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

sudo xz -9 -T$(nproc) /path/to/image.raw

Здесь /dev/sda1 - раздел диска, резервную копию которого требуется создать, а /path/to/image.raw - полный путь к файлу образа (должен находиться на другом разделе диска).

Как мне пересобрать образ initrd?

Выполним пересборку образа initrd загруженного ядра:

sudo dracut -f

Выполним пересборку образов initrd всех установленных в системе ядер:

sudo dracut --regenerate-all --force

Как мне переустановить Grub 2?

См. здесь.

Как пересобрать конфиг Grub 2?

Начиная с Fedora 30, по умолчанию вместо устаревшего способа с добавлением ядер через grubby, применяется BLS, поэтому пересборка конфига больше не требуется.

Пересборка конфига Grub 2 для legacy конфигураций:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Пересборка конфигра Grub 2 для UEFI конфигураций:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Что такое BLS и почему он используется по умолчанию?

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

Все параметры генерируются на этапе компиляции ядра и сохраняются в специальном conf-файле, который устанавливается в каталог /boot/loader/entries.

Т.к. это статические файлы, нестандартные параметры ядра теперь устанавливаются при помощи grubenv.

Как перейти с классического Grub 2 на BLS?

Переход с классического Grub 2 на BLS полностью автоматизирован. Выполним специальный скрипт, входящий в поставку Fedora 30+:

sudo grub2-switch-to-blscfg

Как вернуться с BLS на классический Grub 2?

Установим legacy-пакет grubby, т.к. он используется при добавлении ядер:

sudo dnf install grubby

Откроем файл конфигурации Grub 2 в текстовом редакторе:

sudoedit /etc/default/grub

Внесём правки, запретив использование BLS:

GRUB_ENABLE_BLSCFG=false

Пересоберём конфиг Grub 2 и перезагрузим систему.

Система медленно завершает работу. Можно ли это ускорить?

См. здесь.

Как удалить любые файлы, старше 2 суток из указанного каталога?

Ресурсивно удаляем файлы старше 2 суток в указанном каталоге:

find ~/foo-bar -type f -mtime +2 -delete

Удаляем файлы старше 2 суток в указанном каталоге с ограничением рекурсии:

find ~/foo-bar -maxdepth 1 -type f -mtime +2 -delete

Здесь ~/foo-bar - начальный каталог, в котором производится удаление.

Я использую KDE. Как мне настроить скорость двойного клика в GTK приложениях?

Для настройки GTK 2 приложений необходимо открыть файл ~/.gtkrc-2.0 в любом текстовом редакторе (если он отсутствует — создать), затем прописать в самом конце:

gtk-double-click-time=1000

Для GTK 3 нужно редактировать ~/.config/gtk-3.0/settings.ini. В нём следует прописать то же самое:

gtk-double-click-time=1000

Здесь 1000 — время в миллисекундах до активации двойного клика. Документация с подробным описанием всех переменных данных файлов конфигурации здесь.

Возможно ли заблокировать экран из командной строки?

Да:

loginctl lock-session

Можно ли изменить приветствие Bash по умолчанию?

Да, необходимо в пользовательский файл ~/.bashrc добавить строку вида:

export PS1="\[\e[33m\][\[\e[36m\]\u\[\e[0m\]@\[\e[31m\]\h\[\e[0m\] \[\e[32m\]\W\[\e[33m\]]\[\e[35m\]\$\[\e[0m\] "

Существует удобный онлайн генератор таких строк здесь.

Можно ли из shell скрипта менять название терминала?

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

Как настроить синхронизацию времени?

В Fedora для этой цели используется chronyd, который установлен и запущен по умолчанию.

Чтобы узнать включена ли синхронизация времени с NTP серверами, можно использовать утилиту timedatectl.

Если синхронизация отключена, нужно убедиться, что сервис chronyd активирован:

sudo systemctl enable chronyd.service

Получить список NTP серверов, с которыми осуществляется синхронизация, можно так:

chronyc sources

Как узнать какой сервис замедляет загрузку системы?

Вывод информации в виде текста:

systemd-analyze blame

Вывод информации в виде SVG изображения:

systemd-analyze plot > systemd-plot.svg
xdg-open systemd-plot.svg

У меня в Gnome не работает масштабирование окон Qt приложений. Что делать?

Для активации автоматического масштабирования достаточно прописать в файле ~/.bashrc следующие строки:

export QT_AUTO_SCREEN_SCALE_FACTOR=1
export QT_SCALE_FACTOR=2

Переменная QT_AUTO_SCREEN_SCALE_FACTOR имеет тип boolean (значения 1 (включено) или 0 (выключено)) и управляет автоматическим масштабированием в зависимости от разрешения экрана.

Переменная QT_SCALE_FACTOR задаёт коэффициент масштабирования:

  • 1.5 - 150%;
  • 1.75 - 175%;
  • 2 - 200%;
  • 2.5 - 250%;
  • 3 - 300%.

Более подробную информацию можно найти в документации Qt.

Как отключить виртуальную клавиатуру в SDDM?

Чтобы отключить поддержку ввода с виртуальной экранной клавиатуры в менеджере входа в систему SDDM, откроем в текстовом редакторе файл /etc/sddm.conf, а затем найдём и удалим следующую строку:

InputMethod=qtvirtualkeyboard

Если она отсутствует, создадим в блоке [General]:

InputMethod=

Изменения вступят в силу при следующей загрузке системы.

Почему я не могу использовать файловую систему exFAT в Fedora?

Файловая система exFAT защищена множеством патентов Microsoft, поэтому она не может быть включена в ядро Linux и соответственно быть доступной в Fedora по умолчанию.

Для того, чтобы использовать её, необходимо установить пакет fuse-exfat из репозитория RPM Fusion:

sudo dnf install fuse fuse-exfat

При загрузке системы появляется ошибка Failed to start Load Kernel Modules. Как исправить?

Это известная проблема системы виртуализации VirtualBox, использующей out-of-tree модули ядра, но может также проявляться и у пользователей проприетарных драйверов Broadcom.

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

sudo dracut -f

Для вступления изменений в силу требуется перезагрузка:

sudo systemctl reboot

Как настроить автоматическую разблокировку связки ключей KWallet при входе в систему?

KDE предоставляет особый PAM модуль для автоматической разблокировки связки паролей KDE Wallet при входе в систему. Установим его:

sudo dnf install pam-kwallet

Запустим менеджер KWallet (Параметры системы - группа Предпочтения пользователя - Учётная запись - страница Бумажник - кнопка Запустить управление бумажниками), нажмём кнопку Сменить пароль и укажем тот же самый пароль, который используется для текущей учётной записи.

Сохраняем изменения и повторно входим в систему.

Как переместить стандартные каталоги для документов, загрузок и т.д.?

Откроем файл ~/.config/user-dirs.dirs в любом текстовом редакторе и внесём свои правки.

Стандартные настройки:

XDG_DESKTOP_DIR="$HOME/Рабочий стол"
XDG_DOCUMENTS_DIR="$HOME/Документы"
XDG_DOWNLOAD_DIR="$HOME/Загрузки"
XDG_MUSIC_DIR="$HOME/Музыка"
XDG_PICTURES_DIR="$HOME/Изображения"
XDG_PUBLICSHARE_DIR="$HOME/Общедоступные"
XDG_TEMPLATES_DIR="$HOME/Шаблоны"
XDG_VIDEOS_DIR="$HOME/Видео"

Применим изменения:

xdg-user-dirs-update

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

У меня HiDPI дисплей и в SDDM всё отображается очень мелко. Как настроить?

Откроем файл /etc/sddm.conf:

sudoedit /etc/sddm.conf

Добавим в самый конец следующие строки:

[Wayland]
EnableHiDPI=true

[X11]
EnableHiDPI=true

Сохраним изменения и перезапустим систему.

Как отключить отображение пользовательских аватаров в SDDM?

Пользовательские аватары представляют собой файл ~/.face.icon. При запуске SDDM пытается прочитать его для каждого существующего пользователя.

Для отключения данной функции откроем файл /etc/sddm.conf:

sudoedit /etc/sddm.conf

Добавим в самый конец следующие строки:

[Theme]
EnableAvatars=false

Сохраним изменения и перезапустим систему.

Как узнать какие процессы больше всего разряжают аккумулятор ноутбука?

Установим утилиту powertop:

sudo dnf install powertop

Запустим её с правами суперпользователя:

sudo powertop

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

Как собрать информацию о системе?

Установим утилиту inxi:

sudo dnf install inxi

Соберём информацию о системе и выгрузим на fpaste:

inxi -F | fpaste

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

Мой провайдер использует L2TP. Как мне добавить его поддержку?

Плагин L2TP для Network Manager должен присутствовать в Workstation и всех spin live образах по умолчанию, но если его по какой-то причине нет (например была выборана минимальная установка netinstall), то добавить его можно самостоятельно.

Для Gnome/XFCE и других, основанных на GTK:

sudo dnf install NetworkManager-l2tp-gnome

Для KDE:

sudo dnf install plasma-nm-l2tp

После установки необходимо запустить модуль настройки Network Manager (графический или консольный), добавить новое VPN подключение с типом L2TP и указать настройки, выданные провайдером.

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

Как подключиться к Wi-Fi из консоли?

Если ранее уже были созданы Wi-Fi подключения, то выведем их список:

nmcli connection | grep wifi

Теперь запустим выбранное соединение:

nmcli connection up Connection_Name

Как подключиться к Wi-Fi из консоли при отсутствии соединений?

Если готовых соединений для Wi-Fi нет, но известны SSID и пароль, то можно осуществить подключение напрямую:

nmcli device wifi connect MY_NETWORK password XXXXXXXXXX

Здесь MY_NETWORK - название SSID точки доступа, к которой мы планируем подключиться, а XXXXXXXXXX - её пароль.

Как выбрать предпочитаемый текстовый редактор в консольном режиме?

Для выбора предпочитаемого текстового редактора следует применять переменные окружения, прописав их в личном файле ~/.bashrc:

export VISUAL=vim
export EDITOR=vim
export SUDO_EDITOR=vim

VISUAL - предпочитаемый текстовый редактор с графическим интерфейсом пользователя, EDITOR - текстовый, а SUDO_EDITOR используется в sudoedit.

Как выбрать предпочитаемый текстовый редактор для Git?

Хотя Git подчиняется настройкам редактора по умолчанию, допустимо его указать явно в файле конфигурации:

git config --global core.editor vim

Как смонтировать ISO образ в Fedora?

Создадим точку монтирования:

sudo mkdir /mnt/iso

Смонтируем файл образа:

sudo mount -o loop /path/to/image.iso /mnt/iso

По окончании произведём размонтирование:

sudo umount /mnt/iso

Как считать содержимое CD/DVD диска в файл ISO образа?

Для этого можно воспользоваться утилитой dd:

sudo dd if=/dev/sr0 of=/path/to/image.iso bs=4M status=progress

Здесь /dev/sr0 имя устройства привода для чтения оптических дисков, а /path/to/image.iso - файл образа, в котором будет сохранён результат.

Как смонтировать посекторный образ раздела?

Монтирование raw образа раздела, созданного посредством утилиты dd:

sudo mount -o ro,loop /path/to/image.raw /mnt/dd-image

Размонтирование:

sudo umount /mnt/dd-image

Здесь /path/to/image.iso - файл образа на диске.

Как смонтировать посекторный образ диска целиком?

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

Запустим утилиту fdisk и попытаемся найти внутри образа разделы:

sudo fdisk -l /path/to/image.raw

Из вывода нам необходимо узнать значение Sector size, а также Start всех необходимых разделов.

Вычислим смещение относительно начала образа для каждого раздела по формуле Start * Sector size. К примеру если у первого Start равно 2048, а Sector size диска 512, то получим 2048 * 512 == 1048576.

Произведём монтирование раздела по смещению 1048576:

sudo mount -o ro,loop,offset=1048576 /path/to/image.raw /mnt/dd-image

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

sudo umount /mnt/dd-image

Здесь /path/to/image.iso - файл образа на диске.

Как изменить часовой пояс?

Изменить часовой пояс можно посредством утилиты timedatectl:

sudo timedatectl set-timezone Europe/Moscow

Как изменить список доступных раскладок клавиатуры и настроить их переключение в графическом режиме?

Настройка переключения по Alt + Shift, раскладки EN и RU:

sudo localectl set-x11-keymap us,ru pc105 "" grp:alt_shift_toggle

Настройка переключения по Ctrl + Shift, раскладки EN и RU:

sudo localectl set-x11-keymap us,ru pc105 "" grp:ctrl_shift_toggle

Как изменить список доступных раскладок клавиатуры и настроить их переключение в текстовом режиме?

Установка русской раскладки и режимов переключения по умолчанию (Alt + Shift):

sudo localectl set-keymap ru

Установка русской раскладки и режима переключения Alt + Shift:

sudo localectl set-keymap ruwin_alt_sh-UTF-8

Установка русской раскладки и режима переключения Ctrl + Shift:

sudo localectl set-keymap ruwin_ct_sh-UTF-8

Можно ли заставить GTK приложения выглядеть нативно в KDE?

Установим пакет с темой Breeze для GTK2 и GTK3:

sudo dnf install breeze-gtk

Зайдём в Параметры системы - Внешний вид - Оформление приложений - Стиль программ GNOME (GTK+).

Выберем Breeze (при использовании тёмной темы в KDE - Breeze Dark) в качестве темы GTK2 и GTK3, а также укажем шрифт, который будет использовать при отображении диалоговых окон.

Также установим Breeze для курсоров мыши и темы значков. Применим изменения и перезапустим все GTK приложения.

Какие полезные комбинации клавиш существуют при наборе команд в терминале?

Существуют следующие комбинации:

  • Ctrl + A - перемещает текстовый курсор на начало строки (аналогична Home);
  • Ctrl + E - перемещает текстовый курсор в конец строки (аналогична End);
  • Ctrl + B - перемещает текстовый курсор на один символ влево (аналогична стрелке влево);
  • Ctrl + F - перемещает текстовый курсор на один символ вправо (аналогична стрелке вправо);
  • Alt + B - перемещает текстовый курсор на одно слово влево;
  • Alt + F - перемещает текстовый курсор на одно слово вправо;
  • Ctrl + W - удаляет последнее слово в строке;
  • Ctrl + U - удаляет всё из строки ввода;
  • Ctrl + K - удаляет всё, что находится правее текущей позиции текстового курсора;
  • Ctrl + Y - отменяет последнюю операцию удаления;
  • Ctrl + _ - отменяет любую последнюю операцию.

Как файловые менеджеры определяют типы файлов?

Если в ОС Microsoft Windows тип файлов определяется исключительно по их расширению, то в GNU/Linux для этого используется mime-типы.

В системе ведётся база соответствия mime-типов установленным приложениям, соответствующая стандарту XDG Free Desktop.

Для получения mime-типа конкретного файла можно использовать утилиту file:

file foo-bar.txt

Для открытия файла в ассоциированном с его mime-типом приложении применяется утилита xdg-open:

xdg-open foo-bar.txt

Как изменить язык (локализацию) системы?

Получим список доступных локалей:

localectl list-locales

Установим английскую локаль для системы:

sudo localectl set-locale LANG=en_US.utf8

Установим русскую локаль для системы:

sudo localectl set-locale LANG=ru_RU.utf8

Как запустить приложение с другой локалью?

Для запуска приложения с другой локалью необходимо передать ему новое значение в переменной окружения LANG:

LANG=en_US.utf8 foo-bar

Как запустить приложение с другим часовым поясом?

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

TZ=CET foo-bar

Здесь вместо CET следует указать название часового пояса.

Как определить какой тип сессии используется: X11 или Wayland?

Для определения типа текущей сессии, необходимо получить значение глобальной переменной окружения XDG_SESSION_TYPE:

echo $XDG_SESSION_TYPE

Как вывести в консоль краткую информацию об установленной системе?

Установим neofetch:

sudo dnf install neofetch

Запустим и выведем информацию о системе в консоль:

neofetch

Как отключить анимированную каплю при загрузке системы?

Для отключения анимации загрузки (plymouth boot screen) необходимо и достаточно добавить параметры ядра rd.plymouth=0 plymouth.enable=0, после чего пересобрать конфиг Grub 2.

Как изменить тему экрана, отображающегося при загрузке системы?

Выведем список установленных тем Plymouth boot screen:

plymouth-set-default-theme --list

Определим текущую:

plymouth-set-default-theme

Установим например charge:

sudo plymouth-set-default-theme charge -R

Параметр -R включает автоматическую пересборку initrd ядра.

Все NTFS тома монтируются в режиме только для чтения. Как исправить?

Некорректное размонтирование разделов - это особенность работы режима гибридного завершения работы (hybrid shutdown) в ОС Microsoft Windows, при котором система не завершает свою работу, а вместо этого всегда переходит в режим глубокого сна.

Данный режим несовместим с другими операционными системами, в т.ч. GNU/Linux, поэтому должен быть отключён в обязательном порядке при использовании dual-boot.

  1. запустим командную строку с правами администратора, затем выполним powercfg -h off;
  2. запретим использование режима быстрой загрузки (fast boot) в настройках UEFI BIOS.