<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=26d0</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=26d0"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/26d0"/>
	<updated>2026-04-19T06:44:16Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=River&amp;diff=41263</id>
		<title>River</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=River&amp;diff=41263"/>
		<updated>2025-12-23T03:35:37Z</updated>

		<summary type="html">&lt;p&gt;26d0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lowercase title}}&lt;br /&gt;
[[Category:Wayland コンポジタ]]&lt;br /&gt;
[[en:river]]&lt;br /&gt;
[https://github.com/riverwm/ river] は、wlroots ベースの Wayland 動的タイル型コンポジタです。Xmonad と bwspm からインスパイアされたものですが、これらをベースとしているわけではありません。設定は外部の実行ファイルによって行われます。&lt;br /&gt;
&lt;br /&gt;
River の設計目標は:&lt;br /&gt;
&lt;br /&gt;
* シンプルかつ予測可能な動作。River は簡単に使うことができ、認知負荷は低くあるべきです。&lt;br /&gt;
* View と tag によるウィンドウ管理。&lt;br /&gt;
* ユーザによって作成された外部の実行ファイルから生成される動的レイアウト。デフォルトの rivertile レイアウトジェネレータも提供されています。&lt;br /&gt;
* カスタムの Wayland プロトコルと、それを実装する個別の riverctl バイナリによる、スクリプト化可能な設定と制御。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
River は {{pkg|river}} パッケージか AUR の git パッケージ {{AUR|river-git}} によって[[インストール]]できます。&lt;br /&gt;
&lt;br /&gt;
== 起動 ==&lt;br /&gt;
&lt;br /&gt;
単一の実行ファイルを設定ファイルとして使います。初期ファイルはデフォルトでセットアップされません。なので、キーバインドやデフォルトのアプリケーションは、初期ファイルが作成されない限り利用できません。注意点として、これには終了するためのキーバインドも含まれます。そのため、river を実行する前に tty か他のデスクトップ環境から river をセットアップしてください。&lt;br /&gt;
&lt;br /&gt;
設定の初期ファイル例は {{ic|/usr/share/river/example/}} にあります。それを {{ic|~/.config/river/init}} にコピーし、[[実行可能属性]]を付与してください。&lt;br /&gt;
&lt;br /&gt;
=== 手動 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|river}} (終了時には tty に戻り、ユーザはログインしたままです) または {{ic|exec river}} (終了時には tty に戻り、ユーザはログアウトします) と入力してください。&lt;br /&gt;
&lt;br /&gt;
=== TTY から ===&lt;br /&gt;
&lt;br /&gt;
River は &#039;&#039;startx&#039;&#039; と似たような方法で自動起動できます。{{ic|.bash_profile}} (あるいは、他のシェルの同等なファイル) で環境変数を設定することができます。[[Xinit#ログイン時に X を自動起動]] を参照してください。ただし、{{ic|$DISPLAY}} は {{ic|$WAYLAND_DISPLAY}} に、{{ic|exec startx}} は {{ic|exec river}} に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
=== ディスプレイマネージャ ===&lt;br /&gt;
&lt;br /&gt;
公式には、River はディスプレイマネージャをサポートしていません。しかし、ディスプレイマネージャの多くは特に問題なく動作します。デフォルトでは、セッションエントリは {{ic|/usr/share/wayland-sessions/}} にインストールされます。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
シェルスクリプトか実行ファイルを設定ファイルとして用いることができ、キーバインド、入力の設定、そしてウィンドウルールを定義する &#039;&#039;riverctl&#039;&#039; コマンドの集合で構成されます。設定ファイルはスタートアップ時に一度だけ実行されますが、他のシェルスクリプトと同じように再度実行することも可能です (ただし、プログラムが重複して自動起動されることの影響を考慮する必要があります)。また、riverctl コマンドをターミナルから実行することでも設定を行うことができます。これにより、初期設定を一時的に上書きしたり、動的に更新したり、新しい設定をテストしたりできます。&lt;br /&gt;
&lt;br /&gt;
例えば、{{Pkg|grim}} でスクリーンショットを撮って一時的な通知を表示するショートカットとして {{ic|Super+PrtSc}} を割り当てるには:&lt;br /&gt;
&lt;br /&gt;
 riverctl map normal Super Print spawn &amp;quot;grim &amp;amp;&amp;amp; notify-send -t 2000 &#039;Screenshot taken&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;spawn&#039;&#039; コマンドは任意のアプリケーションやスクリプトを起動することができますが、単一の実引数を期待します。なので、実行するべきコマンドに複数の単語が含まれる場合は、引用符で囲んでください。&lt;br /&gt;
