Советы и хитрости
Скрытие браузера по умолчанию (Firefox)
Если вы используете другой браузер, а не установленный по умолчанию (Firefox), то вы можете скрыть браузер по умолчанию из интерфейса с помощью следующих команд:
$ sudo mkdir -p /usr/local/share/applications
$ sudo cp /usr/share/applications/org.mozilla.firefox.desktop /usr/local/share/applications/
$ sudo sed -i "2a\\NotShowIn=GNOME;KDE" /usr/local/share/applications/org.mozilla.firefox.desktop
$ sudo update-desktop-database /usr/local/share/applications/
Повторное включение браузера по умолчанию (Firefox)
Если вы хотите снова сделать браузер по умолчанию (Firefox) видимым после скрытия, вы можете выполнить следующие шаги:
$ sudo rm -f /usr/local/share/applications/org.mozilla.firefox.desktop
$ sudo update-desktop-database /usr/local/share/applications
Альтернативный метод
Если вы используете sway или хотите скрыть браузер по умолчанию только для своего пользователя, вы можете сделать это с помощью следующих команд:
$ mkdir -p ~/.local/share/applications
$ cp /usr/share/applications/org.mozilla.firefox.desktop ~/.local/share/applications/
$ sed -i "2a\\NotShowIn=GNOME;KDE;sway" ~/.local/share/applications/org.mozilla.firefox.desktop
$ update-desktop-database ~/.local/share/applications
и для повторного включения:
$ rm -f ~/.local/share/applications/org.mozilla.firefox.desktop
$ update-desktop-database ~/.local/share/applications
Включение репозиториев RPM Fusion
|
В этом разделе обсуждаются сторонние источники программного обеспечения, не связанные официально с проектом Fedora и не поддерживаемые им. Используйте их на своё усмотрение. Fedora рекомендует использовать свободное ПО с открытым исходным кодом и избегать программного обеспечения, обременённого патентами. |
Пользователи могут захотеть воспользоваться несвободным ПО, доступным через репозитории RPM Fusion, чтобы использовать проприетарные драйверы NVIDIA, мультимедийные кодеки или другое ПО, не распространяемое в составе Fedora.
Первая установка
При первой установке репозиториев RPM Fusion вам необходимо установить RPM с привязкой к версии:
$ sudo rpm-ostree install \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
$ reboot
Затем перейдите к следующему разделу, чтобы подготовить систему к основным обновлениям Fedora.
Основные обновления Fedora
После перезагрузки в новое развёртывание вы можете выполнить следующую команду, чтобы снять «блокировку» с пакетов, привязанных к версии, которые были установлены ранее. Это позволит автоматически обновлять репозитории RPM Fusion и правильно привязывать их к версиям при обновлениях основных версий Fedora:
$ sudo rpm-ostree update \
--uninstall rpmfusion-free-release \
--uninstall rpmfusion-nonfree-release \
--install rpmfusion-free-release \
--install rpmfusion-nonfree-release
$ reboot
Дополнительную информацию см. в этой теме на Fedora Discussion.
Работа с Toolbx
Определение, находитесь ли вы в контейнере Toolbx
Если вы часто используете Toolbx для выполнения различных задач и работаете с несколькими контейнерами Toolbx, может быть сложно отслеживать, выполняете ли вы команды на хосте или в контейнере Toolbx. Кроме того, в настоящее время нет команды, которая бы сообщала, в каком контейнере Toolbx вы работаете.
Чтобы облегчить эту задачу, вы можете добавить следующий псевдоним оболочки в конец вашего ~/.bashrc:
alias istoolbx='[ -f "/run/.toolboxenv" ] && grep -oP "(?<=name=\")[^\";]+" /run/.containerenv'
Когда вы откроете новую оболочку, у вас будет доступ к новой команде istoolbx. Она будет вести себя следующим образом:
-
При запуске с хоста возвращает код выхода 1.
-
При запуске из контейнера Toolbx возвращает код выхода 0 и выводит на консоль имя текущего контейнера Toolbx.
Если вы предпочитаете более автоматизированное решение, добавьте следующее в ваш ~/.bashrc, чтобы изменить приглашение bash, включив в него "[toolbox <имя>]":
function is_toolbox() {
if [ -f "/run/.toolboxenv" ]
then
TOOLBOX_NAME=$(cat /run/.containerenv | grep -oP "(?<=name=\")[^\";]+")
echo "[${HOSTNAME} ${TOOLBOX_NAME}]"
fi
}
Теперь вы можете включить is_toolbox в переменную PS1, и вам не нужно будет выполнять дополнительные команды, чтобы узнать, находитесь ли вы в toolbox или в оболочке хоста.
export PS1="\[\e[31m\]\`is_toolbox\`\]\e[m\]\[\e[32m\]\\$ \[\e[m\]\[\e[37m\]❱\[\e[m\] "
В результате приглашение выглядит так, когда вы не в toolbox: $ ❱
Однако при работе в toolbox с именем "default" оно выглядит так: [toolbox default]$ ❱
Запуск приложений изнутри Toolbx на хосте
Это может быть необходимо, если вы хотите взаимодействовать с инструментами, доступными с хоста, например podman, nmcli или rpm-ostree, не покидая контейнер Toolbx. Для этого вы можете использовать flatpak-spawn, включённый в базовую установку:
$ flatpak-spawn --host podman --help
Если приложение, которое вы хотите вызвать, требует доступа sudo, то необходимо передать sudo опцию -S, как показано ниже:
$ flatpak-spawn --host sudo -S rpm-ostree status
Если вы часто используете подобные команды для доступа, например, к команде flatpak изнутри контейнера Toolbx, вы можете создать для себя небольшой пользовательский скрипт-обёртку (внутри контейнера Toolbx). Для этого выполните следующие шаги:
-
Определите псевдоним
istoolbx(для удобства), выполнив упомянутую выше команду в вашем терминале. -
Убедитесь, что вы находитесь в контейнере Toolbx. Если следующая команда не выводит никаких данных, вы, скорее всего, всё ещё работаете на хосте!
[toolbx]$ istoolbx <имя контейнера Toolbx> -
Убедившись, что вы находитесь в контейнере Toolbx, выполните следующую команду:
[toolbx]$ echo -e '#!/bin/sh\nexec /usr/bin/flatpak-spawn --host flatpak "$@"' | \ sudo tee /usr/local/bin/flatpak 1>/dev/null && sudo chmod +x /usr/local/bin/flatpak
Теперь у вас есть команда flatpak, которая позволяет вам взаимодействовать с flatpak так, как если бы вы выполняли команду на хосте.
Работа с ostree/rpm-ostree
Отслеживание изменений в базовой ОС
Некоторые каталоги в операционных системах на основе ostree доступны для записи пользователю, например /etc. Вы можете получить быстрый обзор изменённых файлов в /etc с помощью следующей команды:
$ sudo ostree admin config-diff
Чтобы получить более подробную разницу, вы можете использовать что-то вроде этого:
$ sudo diff -yrW200 --suppress-common-lines --color=always /usr/etc /etc 2>/dev/null
|
Это работает, потому что ostree хранит неизменённую копию каталога |
Работа с приложениями Flatpak
Прямой доступ к приложениям Flatpak из командной строки
Наиболее заметное изменение при использовании приложений Flatpak вместо обычных установок заключается в том, что приложения больше нельзя вызывать непосредственно из командной строки, например:
$ evince
bash: команда не найдена: evince
Вместо этого их можно вызывать так:
$ flatpak run org.gnome.Evince
Кроме того, большинство приложений Flatpak экспортируют свои внутренние двоичные файлы в зависящее от установки место:
-
Для приложений Flatpak, установленных из удалённых репозиториев
system, их можно найти в/var/lib/flatpak/exports/bin/. -
Для приложений Flatpak, установленных из удалённых репозиториев
user, их можно найти в$HOME/.local/share/flatpak/exports/bin/.
|
Если вы не уверены, к какой установке относится приложение Flatpak, вы можете использовать эту команду, чтобы вывести эту информацию:
|
Затем вы можете либо добавить эти каталоги в ваш $PATH:
$ org.gnome.Evince
или настроить псевдонимы оболочки по мере необходимости, чтобы сделать их доступными в командной строке, например:
$ alias evince="flatpak run org.gnome.Evince"
### или:
alias evince="org.gnome.Evince"
$ evince
Want to help? Learn how to contribute to Fedora Docs ›