「Bubblejail」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(一部翻訳)
(→‎See also: 翻訳)
 
(同じ利用者による、間の4版が非表示)
23行目: 23行目:
 
各インスタンスは通常1つのアプリケーションをサンドボックス化します。
 
各インスタンスは通常1つのアプリケーションをサンドボックス化します。
   
=== Creating Instances ===
+
=== インスタンスの作成 ===
   
  +
新しいインスタンスは、通常、利用可能なプロファイルから作成されます。プロファイルは、使用するデスクトップエントリとパーミッションの初期セットです。特定のアプリケーションにプロファイルがない場合、{{ic|generic}} プロファイルまたは空のプロファイルを使用し、作成後に微調整することが可能です。
New instances are usually created from an available profiles. The profile is initial set of permissions and the desktop entry used. If a specific application is missing the profile a {{ic|generic}} profile or empty profile can be used and tweaked after creation.
 
   
  +
{{Note|使用するプロファイルは、初期のパーミッションのセットを決定します。パーミッションは作成後、自由に変更することができます。}}
{{Note|The used profile only determines the initial set of permissions. Permissions can be freely modified after creation.}}
 
   
  +
==== グラフィカルインターフェイスの使用 ====
==== Using graphical interface ====
 
   
  +
''Bubblejail Configuration'' アプリケーションを実行します。最初の画面の下の方に、Create Instance というボタンがあります。
Run the '''Bubblejail Configuration''' application. On the first screen at the bottom there will be Create Instance button.
 
   
==== Using command line ====
+
==== コマンドラインの使用 ====
   
  +
たとえば、[[Firefox]] インスタンスを作成するには:
For example, creating a [[Firefox]] instance:
 
   
 
$ bubblejail create --profile firefox ''instance_name''
 
$ bubblejail create --profile firefox ''instance_name''
   
=== Running instance ===
+
=== 実行中のインスタンス ===
   
==== Using desktop entry ====
+
==== デスクトップエントリの使用 ====
   
  +
インスタンスを作成すると、{{ic|--no-desktop-entry}} オプションが使用されていない限り [[デスクトップエントリ]] が生成されます。
When creating an instance a [[desktop entry]] will be generated unless {{ic|--no-desktop-entry}} option was used.
 
   
  +
デスクトップエントリーは ''インスタンス名 bubble'' の名前を持ち、デスクトップ環境から起動することができます。
Desktop entry would have the ''instance_name bubble'' name and can be launched from the desktop environment.
 
   
==== Using command line ====
+
==== コマンドラインの使用 ====
   
  +
作成されたインスタンスは {{ic|run}} サブコマンドで実行できます:
Once created the instance can be run with {{ic|run}} subcommand:
 
   
 
$ bubblejail run ''instance_name'' ''args''
 
$ bubblejail run ''instance_name'' ''args''
   
  +
引数が渡されない場合、使用されるプロファイルに基づいてデフォルトの引数が使用されます。
If no arguments are passed when the default arguments will be used based on the profile used.
 
   
  +
''args'' が渡された場合、その引数はサンドボックス内で実行されます。最初の引数はバイナリ名で、次の引数はこのバイナリに渡されます。
If ''args'' are passed when those arguments will be executed inside the sandbox. First argument should be the binary name and following arguments will be passed to this binary.
 
   
== Configuration ==
+
== 設定 ==
   
  +
インスタンスが作成されると、そのパーミッションとリソースを変更することができます。変更されたパーミッションを有効にするには、サンドボックスを再起動する必要があります。
Once the instance has been created its permissions and resources can be modified. For modified permissions to take effect the sandbox needs to be restarted.
 
   
  +
サンドボックスの作成時に使用したプロファイルは、初期のパーミッションのセットにのみ影響します。しかし、特定のパーミッションを削除すると、対象となるアプリケーションが正しく動作しなくなる場合があります。
The profile used when creating sandbox only affect the initial set of permissions. However, removing certain permissions might prevent targeted application from working correctly.
 
   
  +
=== グラフィカルインターフェイスの使用 ===
=== Using graphical interface ===
 
   
  +
''Bubblejail Configuration'' アプリケーションを実行します。最初の画面で、変更したいサンドボックスの名前をクリックします。すると、利用可能なすべての権限のリストと保存ボタンが表示されます。
Run the '''Bubblejail Configuration''' application. On the first screen click on the name of the sandbox you want to modify. This will bring up the list of all available permissions and a Save button.
 
   
=== Using command line ===
+
=== コマンドラインの使用 ===
   
