妄想日記 by 妄想エンジン


xrdp と jail で遊ばれる

書いておかないと忘れちゃうシリーズ。

jail で環境を作って、xrdp でどこからでもデスクトップが使える環境を以前から使っていて、いろんな場所で開発するのにとても便利だったのですが、あまりにもいろいろ入れたり消したりしていたら無駄に大きくなりすぎたため、必要最低限の環境を構築しなおすことにしました。
前回作ったのがかなり昔すぎて、いろいろ忘れていてはまったので、未来の私のためにここにメモを残します。

とりあえず、FreeBSD 12.2-RELEASE では xrdp のバックエンドで xorg は、セキュリティ上の問題から動きません。以前は動いてたのに。CBSD とかはカーネルにパッチあてて動かしていますが、毎回やるの大変なので、xorgは諦めます。バックエンドは tigervnc 使うことにします。

以下作り方。

qjail でさっくりベースを作ります。desktop はjail名です。その辺はかぶらないように適当に。

> sudo qjail create -4 [IP4アドレス] -6 [IP6アドレス] -n [nic名] desktop
> sudoedit /usr/local/etc/qjail.fstab/desktop

fstabを編集して、/home を nullfs でマウントして、親環境のフォルダを見えるようにしておくといろいろ便利です。逆に親環境を全く汚染したくない場合は設定しないでください。

> sudo qjail start desktop
> sudo qjail console desktop

あとは中に入って作業します。

desktop > pkg bootstrap -f
desktop > pkg update
desktop > pkg install xrdp tigervnc

これで最低限 xrdp が動くパッケージが入ります。
あとは、ini ファイルの修正をして xrdp を設定していきます。

desktop > vi /usr/local/etc/xrdp/xrdp.ini

port のところを tcp://[IP4アドレス]:3389 に変更。
127.0.0.1 となっているところを探して、すべて desktop の IP4アドレスに修正します。
Session types のセクションを探して、 Xvnc を一番上に持ってきます。

desktop > vi /usr/local/etc/xrdp/sesman.ini

127.0.0.1 となっているところを探して、すべて desktop の IP4アドレスに修正します。
Xvnc のパラメータで、 -localhost の行をコメントにします(先頭に ; をつけます)

desktop > sysrc xrdp_enable="YES"
desktop > sysrc xrdp_sesman_enable="YES"
desktop > sysrc dbus_enable="YES"

あとは、作業でつかうユーザーを登録しておきます。
その際に、親環境の /home をマウントしている場合は親環境の uid gid と同じになるように注意しましょう。

desktop > adduser <ユーザー名>

ここまで来たら一旦 jail を再起動しましょう。

desktop > exit
> sudo qjail restart desktop

あとは、他の環境から Remote Desktop Client で接続するだけです。その際に証明書でエラーが出ますが、とりあえずは無視してもつながります。
すると、xterm のそっけない画面がでてきますので、あとは好みのDE入れて環境構築を続けましょう。

ということで、はまりどころ。
gid,uid に注意する
127.0.0.1 を変更
-localhost を削除。
この3つ、すべてはまりました。
前回構築した際もはまった記憶にあります。というかいろいろあがいてから思い出しました。

ツイート
|top |アフィリエイト |windowsネタ |料理メモ |コンタクト |twitter |
さわやかなエロスを目指す--妄想エンジン ©1996-2022
コンテンツ配信