xrdp は オープンソースで開発されたサーバー ソフトウェアです。
その点、xrdp を Linux サーバーにインストール / 設定することで、Windows からは RDP 接続 (mstsc.exe) 経由で接続、GUI 操作することが可能となります。
xrdp について設定変更を行う際、xrdp 設定ファイルである xrdp.ini、sesman.ini を編集、サービス (xrdp.service、xrdp-sesman.service) を再起動する必要があります。
設定ファイルの内容について、man コマンドから確認することが可能ですが、内容は英語となっており、日本語による情報はあまり見かけません。
ここでは、xrdp 設定ファイルであるsesman.ini を日本語の情報として纏めてみました。
sesman.ini(5) – Linux man ページ
名称
sesman.ini – sesman(8) の設定ファイル
概要
これは sesman(8) の設定ファイル – sesman.ini に対する man ページです。これはセクション数によって構成されており、それぞれ <パラメーター>=<値> と記載された行のリストがある角括弧で囲まれた、1 つのセクション名で構成されています。
sesman.ini は、以下のセクションをサポートします。
- [Globals] – sesman グローバル設定セクション
- [Logging] – ロギング サブシステムのパラメーター
- [Secutiry] – アクセス コントロールのパラメーター
- [Sessions] – セッション管理のパラメーター
すべてのオプションおよび値 (ファイル名およびパスは除く) は大文字と小文字を区別せず、以下に詳細が記載されています。
以下のパラメーターに対して複数指定されている場合、最後のエントリが使用されます。
注: これらのオプションのどれかがそのセクション外に指定されている場合、無視されます。
Globals セクション
以下のパラメーターは、[Globals] セクション内で使用することが可能です。
- ListenAddress=<IP アドレス>
sesman が使用するリスニング アドレスを指定します。既定では、0.0.0.0 (すべてのインタフェース) です。 - ListenPort=<ポート番号>
sesman が使用するリスニング ポートを指定します。既定では、3350 です。 - EnableUserWindowManager=[0|1]
1、true もしくは yes と設定した場合、このオプションは、ユーザー固有のウィンドウ マネージャーを有効にします。つまり、誰もが UserWindowManager で指定された新しいセッションが開始されたときに sesman によって実行される自身が所有するスクリプトの定義が可能です。 - UserWindowManager=startwm.sh
このオプションはセッションが開始する、およびユーザーに対するウィンドウ マネージャーが有効である場合、sesman によってスクリプトが実行されることを指定します。
このパスは、ユーザー HOME ディレクトリの相対となります。 - DefaultWindowManager=${SESMAN_BIN_DIR}/startwm.sh
これはセッションを開始するために、sesman によって使用された既定のウィンドウ マネージャ スタートアップ スクリプトのパスを指定します。
Logging セクション
以下のパラメーターは、[Logging] セクション内で使用することができます。
- LogFile=${SESMAN_LOG_DIR}/sesman.log
このオプションは、ログファイルへのパスが含まれています。そのパスが絶対的か相対的かのどちらかを指定することが可能で、既定では ${SESMAN_LOG_DIR}/sesman.log です。 - LogLevel=level
このオプションは、以下の値の 1 つを持つことが可能です。 - CORE もしくは 0 – コア メッセージのログのみ。これらのメッセージは、選択したログ レベルに関係なく「常に」記録されます。
- ERROR もしくは 1 – エラー メッセージのログのみ。
- WARNING、WARN もしくは 2 – 警告およびエラー メッセージのログ。
- INFO もしくは 3 – エラー、警告および情報メッセージのログ。
- DEBUG もしくは 4 – すべてのログ、sesman がデバッグ モードでコンパイルされている場合、開発者に有用な多くのより低レイヤーでのメッセージを出力します。
- EnableSyslog=[0|1]
1、true もしくは yes と設定した場合、このオプションは syslog へのログ書込みを有効にします。そうでない場合、syslog は無効です。 - SyslogLevel=level
このオプションは、syslog に対するログ レベルを設定します。SyslogLevel は、LogLevel と同じ値を持つことが可能です。SyslogLevel が、LogLevel よりも大きい場合、この値は LogLevel の値に下げられます。
Sessions セクション
以下のパラメーターは、[Sessions] セクション内で使用することができます。
- X11DisplayOffset=<番号>
sesman(8) に対して利用可能な最初の X ディスプレイ番号を指定します。これは、実際の X11 サーバーの干渉から sesman を保護するためです。既定では、10 です。 - MaxSessions=<number>
ターミナル サーバー上の最大同時セッション数を設定します。
設定されていない、もしくは 0 に設定されている場合、無制限の接続を許可します。 - KillDisconnected=[0|1]
1、true もしくは yes と設定した場合、ユーザー接続が切断されたときにすべてのセッションが終了します。
– このオプションは、現時点では無視されます! – - IdleTimeLimit=<番号>
アイドル セッションが切断される前の制限時間を設定します。
0 に設定する場合、自動切断は無効になります。
– このオプションは、現時点では無視されます! – - DisconnectedTimeLimit=<番号>
切断されたセッションが終了される前の制限時間を設定します。
0 に設定する場合、自動終了は無効になります。
– このオプションは、現時点では無視されます! –
Security セクション
以下のパラメーターは、[Security] セクション内で使用することができます。
- AllowRootLogin=[0|1]
1、true もしくは yes と設定した場合、ターミナル サーバー上の root ログインは可能となります。 - MaxLoginRetry=[0|1]
ターミナル サーバー上に許可されたログイン試行回数です。0 が指定されている場合、無制限の施行を許可します。このフィールドの既定の値は、3 です。 - TerminalServerUsers=tsusers
グループ tsusers に所属するユーザーのみがターミナル サーバー上へのログインを許可します。
設定されていない、無効、もしくは存在しないグループが設定されている場合、すべてのユーザーのログインが有効となっています。 - TerminalServerAdmins=tsadmins
ユーザーがセッション管理権限を持つように所属するグループを設定します。
– このオプションは、現時点では無視されます! –
例
これは、sesman.ini の例です。
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Logging]
LogFile=/usr/local/xrdp/sesman.log
LogLevel=DEBUG
EnableSyslog=0
SyslogLevel=DEBUG
[Sessions]
MaxSessions=10
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=0
[Security]
AllowRootLogin=1
MaxLoginRetry=3
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
ファイルの格納場所
${SESMAN_CFG_DIR}/sesman.ini
追加の参照情報
sesman(8) sesrun(8) xrdp(8) xrdp.ini(5)
より詳細な情報については、http://xrdp.sf.net を参照してください。