質問

質問

質問

こんにちは、私はFreeBSDに初めてアクセスし、UNIXシステムに初めてアクセスしました。私はFreeBSDのマニュアルを読んでいますが、今まで気に入っています。私の目標は、ウェイランドに川タイリングウィンドウマネージャをインストールすることです。問題が発生しましたが、マニュアルで読んだ内容によると、この問題は次のように発生すると考えられます。他のWaylandシンセサイザーも同様です。 要するに問題はXDG_RUNTIME_DIR無効/不認定だ。

追加情報と私がとったアクション

ハードウェア:

  • Lenovo ThinkPad T480s
  • 第8世代インテルCore i7
  • ウルトラHDグラフィックス620
  • 24GB RAM

ソフトウェア:

  • FreeBSD 13.1リリース
  • ウェイランド 1.21.0
  • River 0.2.4(最新ポートブランチからバイナリとしてインストール)

これまで私がとった措置は次のとおりです。マニュアルのWaylandセクション:

  • ビデオグループにユーザーを追加する:
    • # pw groupmod video -m myUsername
  • Waylandと座席管理デーモンのインストール:
    • # pkg install wayland seatd
  • に追加.shrc:XDG_RUNTIME_DIR=/var/run/user/`id -u` エクスポート
  • 適切なグラフィックドライバをインストールします。
    • # pkg install drm-kmod
  • /etc/rc.conf次に、次のコマンドを実行してファイルにモジュールを追加します。
    • # sysrc kld_list+=i915kms
  • シンセサイザーを設置しました。
    • # pkg install river
  • seatdシステムサービスを有効にして実行します。
    • # sysrc seatd_enable=”YES”
    • # service seatd start
  • コピー済みposixシェルの構成例到着する:~/.config/river/init
  • Riverwmスタート:
    • # river

間違い

エラー出力は次のとおりです。

info(wlroots): [wayland] error: XDG_RUNTIME_DIR is invalid or not set in the environment

明らかに、問題はXDG_RUNTIME_DIR認識不足につながります。次に何をすべきかわかりません。これに関するマニュアルの内容は次のとおりです。

XDG_RUNTIME_DIRほとんどのシンセサイザーがディレクトリから構成ファイルを検索することは注目に値します。ここに含まれる例では、一時~/.configファイルと構成ファイルを区別するパラメーターを使用して構成ファイルを指定します。特定の設定ファイルをロードするには、各シンセサイザのエイリアスを設定することをお勧めします。

ただし、Riverのドキュメントでは、Riverが設定ファイルを取得する場所について説明します。

$XDG_CONFIG_HOME/river/init起動時に、Riverは実行可能ファイルが存在する場合に実行します。$XDG_CONFIG_HOME設定しないと使用され~/.config/river/initます。

質問

一つを作るべきですかXDG_RUNTIME_DIR?私のパスを定義しましたが、.shrc私の/var/run/userシステムには存在しません。作成する必要がある場合は、特定のファイルで埋める必要がありますか? Wellandは明らかにそれが始まるのを楽しみにしています。 Riverはエラーがないと報告しました。

どんな助けでも大変感謝します!誰かが私に正しい方向を教えてくれるか、システムの私の理解のギャップを埋めることを願っています。解決策を得るのも良いです! :)

答え1

Riverクリエイターや他の素晴らしいユーザーから助けを得ることができました。irc.libera.chatの#riverチャンネル

解決策

唯一の要件XDG_RUNTIME_DIRは、そのファイルが存在し、700の権限を持つユーザーが所有する必要があることです。

言い換えれば:

  • /var/run/user/ユーザーIDで名前が付けられたディレクトリを作成します。私の場合は1001(の出力)ですid -u。もちろん、userディレクトリが存在しない場合は最初に作成されます。
  • /var/run/user/yourUserId存在する場合は、ユーザーが所有者であり、権限が次のように設定されていることを確認してください(700ユーザーはできrwx、他の人は他の権限を持っていません)。
    • # chown yourUsername /var/run/user/yourUserId
    • # chmod 700 /var/run/user/yourUserId
  • シェルの rc ファイル (.shrc、.bashrc など) に次のコンテンツを追加します。
    export XDG_RUNTIME_DIR=/var/run/user/`id -u`
    

関連情報