2019-08-24

xrdp のサービスを使う (2)

Remote Desktop Protocol(リモート デスクトップ プロトコル、RDP)は、マイクロソフト社によって開発されている、リモートデスクトップサービスが稼動しているサーバにクライアントが接続するリモートデスクトップのプロトコルでです。リモートデスクトップ接続として TCP ポート 3389 および UDP ポート 3389 を使用します。

Wikipedia より抜粋、修正

本記事で対象としている OS は下記の通りです。

OS CentOS 7-1810 (x86_64)

先日、参考サイト [1] に CentOS 7 で xrdp および関連パッケージをインストールした記事を掲載しましたが、その後、yum update コマンドでパッケージを更新しようとしたところ、xrdp 関連パッケージで依存性の問題が発覚しました、あれこれいじっている中で、一旦 xrdp パッケージなどをアンインストールしたところ、下記のように再インストールができなくなってしまいました。

xrdp のパッケージインストールに失敗 
[bitwalk@centos7-pc ~]$ sudo yum install xrdp
読み込んだプラグイン:fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * centosplus: ftp.tsukuba.wide.ad.jp
 * epel: nrt.edge.kernel.org
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ xrdp.x86_64 1:0.9.10-1.el7 を インストール
--> 依存性の処理をしています: xrdp-selinux = 1:0.9.10-1.el7 のパッケージ: 1:xrdp-0.9.10-1.el7.x86_64
--> 依存性の処理をしています: xorgxrdp のパッケージ: 1:xrdp-0.9.10-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ xorgxrdp.x86_64 0:0.2.10-4.el7 を インストール
--> 依存性の処理をしています: xorg-x11-server-Xorg(x86-64) = 1.20.4 のパッケージ: xorgxrdp-0.2.10-4.el7.x86_64
---> パッケージ xrdp-selinux.x86_64 1:0.9.10-1.el7 を インストール
--> 依存性解決を終了しました。
エラー: パッケージ: xorgxrdp-0.2.10-4.el7.x86_64 (epel)
             要求: xorg-x11-server-Xorg(x86-64) = 1.20.4
            インストール: xorg-x11-server-Xorg-1.20.1-5.6.el7_6.x86_64 (@updates)
                xorg-x11-server-Xorg(x86-64) = 1.20.1-5.6.el7_6
            利用可能: xorg-x11-server-Xorg-1.20.1-3.el7.x86_64 (base)
                xorg-x11-server-Xorg(x86-64) = 1.20.1-3.el7
            利用可能: xorg-x11-server-Xorg-1.20.1-5.el7.x86_64 (updates)
                xorg-x11-server-Xorg(x86-64) = 1.20.1-5.el7
            利用可能: xorg-x11-server-Xorg-1.20.1-5.1.el7.x86_64 (updates)
                xorg-x11-server-Xorg(x86-64) = 1.20.1-5.1.el7
            利用可能: xorg-x11-server-Xorg-1.20.1-5.2.el7_6.x86_64 (updates)
                xorg-x11-server-Xorg(x86-64) = 1.20.1-5.2.el7_6
            利用可能: xorg-x11-server-Xorg-1.20.1-5.3.el7_6.x86_64 (updates)
                xorg-x11-server-Xorg(x86-64) = 1.20.1-5.3.el7_6
 問題を回避するために --skip-broken を用いることができます。
 これらを試行できます: rpm -Va --nofiles --nodigest
[bitwalk@centos7-pc ~]$

どうやら、インストールする xrdp パッケージ xrdp.x86_64 1:0.9.10-1.el7 が依存している xorgxrdp.x86_64 0:0.2.10-4.el7 パッケージに、解決できない依存性の問題があってインストールが出来ないようです。調べてみると、参考サイト [2] に同様な症状の問題についての対応策がありましたので試してみたのですが、残念なことに改善しませんでした。

やむなく、xorgxrdp.x86_64 0:0.2.10-4.el7 の SRPM ファイルを入手して、自分が使っている CentOS 7 の環境で必要なパッケージをインストールしてリビルドしてみました。このパッケージをインストールした後にあらためて xrdp と tigervnc-server パッケージをインストール、xrdp サービスを起動したところ、Windows からリモートログインが出来るようになりました。

もしも同じ問題で困っている方がいらっしゃれば、ご自分で xorgxrdp の RPM パッケージをリビルドしてみるか、あるいは、今回リビルドしたパッケージを参考サイト [3] にアップしましたので、このサイトから xorgxrdp-0.2.10-4.el7.x86_64.rpm をダウンロードして yum localinstall コマンドでインストールしてみてはいかがでしょうか。

今後の CentOS パッケージの更新などで、パッケージの依存性の問題の状況が変わる可能性があります。このことをご理解頂いた上で、自己責任で試されることをお願い致します。

参考サイト

  1. bitWalk's: xrdp のサービスを使う [2019-08-16]
  2. CentOS7でxrdpがインストールできない場合の対応方法 - Qiita [2018-11-29]
  3. CentOS rebuilt RPMs Wiki - OSDN

 

ブログランキング・にほんブログ村へにほんブログ村