English Ukrainian
If a more automated solution is your preference the following added to your `~/.bashrc` will change your bash prompt to include "[toolbox <name>]": Якщо вам подобається більш автоматизоване рішення, варто додати до вашого `~/.bashrc` вказаний вище фрагмент, який змінить ваш запит bash на такий, що міститиме рядок «[toolbox <назва>]»:
```
function is_toolbox() {
if [ -f "/run/.toolboxenv" ]
then
TOOLBOX_NAME=$(cat /run/.containerenv | grep -oP "(?<=name=\")[^\";]+")
echo "[${HOSTNAME} ${TOOLBOX_NAME}]"
fi
}
```
```
function is_toolbox() {
if [ -f "/run/.toolboxenv" ]
then
TOOLBOX_NAME=$(cat /run/.containerenv | grep -oP "(?<=name=\")[^\";]+")
echo "[${HOSTNAME} ${TOOLBOX_NAME}]"
fi
}
```
Now you can include `is_toolbox` in your `PS1` variable and not need to execute any extra commands in order to know whether or not your are in a toolbox or host shell. Потім ви можете включити `is_toolbox` до вашої змінної `PS1`, і вам вже не потрібно буде виконувати жодних додаткових команд для того, щоб дізнатися, перебуваєте ви у toolbox чи у командній оболонці основної системи.
Example: ``` export PS1="\[\e[31m\]\`is_toolbox\`\]\e[m\]\[\e[32m\]\\$ \[\e[m\]\[\e[37m\]❱\[\e[m\] " ``` Приклад: ``` export PS1="\[\e[31m\]\`is_toolbox\`\]\e[m\]\[\e[32m\]\\$ \[\e[m\]\[\e[37m\]❱\[\e[m\] " ```
This results in a prompt which appears as such when not in a toolbox: `$ ❱` Результатом буде запит, який виглядатиме так, якщо ви не у toolbox: `$ ❱`
However, when running in a toolbox named "default" looks like: `[toolbox default]$ ❱` А у toolbox із назвою «default» ось так: `[toolbox default]$ ❱`
Running applications from inside Toolbx on the host Запуск програм з Toolbx в основній системі
This can be necessary if you want to interact with tools available from the host, for example `podman`, `nmcli` or `rpm-ostree` without leaving the Toolbx container in between. You can use `flatpak-spawn`, included in the base installation for this: Потреба у запуску може виникнути, якщо ви хочете взаємодіяти із програмними інструментами основної системи, наприклад `podman`, `nmcli` або `rpm-ostree`, не полишаючи контейнера Toolbx. Ви можете скористатися для виконання цього завдання програмою `flatpak-spawn`, яку включено до базового пакунка:
$ flatpak-spawn --host podman --help
$ flatpak-spawn --host podman --help
If the application you want to call requires `sudo` access, the `-S` option must be supplied to `sudo` like below: Якщо програмі, яку ви хочете викликати, потрібен доступ `sudo`, слід додати параметр `-S` до команди `sudo`, ось так:
$ flatpak-spawn --host sudo -S rpm-ostree status
$ flatpak-spawn --host sudo -S rpm-ostree status
If you find yourself using commands like these frequently to access e.g. the flatpak command from inside the Toolbx container, you can create yourself a short custom wrapper script (*inside the Toolbx container*). To do this, perform the following steps: Якщо ви використовуєте команди, подібні до наведеної вище, часто для доступу, наприклад, до команди flatpak з контейнера Toolbx, ви можете створити самі короткий нетиповий скрипт-обгортку (*у контейнері Toolbx*). Для цього виконайте такі кроки:
Define the `istoolbx` alias (for convenience) by executing the command mentioned above in your terminal Визначте альтернативу `istoolbx` (для зручності) за допомогою згаданої вище команди у вашому терміналі
Make sure you are in a Toolbx container. If the following command doesn't produce any output, you are likely still working on the host! Переконайтеся, що ви перебуваєте у контейнері Toolbx. Якщо наступна команда нічого не виводить, ймовірно, ви усе ще перебуваєте в основній системі!
[toolbx]$ istoolbx
<Toolbx container name here>
[toolbx]$ istoolbx
<Тут буде назва контейнера Toolbx>
Once you have made sure you're in a Toolbx container, execute the following command: Щойно ви опинитеся у контейнері 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
[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
You now have a `flatpak` command available that allows you to interact with `flatpak` as if you were running the command on the host. Тепер вам доступна команда `flatpak`, за допомогою якої ви можете взаємодіяти з `flatpak` так, наче ви віддаєте команду в основній системі.
Working with `ostree`/`rpm-ostree` Робота з `ostree`/`rpm-ostree`
Tracking changes to the base OS Стеження за змінами у базовій операційній системі