在 ubuntu 20.04 上使用桌面文件运行具有多个数据目录的 Chromium

在 ubuntu 20.04 上使用桌面文件运行具有多个数据目录的 Chromium

我想创建以下配置,该配置在 ubuntu 18.04 上对我来说效果很好:运行两个(或更多)不同的 chromium 实例,每个实例都有不同的配置,并在 dock 面板上使用单独的图标。

在 ubuntu 18.04 上,.desktop 文件如下所示:

[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=WhatsApp Web
Exec=/usr/bin/chromium-browser --app=https://web.whatsapp.com/ --user-data-dir=/home/tamar/.config/.whatsapp
Icon=/home/tamar/.local/share/icons/personal/whatsapp.png
StartupWMClass=web.whatsapp.com
X-GNOME-SingleWindow=true

另一个文件如下所示:

[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Proxy
Exec=/usr/bin/chromium-browser --user-data-dir=/home/tamar/.config/.proxy --proxy-server=socks5://localhost:8888
X-GNOME-SingleWindow=true

在 Ubuntu 20.04 上,相同的配置不起作用。我读到,由于这是一个快速安装,因此我必须使用命令行运行 Chromium: snap run chromium --user-data-dir=.whatever

从命令行运行它时它似乎可以工作(至少大多数时候...),但是当使用 .desktop 文件调用它时它似乎对两者都使用相同的配置文件配置:在 Web 应用程序上打开新选项卡会在打开的“使用代理”窗口中打开,并且 IP 是代理的 IP 而不是计算机的 IP

有没有使用随 Ubuntu 20.04 包安装的 chromium 实例的解决方案?

答案1

以严格限制模式运行的 snap Chromium 进程无法读取或写入主目录中的所有子目录。例如:

  • 它可以~/.config/user-dirs.dirs在启动时读取文件来定位用户的下载目录;
  • 但它无法写入以~/.config/创建~/.config/my-app/数据目录;但是
  • 写入以~/创建~/my-app/数据目录及其内容。

gtk-launch如果您在命令行中打开用作示例的 WhatsApp .desktop 文件:

$ gtk-launch ~/.local/share/applications/whatsapp.desktop

您应该会收到如下错误消息:

无法创建数据目录 - Chromium 无法读取和写入其数据目录:/home/tamar/.config/.whatsapp

要获取在主目录中隐藏的应用程序目录,您需要将其放入~/snap/chromium/common/<appname>。使用您的示例,.desktop 文件中的行将是:

Exec=/snap/bin/chromium --user-data-dir=snap/chromium/common/whatsapp --class=whatsapp --app=https://web.whatsapp.com/
StartupWMClass=whatsapp

相关内容