LINUX.ORG.RU

История изменений

Исправление rtxtxtrx, (текущая версия) :

Удали протон и поставь Boxes.

Он имеет доступ только к иконкам:

flatpak info --show-permissions com.usebottles.bottles | grep files
filesystems=~/.icons:ro;/usr/share/icons:ro;

То что из приложения в контейнерах можно открыть любой файл, не означает что оно к нему или файловой системе имеет доступ. Если кратко, то ты через порталы ТОЛЬКО ТЫ САМ даешь временный доступ к тому или иному файлу, к остальным, если они не перечислены в permissions flatpak-процесс и все процессы, порождаемые им, доступа не имеют.

Так что, все-таки думать надо, если к чему-то даешь доступ.

На питоне оно так выглядит:

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

dialog = Gtk.FileChooserNative(
    title="Open File",
    parent=None,
    action=Gtk.FileChooserAction.OPEN,
    accept_label="_Open",
    cancel_label="_Cancel"
)

# Само приложение не видит файлы по которым ты лазаешь
response = dialog.run()
if response == Gtk.ResponseType.ACCEPT:
    # Оно может прочитать файл только если ты ему разрешишь
    file_path = dialog.get_filename()
    print(f"Selected file: {file_path}")
dialog.destroy()

Исправление rtxtxtrx, :

Удали протон и поставь Boxes.

Он имеет доступ только к иконкам:

flatpak info --show-permissions com.usebottles.bottles | grep files
filesystems=~/.icons:ro;/usr/share/icons:ro;

То что из приложения в контейнерах можно открыть любой файл, не означает что оно к нему имеет доступ. Если кратко, то ты через порталы ТОЛЬКО ТЫ САМ даешь временный доступ к тому или иному файлу, к остальным, если они не перечислены в permissions flatpak-проецсс и все процессы, порождаемые им, доступа не имеют.

Исходная версия rtxtxtrx, :

Удали протон и поставь Boxes.

Он имеет доступ только к иконкам:

flatpak info --show-permissions com.usebottles.bottles | grep files
filesystems=~/.icons:ro;/usr/share/icons:ro;