Ubuntuワークスペースで開いているアプリケーション(可能なプロセス)を分離するには?

Ubuntuワークスペースで開いているアプリケーション(可能なプロセス)を分離するには?

私は仕事と勉強を並行しているので、各タスクには別々のタブセットが必要です。たとえば、仕事用には仕事関連タブ、vscode、obsidian.mdなどがあるChromeですが、研究用にはChromeですが、他のタブ、overleaf、pycharm、todoistなどがあります。

組み込みのワークスペースを使用する場合、問題は、あるワークスペースで同じアプリケーションを開くときに別のワークスペースでそのアプリケーションのウィンドウを開いてワークスペースを切り替えることです。

テレグラム、スポーティファイなどのアプリの複数のインスタンスを開くことができるように、タブは独立しており、プロセスから分離することが望ましい。これを達成する1つの方法は、別々のユーザーを持つことです。ただし、ユーザー間で切り替えると、一方または他のユーザーインスタンスがスリープモードに切り替わるか終了します。

だから私の質問は:可能であれば、Ubuntuワークスペースで開いているアプリケーションやプロセスをどのように分離できますか?

答え1

いくつかの方法があります:

  1. *切り替えないで別のユーザーを使用してください。:切り替える必要はありません。ログイン中に他のLinuxユーザーのプロセスを実行し、ディスプレイシステム(X11またはwayland)へのアクセスを許可できます。実際には、他のユーザーとしてタスクを実行しています。
  2. XDG標準ディレクトリを使用した構成とランタイムリソースの分離多くの(現在のほとんど)アプリケーションは、ユーザーを変更せずに(最も重要な)環境変数で指定されたパスにパブリックリソースを保存しますXDG_CONFIG_HOME。これらの変更は、デフォルトでプログラムを開始する前に、デフォルトで実行されていない設定、ソケット、キャッシュ、および項目をデフォルトから分離したものです。XDG_RUNTIME_DIR
  3. flatpakコンテナ化ツールとして使用: 2. の方法と組み合わせて使用​​されflatpak、コンテナ化されたアプリケーションに適したフロントエンドです。これにより、多くのGUIアプリケーションをインストールできます(flathub.comを参照)。既定では、設定すると、FLATPAK_USER_DIRこれらのデバイス用に別々のインストールと構成セットを持つことができますが、それでも実行時リソースを共有できるため、問題が発生する可能性があります。
  4. 共有できるファイルと共有できないファイルを制御する完全にコンテナ化されたアプリケーションもちろん、最も強力なソリューションですが、本格的なDockerコンテナでGUIアプリケーションを実行できます。これにより、基本的なファイルシステムツリーのどの部分が利用可能かを明示的に制御でき、これらのアプリケーションはお互いをまったく見ることができません。ジェシー・フレイザー彼女がこれを行う方法について非常に有名なブログ記事があります(コンテナの分野の権威は彼女です)。集める上記の目的ですぐに使用できるドッカーコンテナです。

関連情報