「SELinuxのポリシー作成(geoclue_t→unconfined_service_tへのアクセス制御緩和)」と「カラープロファイルを作成するには認証が必要です」の解消を追記しました。自宅のCentOS機は、普段Windows機からsshログインしCUIで操作していますが、ときたまGUIを使いたくなる時があります。そのときたまのためにCentOS機からもモニターにHDMIケーブルを刺しているんですが、モニターのHDMIポートが2つしかないうえに、ほとんどGUIを使わないのでポートを占有するのがもったいない。HDMIケーブルをひっこぬき、必要なときだけWindows機からリモートでGUIを扱えるようにしたいと思ったのが本投稿のきっかけ。term等の仮想端末からLinux機へsshでつないでおき、X11の通信に必要な6000番ポートの通信をトンネルするというちょっとめんどくさい手順を踏む必要があるし、クライアントのWindows側にXサーバをインストールする必要があり、複数Windows機を扱う身からするとこれまためんどくさい。2はLinux機にVNCサーバをインストールし、その5900番ポートへWindows機にインストールしたVNCクライアントから接続するといった流れ。こちらもクライアント側にソフトウェアをインストールする必要があるため却下。3はLinux機にxrdpサーバをインストールし、RDPを扱えるようにする流れ。Windows機からは標準のリモートデスクトップ(mstsc.exe)でつなぐだけでOK。描写速度も申し分ないとのこと。これでいきましょう(Linux機からLinux機へGUIログインしたくなったらどうすんだという懸念は残りますが......)。ちなみに内部的にはVNCを利用しており、それをrdpに変換してくれるのがxrdpだとのこと。(Core)3.10.0-514.26.2.el7.x86_64いつものお約束。Desktop"を行い、スタンドアロンではGNOME環境が扱えるようになっていることを前提とします。SELinuxのポリシー作成(geoclue_t→unconfined_service_tへのアクセス制御緩和)xrdpインストール後、/var/log/audit/audit.logを見ると上記アクセスがdeniedされたというログがログインの度に出ることに気づきました。tclass=dir123geoclue_tというのは位置情報認識モジュールが利用するドメイン。ネットを漁るとどうやらVNC周りのリソースに対するSELinuxポリシーにバグがあるらしい。参考:https://bugs.centos.org/view.php?id=13878プロセス周りを見てみるとやっぱりどうもそうっぽい。96123鬱陶しいのでSELinuxのポリシーを作成します。いうわけでまずはSELinuxのポリシー作成。ログみながら試行錯誤するとこうなりました。厳密にやるならunconfined_service_tじゃなくてきちんとVNCにタイプを定義しないといけない。unconfined_service_tはわりとゆるゆるな権限らしいです。};12345678910続いてポリシーのコンパイル。/usr/share/selinux/devel/Makefile1最後にポリシーのインストール。myxrdp.pp1これでよし。「カラープロファイルを作成するには認証が必要です」の解消xrdpにログインする際、毎度こんな画面が表示されます。別にこれ自身はキャンセルで回避できて、それで何か困った現象が起こるわけでもないんだけどなんだか気持ち悪い。なにかっつうとcolordのPolicyKitの権限が足りないというgnome-settings-daemonのバグだとのことで、ずっと放置されてるみたい。参考:https://bugzilla.redhat.com/show_bug.cgi?id=1149893https://www.centos.org/forums/viewtopic.php?t=59312二番目の参考ページにも書いてますが、回避策はこれ。PolicyKitに新しいルールを追加する。