&lt;br /&gt;
=== キーボードレイアウト ===&lt;br /&gt;
&lt;br /&gt;
 riverctl keyboard-layout gb&lt;br /&gt;
&lt;br /&gt;
コンマで区切ることで複数のレイアウトを入力することができます (例: {{ic|gb,fr}})。&lt;br /&gt;
&lt;br /&gt;
変数やシェルのコマンドを使用することもできます。例えば、{{ic|1=mod=&#039;Mod4&#039;}} や {{ic|set term foot}} など (シェルごとに異なります)。&lt;br /&gt;
&lt;br /&gt;
=== タッチパッドの例 ===&lt;br /&gt;
&lt;br /&gt;
タッチパッドの特定の動作とフォーカス設定が利用できます。&lt;br /&gt;
&lt;br /&gt;
 riverctl input pointer-2-7-SynPS/2_Synaptics_TouchPad tap enabled&lt;br /&gt;
 riverctl focus-follows-cursor normal&lt;br /&gt;
&lt;br /&gt;
設定で使用することのできる、キーボード、マウス、そしてタッチパッドのモデル名は、以下のコマンドで確認できます:&lt;br /&gt;
&lt;br /&gt;
 riverctl list-inputs&lt;br /&gt;
&lt;br /&gt;
=== ウィンドウルール ===&lt;br /&gt;
&lt;br /&gt;
特定のウィンドウはデフォルトでタイル化させたくない場合があるでしょう。フローティングウィンドウはクラスかウィンドウタイトルを使って定義できます:&lt;br /&gt;
&lt;br /&gt;
 riverctl float-filter-add app-id &#039;galculator&#039;&lt;br /&gt;
 riverctl float-filter-add title &#039;File Operation Progress&#039;&lt;br /&gt;
&lt;br /&gt;
新しい rule-add 設定は River 0.3 で導入される予定であり、構文はこれらの広範な定義に合わせて変化することに注意してください:&lt;br /&gt;
&lt;br /&gt;
 riverctl rule-add float -app-id &#039;galculator&#039;&lt;br /&gt;
&lt;br /&gt;
== 使用法 ==&lt;br /&gt;
&lt;br /&gt;
=== 自動起動 ===&lt;br /&gt;
&lt;br /&gt;
キーバインドを指定せずに {{ic|riverctl spawn}} を使うと、スタートアップ時に任意の実行ファイルを実行することができます。例えば:&lt;br /&gt;
&lt;br /&gt;
 riverctl spawn &amp;quot;i3-battery-popup -n -m &#039;Battery Low!&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== スクラッチパッド ===&lt;br /&gt;
&lt;br /&gt;
デフォルトではスクラッチパッドは定義されていませんが、デフォルトの 0-9 より大きい tag に対してスクラッチパッドを定義することができます。まず、tag 番号を定義し、次に、そのスクラッチパッドの tag にアプリケーションを移動して外観を切り替えるキーバインドを定義してください。最後に、新しいウィンドウがスクラッチパッドに割り当てられないようにしてください。&lt;br /&gt;
&lt;br /&gt;
 scratch_tag=$((1 &amp;lt;&amp;lt; 20 ))&lt;br /&gt;
 &lt;br /&gt;
 riverctl map normal Super P toggle-focused-tags ${scratch_tag}		# スクラッチパッドを切り替える&lt;br /&gt;
 riverctl map normal Super+Shift P set-view-tags ${scratch_tag}		# ウィンドウをスクラッチパッドに送る&lt;br /&gt;
 &lt;br /&gt;
 # 明示的に操作しない限り新しいウィンドウがスクラッチパッドに割り当てられないように spawn tagmask を設定する。&lt;br /&gt;
 all_but_scratch_tag=$(( ((1 &amp;lt;&amp;lt; 32) - 1) ^ $scratch_tag ))&lt;br /&gt;
 riverctl spawn-tagmask ${all_but_scratch_tag}&lt;br /&gt;
&lt;br /&gt;
=== モード ===&lt;br /&gt;
&lt;br /&gt;
River では、キーバインドでモードを切り替えられます。これにより、キーバインドを再利用したり、少ないキーの組み合わせを使ったりできます。デフォルトでは、2つのモード &#039;normal&#039; と &#039;locked&#039; が存在します (&#039;locked&#039; は、画面がロックされている時に許可されるキーバインドを定義します)。&lt;br /&gt;
カスタムのモードを追加することもできます。例えば、フローティングウィンドウを滅多に使用しない場合、フローティングウィンドウを操作するためのキーバインドは &#039;float&#039; モードに定義すると便利です。モードに入るためのキーバインドは最初に、モードから出るためのキーバインドは最後に設定し、その他のキーバインドはそれらのキーバインドの間に定義します。&lt;br /&gt;
&lt;br /&gt;
 riverctl declare-mode float&lt;br /&gt;
 riverctl map normal Super R enter-mode float		# Super+R でフロートモード&lt;br /&gt;
  &lt;br /&gt;
 ### フローティングウィンドウのキーバインド。注: これらはタイルウィンドウにも使用できます。&lt;br /&gt;
 #&lt;br /&gt;
 # Super {矢印キー} で view を移動&lt;br /&gt;
   riverctl map float Super Left move left 100&lt;br /&gt;
   riverctl map float Super Down move down 100&lt;br /&gt;
   riverctl map float Super Up move up 100&lt;br /&gt;
   riverctl map float Super Right move right 100&lt;br /&gt;
  &lt;br /&gt;
 # Alt+{矢印} で view を画面端に snap&lt;br /&gt;
   riverctl map float Alt Left snap left&lt;br /&gt;
   riverctl map float Alt Down snap down&lt;br /&gt;
   riverctl map float Alt Up snap up&lt;br /&gt;
   riverctl map float Alt Right snap right&lt;br /&gt;
  &lt;br /&gt;
 # Shift+{矢印} で view をリサイズ&lt;br /&gt;
   riverctl map float Shift Left resize horizontal -100&lt;br /&gt;
   riverctl map float Shift Down resize vertical 100&lt;br /&gt;
   riverctl map float Shift Up resize vertical -100&lt;br /&gt;
   riverctl map float Shift Right resize horizontal 100&lt;br /&gt;
  &lt;br /&gt;
 riverctl map float None Escape enter-mode normal	# float モードを終了し、normal モードへ戻る&lt;br /&gt;
&lt;br /&gt;
=== 外部ツール ===&lt;br /&gt;
&lt;br /&gt;
他の多くの最小主義な Wayland タイリングコンポジタと同じように、その他のツールは同梱されていません。外部のステータスバー、スクリーンショットツール、ランチャーなどは、[https://github.com/riverwm/river/wiki/ River の GitHub wiki] で紹介されています (River 固有の機能についても記述されています)。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== スクリーンキャスト ===&lt;br /&gt;
&lt;br /&gt;
river でスクリーンキャストが動作しない場合、必要な[[環境変数]]が systemd に正しく設定されているか確認してください。&lt;br /&gt;
&lt;br /&gt;
 $ systemctl --user show-environment&lt;br /&gt;
&lt;br /&gt;
次のような出力が表示されるはずです:&lt;br /&gt;
 WAYLAND_DISPLAY=wayland-1&lt;br /&gt;
 XDG_CURRENT_DESKTOP=river&lt;br /&gt;
&lt;br /&gt;
これらの変数のいずれかが設定されていない場合は、{{ic|.config/river/init}} に以下を追加してください:&lt;br /&gt;
 systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP&lt;br /&gt;
 dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river&lt;br /&gt;
 systemctl --user restart xdg-desktop-portal&lt;br /&gt;
&lt;br /&gt;
さらにトラブルシューティングが必要な場合は、以下を試してください:&lt;br /&gt;
* [[XDG デスクトップ ポータル|XDG Desktop Portal]] サービスが実行されていることを確認します:&lt;br /&gt;
&lt;br /&gt;
 $ systemctl --user status xdg-desktop-portal.service&lt;br /&gt;
 $ systemctl --user status xdg-desktop-portal-wlr.service&lt;br /&gt;
&lt;br /&gt;
* {{ic|xdg-desktop-portal.service}} を停止し、手動で実行して動作するかどうかを確認します:&lt;br /&gt;
&lt;br /&gt;
 $ systemctl --user stop xdg-desktop-portal&lt;br /&gt;
 $ XDG_CURRENT_DESKTOP=river /usr/lib/xdg-desktop-portal&lt;br /&gt;
&lt;br /&gt;
* [https://mozilla.github.io/webrtc-landing/gum_test.html Mozilla WebRTC test] を使用してテストします&lt;br /&gt;
&lt;br /&gt;
{{Note|インターネット上の古い投稿で見かけるかもしれませんが、{{Pkg|pipewire-media-session}} をインストールする必要はありません。{{Pkg|wireplumber}} は現在正常に動作しています。}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/riverwm/river/ River の GitHub リポジトリ]&lt;br /&gt;
* [https://github.com/riverwm/river/wiki/ River の GitHub wiki]&lt;br /&gt;
* [https://leon_plickat.srht.site/writing/river-setup-guide/article.html/ 開発者によるセットアップガイド記事]&lt;br /&gt;
&lt;br /&gt;
{{TranslationStatus|river|2023-10-27|790776}}&lt;/div&gt;</summary>
		<author><name>26d0</name></author>
	</entry>
</feed>