Cela fait longtemps que j'essaie de changer l'icône de Blender, mais quoi que je fasse, je ne suis pas autorisé à éditer quoi que ce soit dans /snap/blender-tpaw/3/
.
Voici ce que j'ai essayé:
nautilus
sans Sudo
name__.nautilus
avec Sudo
(Sudo nautilus
in terminal).cp
ou rm
sans Sudo
name__.Sudo
(tel que Sudo cp <source> /snap/blender-tpaw/3/
ou Sudo rm /snap/blender-tpaw/3/<filename.ext>
)Sudo -i
)Dans tous les cas, l'erreur suivante apparaît:
cannot remove/copy '/snap/blender-tpaw/3/filename.ext': Read-only file system
où nomfichier est le fichier et .ext son extension.
Ceci s'applique également aux fichiers d'autres clichés, pas seulement à Blender.
Est-ce que je fais quelque chose de mal ici? Ou est-il simplement impossible de changer ces fichiers? Bien que je ne pense pas que ce soit impossible parce que tout ici, d'Ubuntu à Blender, est open source, ils n'ont donc aucune raison de nous empêcher de modifier ces fichiers.
EDIT:
J'ai utilisé Menu principal (alacarte) pour changer l'icône, mais je veux toujours savoir pourquoi je ne peux pas modifier un fichier instantané.
Il est impossible de modifier le contenu de la capture sans la reconstruire. Il s’agit principalement d’une mesure de sécurité visant à garantir que le cliché n’a pas été altéré.
Cependant, l'icône mentionnée est probablement dans un fichier de bureau appelé blender-tpaw_blender.desktop
qui est éditable, et qui se trouve dans /var/lib/snapd/desktop/applications
.
Vous pouvez changer la ligne suivante pour mettre à jour l'icône: -
Icon=/snap/blender-tpaw/3/meta/gui/icon.svg
Bien que la prémisse de la question soit techniquement correcte (vous ne pouvez pas modifier les fichiers instantanés), il existe des moyens de contourner ce problème.
L’un des moyens consiste à utiliser l’option --bind
conjointement à mount
pour remonter la hiérarchie de fichiers existante ailleurs.
Par exemple, si vous souhaitez que vos instantanés utilisent les certificats système à la place des certificats installés dans core
name__, vous pouvez monter le répertoire contenant les certificats système sur l'hôte par-dessus le répertoire des certificats système dans core
avec la commande suivante:
Sudo mount --bind -o nodev,ro /etc/ssl/certs /snap/core/current/etc/ssl/certs/
Cela ne change pas réellement le système de fichiers instantané. Si vous démontez le dossier, l'ancien dossier prendra sa place:
Sudo umount /snap/core/current/etc/ssl/certs
Remarque: les montages ne persistent pas entre les redémarrages. Il existe plusieurs façons de faire en sorte que les montages persistent après un redémarrage. L’un des moyens consiste à créer un script de démarrage systemd
name__:
$ cat <<-EOF | Sudo tee /etc/systemd/system/snap-core-current-etc-ssl-certs.mount
[Unit]
Description=Mount unit to fix etc ssl certs in core package
After=snapd.service
[Mount]
What=/etc/ssl/certs
Where=/snap/core/current/etc/ssl/certs
Type=none
Options=bind,nodev,ro
[Install]
WantedBy=multi-user.target
EOF
$ systemctl enable snap-core-current-etc-ssl-certs.mount
Tiré de ici .