运行 Ubuntu 18.04
我遇到了这个问题:我试图为 discord 应用程序指定一个不同的图标,因此在终端中,我导航到 discord 文件夹,最终导航到该discord.desktop
文件。
路径:/snap/discord/109/usr/share/discord/discord.desktop
(我从 Ubuntu Software 安装了 discord)
因此,我执行了以下命令:
sudo gedit /snap/discord/109/usr/share/discord/discord.desktop
正如我所料,出现了文本编辑器,我可以在其中编辑 discord 图标的路径。但是,有一个问题:出于某种原因,我无法写入它。它说这是一个只读文件系统。
我对 Linux 不是很了解,因此我尝试执行以下操作:
chmod u+w /snap/discord/109/usr/share/discord/discord.desktop
chmod
(显然,正如我后来发现的)因为它是一个只读文件系统而引发了一个错误)
现在,事情就变得奇怪了。
我沿着该路径导航到不同的目录并执行:vi temp.txt
在每个路径中。我得到了error 212: file cannot be opened for writing
,所以我认为整个路径都是只读的。当我尝试在文件夹和许多其他文件夹.txt
中使用相同的命令创建文件时,我遇到了该错误。/etc
我尝试关闭并重新打开 discord,奇怪的是,有时有一个/snap/discord/109
文件夹,有时没有。
现在,我尝试使用 Ubuntu 软件应用程序删除 discord,但它不允许我这样做,所以我执行了以下命令:
sudo rm -rf /snap/discord
但它不让我这样做,所以我怀疑我是不是搞砸了什么。我尝试启动到实时 USB 并使用 fsck 尝试修复它,但没有成功。
因此,我尝试格式化并重新安装 ubuntu,问题依旧。
有什么想法吗?我怎样才能使它不只是读的?
编辑:一旦我重新安装了 Ubuntu,我实际上就可以安装和卸载 discord,但我仍然遇到同样的问题。
答案1
Snap 以只读图像的形式分发。您看到的不是故障;而是预期的行为。
如果你这样做,mount | grep snap
它将显示当前正在使用的快照图像:
/var/lib/snapd/snaps/gnome-system-monitor_57.snap on /snap/gnome-system-monitor/57 type squashfs (ro,nodev,relatime,x-gdu.hide)
(ro, nodev...)
请注意,.表示ro
只读。Squashfs 是一种面向 ROM 的只读媒体文件系统。Squashfs 实际上不支持写入映像。
结果是您无法编辑快照的内容。这是安全方面的好处,但对于您来说却是一个问题。
对于您来说,添加一个新的桌面条目,指向位于您的主目录中的 snap,这可能是一个不错的解决方法。您可以在新的桌面元素上设置图标。
另一种选择是解压快照,修改它,然后重新打包,但这会禁用更新,或者在每次更新时被覆盖。