「Xrdp」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(他言語へのリンクを追加)
 
(同じ利用者による、間の6版が非表示)
1行目: 1行目:
{{Translateme|英語版からの記事の転載と若干の修正のみ。飜訳はまだです。}}
 
 
[[Category:リモートデスクトップ]]
 
[[Category:リモートデスクトップ]]
 
[[en:Xrdp]]
 
[[en:Xrdp]]
  +
[[zh-hans:Xrdp]]
 
'''xrdp''' は Microsoft の [[Wikipedia:ja:Remote Desktop Protocol|Remote Desktop Protocol]] (RDP) をサポートするデーモンです。Xvnc または xorgxrdp をバックエンドとして使用します。
 
'''xrdp''' は Microsoft の [[Wikipedia:ja:Remote Desktop Protocol|Remote Desktop Protocol]] (RDP) をサポートするデーモンです。Xvnc または xorgxrdp をバックエンドとして使用します。
   
81行目: 81行目:
 
{{ic|/etc/pam.d/system-auth}} 内の {{ic|systemd-home}} への参照をすべてコメントアウトしてみてください。[https://github.com/neutrinolabs/xrdp/issues/1684 この問題] も参照してください。
 
{{ic|/etc/pam.d/system-auth}} 内の {{ic|systemd-home}} への参照をすべてコメントアウトしてみてください。[https://github.com/neutrinolabs/xrdp/issues/1684 この問題] も参照してください。
   
=== Prompts for gnome-keyring or KDE Wallet ===
+
=== gnome-keyring または KDE Wallet の入力を求めるプロンプト ===
   
If you are prompted to login to gnome-keyring or [KDE Wallet] when your session starts, modify the file {{ic|/etc/pam.d/xrdp-sesman}} as follows:
+
セッションの開始時に gnome-keyring または [[KDE Wallet]] へのログインを求められた場合は、ファイル {{ic|/etc/pam.d/xrdp-sesman}} を次のように変更します。
 
{{hc|/etc/pam.d/xrdp-sesman|2=
 
{{hc|/etc/pam.d/xrdp-sesman|2=
 
#%PAM-1.0
 
#%PAM-1.0
97行目: 97行目:
 
}}
 
}}
   
Then, add {{ic|etc/pam.d/xrdp-sesman}} (no leading slash) to {{ic|NoUpgrade}} in {{ic|/etc/pacman.conf}}. If you only use gnome-keyring it is not necessary to include the kwallet5 lines, and vice versa.
+
次に、{{ic|/etc/pacman.conf}} {{ic|NoUpgrade}} {{ic|etc/pam.d/xrdp-sesman}} (先頭のスラッシュなし) を追加します。gnome-keyring のみを使用する場合は、kwallet5 行を含める必要はありません。また、その逆も同様です。
   
  +
=== 自動起動アイテムを起動しないようにする ===
=== Prevent autostart items from starting ===
 
   
To prevent user defined {{ic|~/.config/autostart}} items from starting you can set the autostart directory param on the session in the {{ic|~/.xinitrc}} to use only the global {{ic|/etc/xdg/autostart}} directory.
+
ユーザー定義の {{ic|~/.config/autostart}} 項目が開始されないようにするには、{{ic|~/.xinitrc}} のセッションで autostart ディレクトリパラメータを設定して、グローバルの {{ic|/etc/xdg/autostart}} のみを使用するようにします。
   
 
{{bc|<nowiki>
 
{{bc|<nowiki>
113行目: 113行目:
 
</nowiki>}}
 
</nowiki>}}
   
=== No sound ===
+
=== 無音 ===
   
This could be a symptom of an issue with ''loginctl'', so try that fix [[#loginctl or systemctl --user not working|above]]. The following error may be encountered in the system [[journal]]:
+
これは ''loginctl'' の問題の症状である可能性があるため、[[Xrdp#loginctl または systemctl --user が機能しない|above]] を修正してみてください。システム [[journal]] で次のエラーが発生する可能性があります:
   
 
Failed to load module "module-x11-publish" (argument: "display=:10.0 xauthority="): initialization failed.
 
Failed to load module "module-x11-publish" (argument: "display=:10.0 xauthority="): initialization failed.
   
This is the result of ''systemd'' improperly starting PulseAudio. One workaround is to [[disable]] the [[user unit]] files {{ic|pulseaudio.service}} and {{ic|pulseaudio.socket}} either for your own user or for all users, and make PulseAudio start when needed by setting {{ic|autospawn}} to {{ic|yes}} in {{ic|/etc/pulse/client.conf}}.
+
これは、''systemd'' PulseAudio を不適切に開始した結果です。回避策の 1 つは、自分のユーザーまたはすべてのユーザーの [[ユーザーユニット]] ファイル {{ic|pulseaudio.service}} および {{ic|pulseaudio.socket}} [[無効化]] して、PulseAudio を開始することです。必要に応じて、{{ic|/etc/pulse/client.conf}} {{ic|autospawn}} {{ic|yes}} に設定します。
   
  +
それでもサウンドが機能しない場合は、{{ic|~/.xinitrc}} の {{ic|pulseaudio &}} を使用して PulseAudio を手動で開始してみてください。
If sound still does not work, try manually starting PulseAudio with {{ic|pulseaudio &}} in your {{ic|~/.xinitrc}}.
 
   
  +
=== 2本指でのスクロールが速すぎる ===
=== Two-finger scrolling is too fast ===
 
   
Use the xorg backend, make sure xorgxrdp is 0.9.19 or newer. Then add {{ic|1=XRDP_XORG_TOUCHPAD_SCROLL_HACK=yes}} to the {{ic|[SessionVariables]}} section of {{ic|/etc/xrdp/sesman.ini}}.
+
xorg バックエンドを使用します。xorgxrdp 0.9.19 以降であることを確認してください。次に、{{ic|1=XRDP_XORG_TOUCHPAD_SCROLL_HACK=yes}} {{ic|/etc/xrdp/sesman.ini}} の {{ic|[SessionVariables]}} セクションに追加します。
   
See [https://github.com/neutrinolabs/xorgxrdp/issues/150 upstream issue #150] for details.
+
詳細については、[https://github.com/neutrinolabs/xorgxrdp/issues/150 upstream issue #150] を参照してください。
   
  +
=== リモートシステム内の制限された機能 ===
=== Restricted functionality within remote system ===
 
   
  +
ユーザーがシステムにリモートでログインする場合、同じユーザーがローカルでログインする場合と同じアクセス許可を持たない場合があります。マウントされたドライブやネットワーク接続の制御などのアクセスを許可するには、[[polkit]] のアクセス許可ポリシーの追加設定が必要になる場合があります。
A user may not have the same access permissions when logged into a system remotely as the same user does when logged in locally. Additional configuration may be required of the [[polkit]] permissions policies to grant access, including to mounted drives or to control network connections.
 
   
==== Mounted drives ====
+
==== マウントされたドライブ ====
   
  +
マウントされたドライブへのリモートアクセス許可については、[[udisks#パーミッション]] を参照してください。
For remote access permissions to mounted drives see [[udisks#Permissions]].
 
   
 
==== NetworkManager ====
 
==== NetworkManager ====
   
  +
NetworkManager へのリモートアクセス権限については、[[NetworkManager#PolicyKit のパーミッションをセットアップする]] を参照してください。
For remote access permissions to NetworkManager see [[NetworkManager#Set up PolicyKit permissions]].
 
   
 
== 参照 ==
 
== 参照 ==
   
 
* [[Vncserver|TigerVNC]] - RDP の代替としてバックエンドで使われる VNC
 
* [[Vncserver|TigerVNC]] - RDP の代替としてバックエンドで使われる VNC
*{{Pkg|freerdp}} - ネットワークレベル認証 (NLA) などの RDP 7.1 機能をサポートしている rdesktop フォーク。[http://askubuntu.com/a/97932/217269]参照
+
* {{Pkg|freerdp}} は、ネットワークレベル認証 (NLA) を含む RDP 7.1 機能をサポートる rdesktop フォークですこれは主に {{ic|xfreerdp}} クライアントで設定されます。さらに、{{ic|freerdp-shadow-cli}} コマンドを使用すると、RDP サーバー迅速かつ簡単に起動できます

2024年1月10日 (水) 18:40時点における最新版

xrdp は Microsoft の Remote Desktop Protocol (RDP) をサポートするデーモンです。Xvnc または xorgxrdp をバックエンドとして使用します。

インストール

xrdpAUR パッケージ (または開発版を使いたい場合は xrdp-gitAUR) をインストールしてください。これはバックエンドとして、Xvnc のみサポートします。

Xorg バックエンド

バックエンドの代わりに xorgxrdp を使用するには、xorgxrdpAUR パッケージを インストール して下さい。

使用方法

xrdp を起動したら RDP クライアントからローカルホストに接続できます (標準の RDP ポートは 3389)。xrdp は小さなメッセージウィンドウを表示します。

sessman-Xvnc を選択した場合、ホストのアカウントのユーザー名とパスワードを指定することができ、xrdp は新しい Xvnc インスタンスを起動します。/etc/xrdp/startwm.sh にある SESSION リストからウィンドウマネージャが開きます。

セッションウィンドウを閉じて RDP 接続を終了すると、次回 RDP で接続したときは同じセッションにアクセスすることができます。セッションウィンドウからウィンドウマネージャやデスクトップ環境を終了した場合、セッションが終了され、次回は新しいセッションが開きます。

xrdp は既に同じジオメトリのセッションが開かれていないか確認して、ジオメトリ/解像度が一致しない場合は新しいセッションを起動します。

ヒントとテクニック

ブート時に自動起動

xrdpAUR パッケージには systemd のサービスファイルが含まれています。xrdp.service有効化してください。

グラフィックアクセラレーション

Xorg セッションの場合、Intel および AMD GPU の場合は xorgxrdp-glamorAUR、Nvidia GPU の場合は xorgxrdp-nvidiaAUR をインストールすることで、OpenGL および Vulkan グラフィック アクセラレーションを有効にできます。

サウンド

必要な PulseAudio モジュールを pulseaudio-module-xrdpAUR でインストールします。

PipeWire ユーザーの場合は、pipewire-module-xrdp-gitAUR をインストールしてください

非 root ユーザー

Xwrapper.config に次の行を含めます:

/etc/X11/Xwrapper.config
allowed_users=anybody
needs_root_rights=no

上記の行が存在しない場合、Remmina などのアプリケーションからのリモートデスクトップ接続は空の画面で開始されます。

トラブルシューティング

カーソルの周りの黒いボックス

マウスポインタの周りに黒いボックスがある場合は、Xcursor.core:1 行を含む ~/.Xresources-xrdp を作成し、次のように ~/.xinitrc にロードします。

xrdb ~/.Xresources-xrdp
exec startlxde

xorg-xrdb のインストールが必要になる場合があります。

黒いスクリーン

~/.xinitrc--exit-with-sessiondbus_args に設定されている場合、セッションマネージャーにログインした後に黒い画面が表示されることがあります。

~/.xinitrc~/.xrdpinitrc にコピーし、--exit-with-session を削除して、~/.xinitrc の代わりに ~/.xrdpinitrc を呼び出すように /etc/xrdp/startwm.sh を更新してみてください。~/.xinitrc で説明されているように、~/.xrdpinitrc への呼び出しにデスクトップ環境を追加する必要がある場合があります。 例えば ~/.xrdpinitrc xfce

デスクトップ環境で黒い画面が表示される

デスクトップ環境を使用しているときに黒い画面が表示される場合は、D-Bus が適切に初期化されていないことが原因である可能性があります。一部の DE (KDE Plasma など) は、以前のセッションから完全に動作するアプリケーション/ウィンドウを復元できる場合もあります。これにより、Plasmashell だけ が欠落しているように見えます。

~/.xinitrc ファイルで dbus-launch --exit-with-session を使用してデスクトップ環境を実行してみてください。 KDE Plasma の場合、コマンド /usr/lib/plasma-dbus-run-session-if-needed startplasma-x11 または dbus-launch dbus-launch --exit-with-session startplasma-x11 を使用できます。

グリーンスクリーン

ログインダイアログが表示され、[OK] をクリックしてもデスクトップ環境が起動しない場合は、/etc/xrdp/sesman.iniparam=Xorgparam=/usr/lib/Xorg に変更します。

loginctl または systemctl --user が機能しない

/etc/pam.d/system-auth 内の systemd-home への参照をすべてコメントアウトしてみてください。この問題 も参照してください。

gnome-keyring または KDE Wallet の入力を求めるプロンプト

セッションの開始時に gnome-keyring または KDE Wallet へのログインを求められた場合は、ファイル /etc/pam.d/xrdp-sesman を次のように変更します。

/etc/pam.d/xrdp-sesman
#%PAM-1.0
auth        include     system-remote-login
-auth       optional    pam_gnome_keyring.so
-auth       optional    pam_kwallet5.so
account     include     system-remote-login
password    include     system-remote-login
-password   optional    pam_gnome_keyring.so    use_authtok
session     include     system-remote-login
-session    optional    pam_gnome_keyring.so    auto_start
-session    optional    pam_kwallet5.so         auto_start

次に、/etc/pacman.confNoUpgradeetc/pam.d/xrdp-sesman (先頭のスラッシュなし) を追加します。gnome-keyring のみを使用する場合は、kwallet5 行を含める必要はありません。また、その逆も同様です。

自動起動アイテムを起動しないようにする

ユーザー定義の ~/.config/autostart 項目が開始されないようにするには、~/.xinitrc のセッションで autostart ディレクトリパラメータを設定して、グローバルの /etc/xdg/autostart のみを使用するようにします。

get_session(){
    local dbus_args=(--sh-syntax)
    case "$SESSION" in
        awesome) dbus_args+=(awesome) ;;
        bspwm) dbus_args+=(bspwm-session) ;;
        budgie) dbus_args+=(budgie-desktop) ;;
        cinnamon) dbus_args+=(cinnamon-session -a /etc/xdg/autostart) ;;

無音

これは loginctl の問題の症状である可能性があるため、above を修正してみてください。システム journal で次のエラーが発生する可能性があります:

Failed to load module "module-x11-publish" (argument: "display=:10.0 xauthority="): initialization failed.

これは、systemd が PulseAudio を不適切に開始した結果です。回避策の 1 つは、自分のユーザーまたはすべてのユーザーの ユーザーユニット ファイル pulseaudio.service および pulseaudio.socket無効化 して、PulseAudio を開始することです。必要に応じて、/etc/pulse/client.confautospawnyes に設定します。

それでもサウンドが機能しない場合は、~/.xinitrcpulseaudio & を使用して PulseAudio を手動で開始してみてください。

2本指でのスクロールが速すぎる

xorg バックエンドを使用します。xorgxrdp が 0.9.19 以降であることを確認してください。次に、XRDP_XORG_TOUCHPAD_SCROLL_HACK=yes/etc/xrdp/sesman.ini[SessionVariables] セクションに追加します。

詳細については、upstream issue #150 を参照してください。

リモートシステム内の制限された機能

ユーザーがシステムにリモートでログインする場合、同じユーザーがローカルでログインする場合と同じアクセス許可を持たない場合があります。マウントされたドライブやネットワーク接続の制御などのアクセスを許可するには、polkit のアクセス許可ポリシーの追加設定が必要になる場合があります。

マウントされたドライブ

マウントされたドライブへのリモートアクセス許可については、udisks#パーミッション を参照してください。

NetworkManager

NetworkManager へのリモートアクセス権限については、NetworkManager#PolicyKit のパーミッションをセットアップする を参照してください。

参照

  • TigerVNC - RDP の代替としてバックエンドで使われる VNC
  • freerdp は、ネットワークレベル認証 (NLA) を含む RDP 7.1 機能をサポートする rdesktop フォークです。これは主に xfreerdp クライアントで設定されます。さらに、freerdp-shadow-cli コマンドを使用すると、RDP サーバーを迅速かつ簡単に起動できます。