Bubblejail provides {{ic|edit}} command that will open the configuration file in the editor defined {{ic|EDITOR}} [[Environment variables]].
+
Bubblejail では、設定ファイルを {{ic|edit}} [[環境変数]] で定義されたエディタで開く {{ic|EDITOR}} コマンドが提供されています。
   
 
$ bubblejail edit ''instance_name''
 
$ bubblejail edit ''instance_name''
   
  +
Bubblejailは、その設定に [https://toml.io/en/ TOML] を使用しています。定義された辞書は特定のリソースに対するパーミッションを与え、辞書内のキー・バリュー・ペアは特定のリソースの設定を行います。
Bubblejail uses [https://toml.io/en/ TOML] for its configuration. The defined dictionaries gives permission for a specific resource and key value pairs inside dictionaries will set a specific resource settings.
 
   
  +
例えば:
For example:
 
   
 
{{bc|1=[x11]
 
{{bc|1=[x11]
83行目: 83行目:
 
}}
 
}}
   
  +
この設定はサンドボックスが利用できる2つのリソース、[[x11]] ウィンドウ システムとホームフォルダ内の ''ダウンロード'' ディレクトリを共有することを定義しています。
This config defines two resources available to sandbox: the [[x11]] windowing system and shares the ''Downloads'' directory in the home folder.
 
   
The available services and options are documented in {{ic|bubblejail.services}} [[man|man page]].
+
利用可能なサービスとオプションは {{ic|bubblejail.services}} に記述されています。[[man|manページ]] にあります。
   
  +
== ヒントとテクニック ==
== Tips and tricks ==
 
   
  +
=== サンドボックス内でターミナルを実行する ===
=== Running terminal inside sandbox ===
 
   
  +
{{ic|run}} コマンドを使うと、すでに起動しているサンドボックスの中で端末を起動することができます。この端末はサンドボックスのデバッグに利用できます。
Using {{ic|run}} command a terminal can be launched inside already running sandbox. The terminal can be used to debug the sandbox.
 
   
  +
ターミナルアプリケーションは最小限のパーミッションを必要とするもの、例えば [[Alacritty]] のようにウィンドウシステムにのみアクセスできるものを使用することが推奨されます ([[x11]] または [[wayland]] のどちらか)
It is recommended to use the terminal application that requires minimal amount of permissions such as [[Alacritty]] which only requires access to windowing system. (either [[x11]] or [[wayland]])
 
   
 
$ bubblejail run ''instance_name'' alacritty
 
$ bubblejail run ''instance_name'' alacritty
   
  +
=== 同様のアプリケーションでのプロファイルの再利用 ===
=== Re-using profile for similar applications ===
 
   
  +
アプリケーションにプロファイルがない場合でも、既存のプロファイルを持つ関連ソフトウェアがあれば、そのプロファイルを使用することができます。
If an application is missing a profile but there is a related software with existing profile that profile can be used.
 
   
  +
例えば、{{ic|chromium}} プロファイルは、[[qutebrowser]] などの chromium 由来のブラウザで使用することができます。
For example, {{ic|chromium}} profile can be used on any chromium derived browser such as [[qutebrowser]].
 
   
  +
まず、{{ic|chromium}} プロファイルを使用してインスタンスを生成しますが、デスクトップエントリの作成は無効にしてください。
First, generate the instance using {{ic|chromium}} profile but disable the desktop entry creation.
 
   
 
$ bubblejail create --no-desktop-entry --profile chromium qutebrowser
 
$ bubblejail create --no-desktop-entry --profile chromium qutebrowser
   
  +
これで、qutebrowser の [[デスクトップエントリ]] からデスクトップ エントリを作成できるようになりました。
Now a desktop entry can be created from the qutebrowser's [[desktop entry]].
 
   
 
bubblejail generate-desktop-entry --desktop-entry /usr/share/applications/org.qutebrowser.qutebrowser.desktop qutebrowser
 
bubblejail generate-desktop-entry --desktop-entry /usr/share/applications/org.qutebrowser.qutebrowser.desktop qutebrowser
   
  +
これで、サンドボックス化された qutebrowser を '''qtebrowser bubble''' デスクトップ エントリで起動できるようになりました。
Now the sandboxed qutebrowser can be launched with '''qutebrowser bubble''' desktop entry.
 
   
== See also ==
+
== 参照 ==
   
* [https://github.com/igo95862/bubblejail Bubblejail home page]
+
* [https://github.com/igo95862/bubblejail Bubblejail ホームページ]

2023年2月22日 (水) 22:10時点における最新版

関連記事

Bubblejail は、Bubblewrap ベースのサンドボックスユーティリティです。

Bubblejail はリソース指向のパーミッションモデルを持っています。例えば、x11 はサンドボックスに追加することができるリソースです。これにより、サンドボックスは X11 ディスプレイサーバにアクセスできるようになります。

Bubblejail はまた、セキュリティと許可モデルを強化するために seccomp と D-Bus フィルタリングを使用しています。

Bubblejailは、サンドボックスの作成と設定を可能にするグラフィカルなインターフェイスも備えています。

インストール

bubblejailAUR または bubblejail-gitAUR をインストールして下さい。

使い方

Bubblejail のサンドボックスは、インスタンスに分離されています。各インスタンスは、独立したホームディレクトリとパーミッションの設定です。

各インスタンスは通常1つのアプリケーションをサンドボックス化します。

インスタンスの作成

新しいインスタンスは、通常、利用可能なプロファイルから作成されます。プロファイルは、使用するデスクトップエントリとパーミッションの初期セットです。特定のアプリケーションにプロファイルがない場合、generic プロファイルまたは空のプロファイルを使用し、作成後に微調整することが可能です。

ノート: 使用するプロファイルは、初期のパーミッションのセットを決定します。パーミッションは作成後、自由に変更することができます。

グラフィカルインターフェイスの使用

Bubblejail Configuration アプリケーションを実行します。最初の画面の下の方に、Create Instance というボタンがあります。

コマンドラインの使用

たとえば、Firefox インスタンスを作成するには:

$ bubblejail create --profile firefox instance_name

実行中のインスタンス

デスクトップエントリの使用

インスタンスを作成すると、--no-desktop-entry オプションが使用されていない限り デスクトップエントリ が生成されます。

デスクトップエントリーは インスタンス名 bubble の名前を持ち、デスクトップ環境から起動することができます。

コマンドラインの使用

作成されたインスタンスは run サブコマンドで実行できます:

$ bubblejail run instance_name args

引数が渡されない場合、使用されるプロファイルに基づいてデフォルトの引数が使用されます。

args が渡された場合、その引数はサンドボックス内で実行されます。最初の引数はバイナリ名で、次の引数はこのバイナリに渡されます。

設定

インスタンスが作成されると、そのパーミッションとリソースを変更することができます。変更されたパーミッションを有効にするには、サンドボックスを再起動する必要があります。

サンドボックスの作成時に使用したプロファイルは、初期のパーミッションのセットにのみ影響します。しかし、特定のパーミッションを削除すると、対象となるアプリケーションが正しく動作しなくなる場合があります。

グラフィカルインターフェイスの使用

Bubblejail Configuration アプリケーションを実行します。最初の画面で、変更したいサンドボックスの名前をクリックします。すると、利用可能なすべての権限のリストと保存ボタンが表示されます。

コマンドラインの使用

Bubblejail では、設定ファイルを edit 環境変数 で定義されたエディタで開く EDITOR コマンドが提供されています。

$ bubblejail edit instance_name

Bubblejailは、その設定に TOML を使用しています。定義された辞書は特定のリソースに対するパーミッションを与え、辞書内のキー・バリュー・ペアは特定のリソースの設定を行います。

例えば:

[x11]

[home_share]
home_paths = [ "Downloads",]

この設定はサンドボックスが利用できる2つのリソース、x11 ウィンドウ システムとホームフォルダ内の ダウンロード ディレクトリを共有することを定義しています。

利用可能なサービスとオプションは bubblejail.services に記述されています。manページ にあります。

ヒントとテクニック

サンドボックス内でターミナルを実行する

run コマンドを使うと、すでに起動しているサンドボックスの中で端末を起動することができます。この端末はサンドボックスのデバッグに利用できます。

ターミナルアプリケーションは最小限のパーミッションを必要とするもの、例えば Alacritty のようにウィンドウシステムにのみアクセスできるものを使用することが推奨されます (x11 または wayland のどちらか)

$ bubblejail run instance_name alacritty

同様のアプリケーションでのプロファイルの再利用

アプリケーションにプロファイルがない場合でも、既存のプロファイルを持つ関連ソフトウェアがあれば、そのプロファイルを使用することができます。

例えば、chromium プロファイルは、qutebrowser などの chromium 由来のブラウザで使用することができます。

まず、chromium プロファイルを使用してインスタンスを生成しますが、デスクトップエントリの作成は無効にしてください。

$ bubblejail create --no-desktop-entry --profile chromium qutebrowser

これで、qutebrowser の デスクトップエントリ からデスクトップ エントリを作成できるようになりました。

bubblejail generate-desktop-entry --desktop-entry /usr/share/applications/org.qutebrowser.qutebrowser.desktop qutebrowser

これで、サンドボックス化された qutebrowser を qtebrowser bubble デスクトップ エントリで起動できるようになりました。

参照