using-system.rst 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175
  1. ..
  2. SPDX-FileCopyrightText: 2018-2023 EasyCoding Team and contributors
  3. SPDX-License-Identifier: CC-BY-SA-4.0
  4. .. _using-system:
  5. ******************
  6. Работа в системе
  7. ******************
  8. .. index:: autocompletion, bash
  9. .. _autocompletion:
  10. У меня в системе не работает автодополнение команд. Как исправить?
  11. =====================================================================
  12. Необходимо установить пакет sqlite:
  13. .. code-block:: text
  14. sudo dnf install sqlite
  15. При определённых условиях он может не быть установлен и из-за этого система автоматического дополнения команд может перестать функционировать.
  16. .. index:: autocompletion, bash, dnf
  17. .. _dnf-completion:
  18. Не работает автодополнение имён пакетов. Как исправить?
  19. ==========================================================
  20. Существует `баг <https://bugzilla.redhat.com/show_bug.cgi?id=1625674>`__, который блокирует возможность использования автоматического дополнения имён пакетов в dnf при наличии в системе подключённых сторонних репозиториев.
  21. В качестве временного решения можно прекратить их использование.
  22. .. index:: backup
  23. .. _backup-system:
  24. Можно ли делать резервную копию корневого раздела работающей системы?
  25. =========================================================================
  26. Настоятельно не рекомендуется из-за множества работающих виртуальных файловых систем и псевдофайлов в ``/sys``, ``/dev``, ``/proc`` и т.д.
  27. .. index:: backup
  28. .. _backup-home:
  29. Как сделать копию домашнего каталога?
  30. =========================================
  31. См. `здесь <https://www.easycoding.org/2017/09/03/avtomatiziruem-rezervnoe-kopirovanie-v-fedora.html>`__.
  32. .. index:: backup
  33. .. _backup-create:
  34. Как лучше всего делать резервную копию корневого раздела?
  35. =============================================================
  36. Обязательно загрузимся с :ref:`Fedora LiveUSB <usb-flash>`, откроем эмулятор терминала запустим создание :ref:`посекторного образа <dd-mount>`:
  37. .. code-block:: text
  38. sudo dd if=/dev/sda1 of=/path/to/image.raw bs=32M status=progress
  39. Воспользуемся утилитой **xz** для эффективного сжатия полученного образа диска:
  40. .. code-block:: text
  41. sudo xz -9 -T$(nproc) /path/to/image.raw
  42. Здесь **/dev/sda1** -- раздел диска, резервную копию которого требуется создать, а **/path/to/image.raw** -- полный путь к файлу образа (должен находиться на другом разделе диска).
  43. .. index:: initrd, rebuild initrd
  44. .. _initrd-rebuild:
  45. Как мне пересобрать образ initrd?
  46. ====================================
  47. Выполним пересборку образа initrd загруженного ядра:
  48. .. code-block:: text
  49. sudo dracut -f
  50. Выполним пересборку образов initrd всех установленных в системе ядер:
  51. .. code-block:: text
  52. sudo dracut --regenerate-all --force
  53. .. index:: boot, grub
  54. .. _grub-reinstall:
  55. Как мне переустановить Grub 2?
  56. ====================================
  57. См. `здесь <https://fedoraproject.org/wiki/GRUB_2>`__.
  58. .. index:: boot, grub, bls, loader
  59. .. _grub-rebuild:
  60. Как пересобрать конфиг Grub 2?
  61. ====================================
  62. Начиная с Fedora 30, по умолчанию вместо `устаревшего способа <https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault>`__ с добавлением ядер через grubby, применяется :ref:`BLS <grub-bls-info>`, поэтому пересборка конфига больше не требуется.
  63. Пересборка конфига Grub 2 для `всех конфигураций <https://fedoraproject.org/wiki/Changes/UnifyGrubConfig>`__ Fedora:
  64. .. code-block:: text
  65. sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  66. .. index:: boot, grub, bls, loader
  67. .. _grub-bls-info:
  68. Что такое BLS и почему он используется по умолчанию?
  69. =======================================================
  70. `BLS <https://systemd.io/BOOT_LOADER_SPECIFICATION>`__ -- это универсальный формат параметров загрузки, который будет поддерживаться большинством современных загрузчиков.
  71. Все параметры генерируются на этапе компиляции ядра и сохраняются в специальном conf-файле, который устанавливается в каталог ``/boot/loader/entries``.
  72. Т.к. это статические файлы, :ref:`нестандартные параметры ядра <kernelpm-perm>` теперь устанавливаются при помощи ``grubenv``.
  73. .. index:: boot, grub, bls, loader
  74. .. _grub-to-bls:
  75. Как перейти с классического Grub 2 на BLS?
  76. ==============================================
  77. Переход с классического Grub 2 на BLS полностью автоматизирован. Выполним специальный скрипт, входящий в поставку Fedora 30+:
  78. .. code-block:: text
  79. sudo grub2-switch-to-blscfg
  80. .. index:: boot, grub, bls, loader
  81. .. _grub-from-bls:
  82. Как вернуться с BLS на классический Grub 2?
  83. ==============================================
  84. Установим пакет **grubby**, т.к. он используется при добавлении ядер:
  85. .. code-block:: text
  86. sudo dnf install grubby
  87. Откроем файл конфигурации Grub 2 в текстовом редакторе:
  88. .. code-block:: text
  89. sudoedit /etc/default/grub
  90. Внесём правки, запретив использование BLS:
  91. .. code-block:: text
  92. GRUB_ENABLE_BLSCFG=false
  93. :ref:`Пересоберём конфиг Grub 2 <grub-rebuild>` и перезагрузим систему.
  94. .. index:: slow shutdown, shutdown
  95. .. _slow-shutdown:
  96. Система медленно завершает работу. Можно ли это ускорить?
  97. ============================================================
  98. См. `здесь <https://www.easycoding.org/2016/08/08/uskoryaem-zavershenie-raboty-fedora-24.html>`__.
  99. .. index:: files, remove, find
  100. .. _remove-old-files:
  101. Как удалить любые файлы, старше 2 суток из указанного каталога?
  102. ==================================================================
  103. Ресурсивно удаляем файлы старше 2 суток в указанном каталоге:
  104. .. code-block:: text
  105. find ~/foo-bar -type f -mtime +2 -delete
  106. Удаляем файлы старше 2 суток в указанном каталоге с ограничением рекурсии:
  107. .. code-block:: text
  108. find ~/foo-bar -maxdepth 1 -type f -mtime +2 -delete
  109. Здесь **~/foo-bar** -- начальный каталог, в котором производится удаление.
  110. .. index:: kde, gtk, double-click
  111. .. _double-click-speed:
  112. Я использую KDE. Как мне настроить скорость двойного клика в GTK приложениях?
  113. ==================================================================================
  114. Для настройки GTK 2 приложений необходимо открыть файл ``~/.gtkrc-2.0`` в любом текстовом редакторе (если он отсутствует — создать), затем прописать в самом конце:
  115. .. code-block:: text
  116. gtk-double-click-time=1000
  117. Для GTK 3 нужно редактировать ``~/.config/gtk-3.0/settings.ini``. В нём следует прописать то же самое:
  118. .. code-block:: text
  119. gtk-double-click-time=1000
  120. Здесь **1000** — время в миллисекундах до активации двойного клика. Документация с подробным описанием всех переменных данных файлов конфигурации `здесь <https://developer.gnome.org/gtk3/stable/GtkSettings.html>`__.
  121. .. index:: console, lock screen, lock session
  122. .. _block-screen:
  123. Возможно ли заблокировать экран из командной строки?
  124. =======================================================
  125. Да:
  126. .. code-block:: text
  127. loginctl lock-session
  128. .. index:: bash
  129. .. _bash-shell:
  130. Можно ли изменить приветствие Bash по умолчанию?
  131. ===================================================
  132. Да, необходимо в пользовательский файл ``~/.bashrc`` добавить строку вида:
  133. .. code-block:: text
  134. export PS1="\[\e[33m\][\[\e[36m\]\u\[\e[0m\]@\[\e[31m\]\h\[\e[0m\] \[\e[32m\]\W\[\e[33m\]]\[\e[35m\]\$\[\e[0m\] "
  135. Существует удобный онлайн генератор таких строк `здесь <http://bashrcgenerator.com/>`__.
  136. .. index:: bash, title, console
  137. .. _bash-title:
  138. Можно ли из shell скрипта менять название терминала?
  139. =======================================================
  140. Да, при помощи `управляющих последовательностей <https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_ANSI>`__. Ими же можно менять цвет текста вывода и многое другое.
  141. .. index:: time, synchronization, ntp, network
  142. .. _configure-ntp:
  143. Как настроить синхронизацию времени?
  144. =======================================
  145. В Fedora для этой цели используется chronyd, который установлен и запущен по умолчанию.
  146. Чтобы узнать включена ли синхронизация времени с NTP серверами, можно использовать утилиту **timedatectl**.
  147. Если синхронизация отключена, нужно убедиться, что сервис chronyd активирован:
  148. .. code-block:: text
  149. sudo systemctl enable chronyd.service
  150. Получить список NTP серверов, с которыми осуществляется синхронизация, можно так:
  151. .. code-block:: text
  152. chronyc sources
  153. .. index:: systemd, boot, speed
  154. .. _systemd-analyze:
  155. Как узнать какой сервис замедляет загрузку системы?
  156. ======================================================
  157. Вывод информации в виде текста:
  158. .. code-block:: text
  159. systemd-analyze blame
  160. Вывод информации в виде SVG изображения:
  161. .. code-block:: text
  162. systemd-analyze plot > systemd-plot.svg
  163. xdg-open systemd-plot.svg
  164. .. index:: window, gnome, scaling, scaling factor, hidpi, qt
  165. .. _window-hidpi-qt:
  166. У меня в Gnome не работает масштабирование окон Qt приложений. Что делать?
  167. =============================================================================
  168. Для активации автоматического масштабирования достаточно прописать в файле ``~/.bashrc`` следующие строки:
  169. .. code-block:: text
  170. export QT_AUTO_SCREEN_SCALE_FACTOR=1
  171. export QT_SCALE_FACTOR=2
  172. Переменная ``QT_AUTO_SCREEN_SCALE_FACTOR`` имеет тип boolean (значения **1** (включено) или **0** (выключено)) и управляет автоматическим масштабированием в зависимости от разрешения экрана.
  173. Переменная ``QT_SCALE_FACTOR`` задаёт коэффициент масштабирования:
  174. * **1.5** -- 150%;
  175. * **1.75** -- 175%;
  176. * **2** -- 200%;
  177. * **2.5** -- 250%;
  178. * **3** -- 300%.
  179. Более подробную информацию можно найти в `документации Qt <https://doc.qt.io/qt-5/highdpi.html>`__.
  180. .. index:: sddm, dm, disable virtual keyboard, keyboard
  181. .. _sddm-disable-vkb:
  182. Как отключить виртуальную клавиатуру в SDDM?
  183. =================================================
  184. Чтобы отключить поддержку ввода с виртуальной экранной клавиатуры в менеджере входа в систему SDDM, откроем в текстовом редакторе файл ``/etc/sddm.conf``, а затем найдём и удалим следующую строку:
  185. .. code-block:: text
  186. InputMethod=qtvirtualkeyboard
  187. Если она отсутствует, создадим в блоке ``[General]``:
  188. .. code-block:: text
  189. InputMethod=
  190. Изменения вступят в силу при следующей загрузке системы.
  191. .. index:: systemd, failed to start modules, kernel, virtualbox
  192. .. _failed-to-start:
  193. При загрузке системы появляется ошибка Failed to start Load Kernel Modules. Как исправить?
  194. ==============================================================================================
  195. Это известная проблема системы виртуализации :ref:`VirtualBox <virtualbox>`, использующей out-of-tree модули ядра, но может также проявляться и у пользователей проприетарных :ref:`драйверов Broadcom <broadcom-drivers>`.
  196. Для исправления необходимо **после каждого обновления ядра** выполнять пересборку initrd:
  197. .. code-block:: text
  198. sudo dracut -f
  199. Для вступления изменений в силу требуется перезагрузка:
  200. .. code-block:: text
  201. sudo systemctl reboot
  202. .. index:: keyring, kwallet, wallet
  203. .. _kwallet-pam:
  204. Как настроить автоматическую разблокировку связки ключей KWallet при входе в систему?
  205. =========================================================================================
  206. KDE предоставляет особый PAM модуль для автоматической разблокировки связки паролей KDE Wallet при входе в систему. Установим его:
  207. .. code-block:: text
  208. sudo dnf install pam-kwallet
  209. Запустим менеджер KWallet (**Параметры системы** -- группа **Предпочтения пользователя** -- **Учётная запись** -- страница **Бумажник** -- кнопка **Запустить управление бумажниками**), нажмём кнопку **Сменить пароль** и укажем тот же самый пароль, который используется для текущей учётной записи.
  210. Сохраняем изменения и повторно входим в систему.
  211. .. index:: xdg, directories
  212. .. _xdg-reallocate:
  213. Как переместить стандартные каталоги для документов, загрузок и т.д.?
  214. ==========================================================================
  215. Откроем файл ``~/.config/user-dirs.dirs`` в любом текстовом редакторе и внесём свои правки.
  216. Стандартные настройки:
  217. .. code-block:: ini
  218. XDG_DESKTOP_DIR="$HOME/Рабочий стол"
  219. XDG_DOCUMENTS_DIR="$HOME/Документы"
  220. XDG_DOWNLOAD_DIR="$HOME/Загрузки"
  221. XDG_MUSIC_DIR="$HOME/Музыка"
  222. XDG_PICTURES_DIR="$HOME/Изображения"
  223. XDG_PUBLICSHARE_DIR="$HOME/Общедоступные"
  224. XDG_TEMPLATES_DIR="$HOME/Шаблоны"
  225. XDG_VIDEOS_DIR="$HOME/Видео"
  226. Применим изменения:
  227. .. code-block:: text
  228. xdg-user-dirs-update
  229. Убедитесь, что перед применением изменений данные каталоги существуют, иначе будет выполнен сброс на стандартное значение.
  230. .. index:: sddm, hidpi, scaling
  231. .. _sddm-hidpi:
  232. У меня HiDPI дисплей и в SDDM всё отображается очень мелко. Как настроить?
  233. ==============================================================================
  234. Откроем файл ``/etc/sddm.conf``:
  235. .. code-block:: text
  236. sudoedit /etc/sddm.conf
  237. Добавим в самый конец следующие строки:
  238. .. code-block:: ini
  239. [Wayland]
  240. EnableHiDPI=true
  241. [X11]
  242. EnableHiDPI=true
  243. Сохраним изменения и перезапустим систему.
  244. .. index:: sddm, avatar
  245. .. _sddm-avatars:
  246. Как отключить отображение пользовательских аватаров в SDDM?
  247. ===============================================================
  248. Пользовательские аватары представляют собой файл ``~/.face.icon``. При запуске SDDM пытается прочитать его для каждого существующего пользователя.
  249. Для отключения данной функции откроем файл ``/etc/sddm.conf``:
  250. .. code-block:: text
  251. sudoedit /etc/sddm.conf
  252. Добавим в самый конец следующие строки:
  253. .. code-block:: ini
  254. [Theme]
  255. EnableAvatars=false
  256. Сохраним изменения и перезапустим систему.
  257. .. index:: powertop, top, power
  258. .. _power-usage:
  259. Как узнать какие процессы больше всего разряжают аккумулятор ноутбука?
  260. ===========================================================================
  261. Установим утилиту **powertop**:
  262. .. code-block:: text
  263. sudo dnf install powertop
  264. Запустим её с правами суперпользователя:
  265. .. code-block:: text
  266. sudo powertop
  267. Процессы, которые больше всех влияют на скорость разряда аккумуляторных батарей, будут отображаться в верхней части.
  268. .. index:: system information, info
  269. .. _system-info:
  270. Как собрать информацию о системе?
  271. =====================================
  272. Установим утилиту **inxi**:
  273. .. code-block:: text
  274. sudo dnf install inxi
  275. Соберём информацию о системе и выгрузим на fpaste:
  276. .. code-block:: text
  277. inxi -F | fpaste
  278. На выходе будет сгенерирована уникальная ссылка, которую можно передать на :ref:`форум, в чат <get-help>` и т.д.
  279. .. index:: networking, vpn, l2tp, ipsec
  280. .. _nm-l2tp:
  281. Мой провайдер использует L2TP. Как мне добавить его поддержку?
  282. ==================================================================
  283. Плагин L2TP для Network Manager должен присутствовать в Workstation и всех spin live образах по умолчанию, но если его по какой-то причине нет (например, была выборана минимальная установка netinstall), то добавить его можно самостоятельно.
  284. Для Gnome/XFCE и других, основанных на GTK:
  285. .. code-block:: text
  286. sudo dnf install NetworkManager-l2tp-gnome
  287. Для KDE:
  288. .. code-block:: text
  289. sudo dnf install plasma-nm-l2tp
  290. После установки необходимо запустить модуль настройки Network Manager (графический или консольный), добавить новое VPN подключение с типом L2TP и указать настройки, выданные провайдером.
  291. Однако следует помнить, что у некоторых провайдеров используется L2TP со специальными патчами Microsoft (т.н. win реализация), что может вызывать нестабильность и сбои при подключении. В таком случае рекомендуется приобрести любой недорогой роутер с поддержкой L2TP (можно б/у) и использовать его в качестве клиента для подключения к сети провайдера.
  292. .. index:: networking, network manager, nmcli, console, wi-fi
  293. .. _nm-wificon:
  294. Как подключиться к Wi-Fi из консоли?
  295. ========================================
  296. Если ранее уже были созданы Wi-Fi подключения, то выведем их список:
  297. .. code-block:: text
  298. nmcli connection | grep wifi
  299. Теперь запустим выбранное соединение:
  300. .. code-block:: text
  301. nmcli connection up Connection_Name
  302. .. index:: networking, network manager, nmcli, console, wi-fi
  303. .. _nm-wificli:
  304. Как подключиться к Wi-Fi из консоли при отсутствии соединений?
  305. ==================================================================
  306. Если :ref:`готовых соединений <nm-wificon>` для Wi-Fi нет, но известны SSID и пароль, то можно осуществить подключение напрямую:
  307. .. code-block:: text
  308. nmcli device wifi connect MY_NETWORK password XXXXXXXXXX
  309. Здесь **MY_NETWORK** -- название SSID точки доступа, к которой мы планируем подключиться, а **XXXXXXXXXX** -- её пароль.
  310. .. index:: text, editor, text editor, console
  311. .. _editor-selection:
  312. Как выбрать предпочитаемый текстовый редактор в консольном режиме?
  313. =======================================================================
  314. Для выбора предпочитаемого текстового редактора следует применять :ref:`переменные окружения <env-set>`, прописав их в личном файле ``~/.bashrc``:
  315. .. code-block:: text
  316. export VISUAL=vim
  317. export EDITOR=vim
  318. export SUDO_EDITOR=vim
  319. **VISUAL** -- предпочитаемый текстовый редактор с графическим интерфейсом пользователя, **EDITOR** -- текстовый, а **SUDO_EDITOR** используется в :ref:`sudoedit <sudo-edit-config>`.
  320. .. index:: text, editor, git, text editor
  321. .. _editor-git:
  322. Как выбрать предпочитаемый текстовый редактор для Git?
  323. ===========================================================
  324. Хотя Git подчиняется настройкам :ref:`редактора по умолчанию <editor-selection>`, допустимо его указать явно в файле конфигурации:
  325. .. code-block:: text
  326. git config --global core.editor vim
  327. .. index:: iso, image, mount
  328. .. _iso-mount:
  329. Как смонтировать ISO образ в Fedora?
  330. ========================================
  331. Создадим точку монтирования:
  332. .. code-block:: text
  333. sudo mkdir /mnt/iso
  334. Смонтируем файл образа:
  335. .. code-block:: text
  336. sudo mount -o loop /path/to/image.iso /mnt/iso
  337. По окончании произведём размонтирование:
  338. .. code-block:: text
  339. sudo umount /mnt/iso
  340. .. index:: iso, image
  341. .. _iso-create:
  342. Как считать содержимое CD/DVD диска в файл ISO образа?
  343. ==========================================================
  344. Для этого можно воспользоваться утилитой **dd**:
  345. .. code-block:: text
  346. sudo dd if=/dev/sr0 of=/path/to/image.iso bs=4M status=progress
  347. Здесь **/dev/sr0** имя устройства привода для чтения оптических дисков, а **/path/to/image.iso** -- файл образа, в котором будет сохранён результат.
  348. .. index:: dd, disk, drive, image
  349. .. _dd-mount:
  350. Как смонтировать посекторный образ раздела?
  351. ================================================
  352. Монтирование raw образа раздела, созданного посредством утилиты **dd**:
  353. .. code-block:: text
  354. sudo mount -o ro,loop /path/to/image.raw /mnt/dd-image
  355. Размонтирование:
  356. .. code-block:: text
  357. sudo umount /mnt/dd-image
  358. Здесь **/path/to/image.iso** -- файл образа на диске.
  359. .. index:: dd, disk, drive, image
  360. .. _dd-fullraw:
  361. Как смонтировать посекторный образ диска целиком?
  362. ======================================================
  363. Смонтировать образ диска целиком напрямую не получится, поэтому сначала придётся определить смещения разделов относительно его начала.
  364. Запустим утилиту **fdisk** и попытаемся найти внутри образа разделы:
  365. .. code-block:: text
  366. sudo fdisk -l /path/to/image.raw
  367. Из вывода нам необходимо узнать значение **Sector size**, а также **Start** всех необходимых разделов.
  368. Вычислим смещение относительно начала образа для каждого раздела по формуле **Start * Sector size**. К примеру если у первого Start равно 2048, а Sector size диска 512, то получим 2048 * 512 == 1048576.
  369. Произведём монтирование раздела по смещению 1048576:
  370. .. code-block:: text
  371. sudo mount -o ro,loop,offset=1048576 /path/to/image.raw /mnt/dd-image
  372. Повторим операции для всех остальных разделов, обнаруженных внутри образа. По окончании работы выполним размонтирование:
  373. .. code-block:: text
  374. sudo umount /mnt/dd-image
  375. Здесь **/path/to/image.iso** -- файл образа на диске.
  376. .. index:: timezone
  377. .. _set-timezone:
  378. Как изменить часовой пояс?
  379. ==============================
  380. Изменить часовой пояс можно посредством утилиты **timedatectl**:
  381. .. code-block:: text
  382. sudo timedatectl set-timezone Europe/Moscow
  383. .. index:: keyboard, layout, gui
  384. .. _set-keyboard-gui:
  385. Как изменить список доступных раскладок клавиатуры и настроить их переключение в графическом режиме?
  386. ========================================================================================================
  387. Настройка переключения по **Alt + Shift**, раскладки EN и RU:
  388. .. code-block:: text
  389. sudo localectl set-x11-keymap us,ru pc105 "" grp:alt_shift_toggle
  390. Настройка переключения по **Ctrl + Shift**, раскладки EN и RU:
  391. .. code-block:: text
  392. sudo localectl set-x11-keymap us,ru pc105 "" grp:ctrl_shift_toggle
  393. .. index:: keyboard, layout, console, text mode
  394. .. _set-keyboard-console:
  395. Как изменить список доступных раскладок клавиатуры и настроить их переключение в текстовом режиме?
  396. ======================================================================================================
  397. Установка русской раскладки и режимов переключения по умолчанию (**Alt + Shift**):
  398. .. code-block:: text
  399. sudo localectl set-keymap ru
  400. Установка русской раскладки и режима переключения **Alt + Shift**:
  401. .. code-block:: text
  402. sudo localectl set-keymap ruwin_alt_sh-UTF-8
  403. Установка русской раскладки и режима переключения **Ctrl + Shift**:
  404. .. code-block:: text
  405. sudo localectl set-keymap ruwin_ct_sh-UTF-8
  406. .. index:: kde, plasma, gtk, styles
  407. .. _gtk-plasma-style:
  408. Можно ли заставить GTK приложения выглядеть нативно в KDE?
  409. ==============================================================
  410. Установим пакет с темой Breeze для GTK2 и GTK3:
  411. .. code-block:: text
  412. sudo dnf install breeze-gtk
  413. Зайдём в **Параметры системы** -- **Внешний вид** -- **Оформление приложений** -- **Стиль программ GNOME (GTK+)**.
  414. Выберем **Breeze** (при использовании тёмной темы в KDE -- **Breeze Dark**) в качестве темы GTK2 и GTK3, а также укажем шрифт, который будет использовать при отображении диалоговых окон.
  415. Также установим **Breeze** для курсоров мыши и темы значков. Применим изменения и перезапустим все GTK приложения.
  416. .. index:: bash, command-line, hotkeys
  417. .. _bash-hotkeys:
  418. Какие полезные комбинации клавиш существуют при наборе команд в терминале?
  419. =============================================================================
  420. Существуют следующие комбинации:
  421. * **Ctrl + A** -- перемещает текстовый курсор на начало строки (аналогична **Home**);
  422. * **Ctrl + E** -- перемещает текстовый курсор в конец строки (аналогична **End**);
  423. * **Ctrl + B** -- перемещает текстовый курсор на один символ влево (аналогична стрелке влево);
  424. * **Ctrl + F** -- перемещает текстовый курсор на один символ вправо (аналогична стрелке вправо);
  425. * **Alt + B** -- перемещает текстовый курсор на одно слово влево;
  426. * **Alt + F** -- перемещает текстовый курсор на одно слово вправо;
  427. * **Ctrl + W** -- удаляет последнее слово в строке;
  428. * **Ctrl + U** -- удаляет всё из строки ввода;
  429. * **Ctrl + K** -- удаляет всё, что находится правее текущей позиции текстового курсора;
  430. * **Ctrl + Y** -- отменяет последнюю операцию удаления;
  431. * **Ctrl + _** -- отменяет любую последнюю операцию.
  432. .. index:: kde, plasma, url, mime type, link
  433. .. _kde-link-mime:
  434. При нажатии по любой гиперссылке она открывается не в браузере, а соответствующем приложении. Как исправить?
  435. ===============================================================================================================
  436. Согласно настроек по умолчанию, при нажатии на любую ссылку вне браузера (например, в мессенджере) компонент KDE KIO попытается определить mime-тип файла, загружаемого по ней, и открыть её в ассоциированном с приложении. Например, если это изображение JPEG, то оно будет загружено в Gwenview.
  437. Отключить данную функцию можно в **Параметры системы** -- **Предпочтения пользователя** -- **Приложения** -- **Приложения по умолчанию** -- раздел **Браузер** -- пункт **Открывать адреса http и https** -- **В следующем приложении** -- **Firefox**.
  438. .. index:: mime type, file type
  439. .. _file-types:
  440. Как файловые менеджеры определяют типы файлов?
  441. =================================================
  442. Если в ОС Microsoft Windows тип файлов определяется исключительно по их расширению, то в GNU/Linux для этого используется `mime-типы <https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_MIME-%D1%82%D0%B8%D0%BF%D0%BE%D0%B2>`__.
  443. В системе ведётся база соответствия mime-типов установленным приложениям, соответствующая `стандарту XDG Free Desktop <https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html>`__.
  444. Для получения mime-типа конкретного файла можно использовать утилиту **file**:
  445. .. code-block:: text
  446. file foo-bar.txt
  447. Для открытия файла в ассоциированном с его mime-типом приложении применяется утилита **xdg-open**:
  448. .. code-block:: text
  449. xdg-open foo-bar.txt
  450. .. index:: locale, localization, language
  451. .. _system-locale:
  452. Как изменить язык (локализацию) системы?
  453. ============================================
  454. Получим список доступных локалей:
  455. .. code-block:: text
  456. localectl list-locales
  457. Установим английскую локаль для системы:
  458. .. code-block:: text
  459. sudo localectl set-locale LANG=en_US.UTF-8
  460. Установим русскую локаль для системы:
  461. .. code-block:: text
  462. sudo localectl set-locale LANG=ru_RU.UTF-8
  463. .. index:: locale, localization, language
  464. .. _application-locale:
  465. Как запустить приложение с другой локалью?
  466. ==============================================
  467. Для запуска приложения с другой локалью необходимо передать ему новое значение в :ref:`переменной окружения <env-set>` **LANG**:
  468. .. code-block:: text
  469. LANG=en_US.UTF-8 foo-bar
  470. .. index:: timezone, time
  471. .. _application-timezone:
  472. Как запустить приложение с другим часовым поясом?
  473. ====================================================
  474. Для запуска приложения с другим часовым поясом необходимо передать ему новое значение в :ref:`переменной окружения <env-set>` **TZ**:
  475. .. code-block:: text
  476. TZ=CET foo-bar
  477. Здесь вместо **CET** следует указать название часового пояса.
  478. .. index:: x11, wayland, session
  479. .. _session-type:
  480. Как определить какой тип сессии используется: X11 или Wayland?
  481. =================================================================
  482. Для определения типа текущей сессии, необходимо получить значение глобальной :ref:`переменной окружения <env-set>` **XDG_SESSION_TYPE**:
  483. .. code-block:: text
  484. echo $XDG_SESSION_TYPE
  485. .. index:: neofetch, screenfetch, system info, console
  486. .. _neofetch:
  487. Как вывести в консоль краткую информацию об установленной системе?
  488. =====================================================================
  489. Установим neofetch:
  490. .. code-block:: text
  491. sudo dnf install neofetch
  492. Запустим и выведем информацию о системе в консоль:
  493. .. code-block:: text
  494. neofetch
  495. .. index:: boot, plymouth, animation
  496. .. _plymouth-disable:
  497. Как отключить анимированную каплю при загрузке системы?
  498. ==========================================================
  499. Для отключения анимации загрузки (plymouth boot screen) необходимо и достаточно :ref:`добавить параметры ядра <kernelpm-perm>` ``rd.plymouth=0 plymouth.enable=0``, после чего :ref:`пересобрать конфиг Grub 2 <grub-rebuild>`.
  500. .. index:: boot, plymouth, theme
  501. .. _plymouth-themes:
  502. Как изменить тему экрана, отображающегося при загрузке системы?
  503. ===================================================================
  504. Выведем список установленных тем Plymouth boot screen:
  505. .. code-block:: text
  506. plymouth-set-default-theme --list
  507. Определим текущую:
  508. .. code-block:: text
  509. plymouth-set-default-theme
  510. Установим, например, **charge**:
  511. .. code-block:: text
  512. sudo plymouth-set-default-theme charge -R
  513. Параметр ``-R`` включает автоматическую :ref:`пересборку initrd <initrd-rebuild>` ядра.
  514. .. index:: boot, plymouth, theme, logo
  515. .. _plymouth-nologo:
  516. Как отключить вывод логотипа производителя устройства при загрузке системы?
  517. ==============================================================================
  518. Начиная с Fedora 30, для Plymouth по умолчанию устанавливается тема **bgrt**, поддерживающая вывод логотипа производителя устройства, если система загружается в :ref:`UEFI режиме <uefi-boot>`.
  519. Чтобы убрать его, :ref:`сменим тему <plymouth-themes>` загрузочного экрана, например на **charge**:
  520. .. code-block:: text
  521. sudo plymouth-set-default-theme charge -R
  522. Изменения вступят в силу при следующей загрузке системы. Логотип больше отображаться не будет.
  523. .. index:: ntfs, partition, windows, fast boot, hybrid shutdown, powercfg
  524. .. _ntfs-readonly:
  525. Все NTFS тома монтируются в режиме только для чтения. Как исправить?
  526. ========================================================================
  527. Некорректное размонтирование разделов -- это особенность работы режима гибридного завершения работы (`hybrid shutdown <https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/distinguishing-fast-startup-from-wake-from-hibernation>`__) в ОС Microsoft Windows, при котором система не завершает свою работу, а вместо этого всегда переходит в режим глубокого сна.
  528. Данный режим несовместим с другими операционными системами, в т.ч. GNU/Linux, поэтому должен быть отключён в обязательном порядке при использовании :ref:`dual-boot <dual-boot>`.
  529. 1. запустим командную строку с правами администратора, затем выполним ``powercfg -h off``;
  530. 2. запретим использование режима быстрой загрузки (fast boot) в настройках UEFI BIOS.
  531. .. index:: icon, desktop, override
  532. .. _icon-override:
  533. Как изменить ярлык приложения из главного меню?
  534. ====================================================
  535. Значки приложений главного меню расположены в каталоге ``/usr/share/applications``, однако редактировать их там не следует ибо при следующем :ref:`обновлении <dnf-update>` все изменения будут потеряны.
  536. Вместо этого создадим локальное переопределение -- скопируем desktop-файл в ``~/.local/share/applications`` и внесём необходимые правки.
  537. Создадим каталог назначения если он отсутствует:
  538. .. code-block:: text
  539. mkdir -p ~/.local/share/applications
  540. Скопируем ярлык **foo-bar.desktop**:
  541. .. code-block:: text
  542. cp /usr/share/applications/foo-bar.desktop ~/.local/share/applications/
  543. Внесём свои правки.
  544. Кэш :ref:`значков главного меню <kde-icons-refresh>` обновится автоматически, т.к. все популярные среды рабочего стола отслеживают изменения в данном каталоге.
  545. .. index:: language, gnome, keyboard, switch, bindings, input, source
  546. .. _set-keyboard-gnome:
  547. Как изменить сочетание клавиш для переключения языка ввода в Gnome?
  548. ======================================================================
  549. Рассмотрим два способа изменения сочетания клавиш для переключения между языками: консоль и GUI.
  550. Консоль:
  551. ^^^^^^^^^^
  552. Определим, какой вариант установлен:
  553. .. code-block:: text
  554. gsettings get org.gnome.desktop.wm.keybindings switch-input-source
  555. Установим новое сочетание для переключения раскладок:
  556. .. code-block:: text
  557. gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Shift>Alt_L']"
  558. Возможные варианты сочетаний клавиш (допустимо несколько вариантов, через запятую):
  559. .. code-block:: text
  560. '<Alt>Shift_L', '<Shift>Alt_L', '<Shift>Alt_R', '<Alt>Shift_R'
  561. '<Ctrl>Shift_L', '<Shift>Control_L', '<Shift>Control_R', '<Ctrl>Shift_R'
  562. 'Caps_Lock'
  563. GUI:
  564. ^^^^^^^
  565. Установим пакет **dconf-editor**, если он не установлен:
  566. .. code-block:: text
  567. sudo dnf install dconf-editor
  568. Запустим данное приложение:
  569. .. code-block:: text
  570. dconf-editor
  571. В ветке ``org.gnome.desktop.wm.keybindings`` установим параметру ``switch-input-source`` желаемое значение.
  572. Обязательно убедимся в наличии квадратных скобок. Конфигурация по-умолчанию -- ``['<Super>space', 'XF86Keyboard']``.
  573. .. index:: x11, wayland, session
  574. .. _x11-session:
  575. Как переключить рабочую среду на использование X11?
  576. ======================================================
  577. Настройки для различных рабочих сред:
  578. * :ref:`GNOME <x11-gnome>`;
  579. * :ref:`KDE <x11-plasma>`.
  580. .. index:: x11, wayland, session, gnome, gdm
  581. .. _x11-gnome:
  582. Как переключить GNOME на использование X11?
  583. ===============================================
  584. Откроем файл конфигурации ``/etc/gdm/custom.conf`` в текстовом редакторе:
  585. .. code-block:: text
  586. sudoedit /etc/gdm/custom.conf
  587. Внесём изменения в секцию **daemon**:
  588. .. code-block:: ini
  589. [daemon]
  590. WaylandEnable=false
  591. DefaultSession=gnome-xorg.desktop
  592. Сохраним изменения и перезагрузим устройство:
  593. .. code-block:: text
  594. systemctl reboot
  595. .. index:: x11, wayland, session, kde, sddm
  596. .. _x11-plasma:
  597. Как переключить KDE на использование X11?
  598. ==============================================
  599. Произведём замену пакета **sddm-wayland-plasma** на **sddm-x11**:
  600. .. code-block:: text
  601. sudo dnf swap sddm-wayland-plasma sddm-x11 --allowerasing
  602. Перезагрузим устройство для вступления изменений в силу:
  603. .. code-block:: text
  604. systemctl reboot
  605. При следующем входе в меню выбора доступных сеансов выберем **Plasma (X11)**.
  606. .. index:: font, ttf, fc-match, fontconfig
  607. .. _font-identify:
  608. Как определить, какой шрифт будет использован для указанной гарнитуры?
  609. =========================================================================
  610. Воспользуемся утилитой **fc-match** из комплекта поставки FreeType для определения используемого шрифта и соответствующего ему файла на диске для запрошенной гарнитуры:
  611. .. code-block:: text
  612. fc-match 'sans-serif'
  613. .. index:: font, ttf, fontconfig, fonts.d
  614. .. _font-replace:
  615. Как заменить один шрифт другим на системном уровне?
  616. ======================================================
  617. Заменим шрифты **Foo Bar** и **Foo Bar Emoji** на *Noto*.
  618. Создадим каталог для пользовательских настроек fontconfig:
  619. .. code-block:: text
  620. mkdir -p ~/.config/fontconfig/fonts.d
  621. Добавим новый файл конфигурации и сразу же установим правильный контекст безопасности SELinux:
  622. .. code-block:: text
  623. touch ~/.config/fontconfig/fonts.d/30-replace-foo.conf
  624. restorecon -Rv ~/.config/fontconfig
  625. Вставим в ``~/.config/fontconfig/fonts.d/30-replace-foo.conf`` следующий код:
  626. .. code-block:: xml
  627. <?xml version="1.0"?>
  628. <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
  629. <fontconfig>
  630. <alias>
  631. <family>Foo Bar</family>
  632. <prefer>
  633. <family>Noto Sans</family>
  634. </prefer>
  635. </alias>
  636. <alias>
  637. <family>Foo Bar Emoji</family>
  638. <prefer>
  639. <family>Noto Color Emoji</family>
  640. </prefer>
  641. </alias>
  642. </fontconfig>
  643. Очистим кэши fontconfig:
  644. .. code-block:: text
  645. fc-cache -fr
  646. Убедимся, что для шрифта **Foo Bar** теперь :ref:`используется <font-identify>` **Noto Sans Regular**.
  647. Если всё сделано верно, перезапустим все приложения, либо выполним новый вход в систему для вступления изменений в силу.
  648. .. index:: files, find, permissions, chown, home, whoami
  649. .. _home-permissions:
  650. Как исправить права доступа для объектов в домашнем каталоге?
  651. =================================================================
  652. При запуске приложений с правами суперпользователя в домашнем каталоге могут появляться объекты, созданные root. Они способны вызывать проблемы при работе приложений в стандартном режиме из-за отсутствия к ним прав доступа на запись.
  653. Выявим файлы и каталоги, не принадлежащие текущему пользователю, при помощи утилиты **find**:
  654. .. code-block:: text
  655. find ~ ! -user $(whoami) -print
  656. Если таковые были найдены, автоматически исправим владельца и группу для них:
  657. .. code-block:: text
  658. sudo find ~ ! -user $(whoami) -exec chown $(whoami):$(whoami) "{}" \;
  659. .. index:: initrd, dracut, module, kernel
  660. .. _initrd-add-module:
  661. Как добавить модуль в initrd?
  662. ==================================
  663. Создадим новый файл конфигурации **foo-bar.conf** в каталоге ``/etc/dracut.conf.d/``:
  664. .. code-block:: text
  665. echo 'add_dracutmodules+=" foo-bar "' | sudo tee /etc/dracut.conf.d/foo-bar.conf
  666. Здесь **foo-bar** -- название модуля ядра, который требуется включить. Пробелы до и после его имени в *add_dracutmodules* обязательны.
  667. Осуществим :ref:`пересборку initrd <initrd-rebuild>`:
  668. .. code-block:: text
  669. sudo dracut -f
  670. Изменения вступят в силу при следующей загрузке системы.
  671. .. index:: date, time, utc
  672. .. _set-datetime:
  673. Как изменить системную дату и время?
  674. ========================================
  675. Установим новую дату и время, записанное в формате :ref:`Universal Coordinated Time <system-time-utc>`:
  676. .. code-block:: text
  677. sudo date --utc --set="ГГГГ-ММ-ДД ЧЧ:ММ:СС"
  678. Изменения вступят в силу немедленно, однако возможно потребуется отключить :ref:`автоматическую синхронизацию <configure-ntp>`.