リモートデスクトップでアクセスを許可した際に、いろいろ触れるとあまりよくないケースもあり、どうにか制御できないかなということで、アプリのみを起動できる環境を構築してみました。
環境
・Ubuntu
・xrdp
・Openbox
Ubuntuのデスクトップ環境構築
まずは、リモート接続を行うためのデスクトップ環境を構築していきます。
ubuntu-desktop、lubuntu-desktop等、環境を構築する方法はいろいろありますが、今回検証した中で、RDP接続の安定面や全体的な軽量面で良かったのがLXDEをインストールし、デフォルトのデスクトップマネージャーにlightdmを設定することでした。
デフォルトをlightdmに設定しておくと、ログイン画面が軽くなったので、この方法で進めていきたいと思います。
$ sudo apt update
$ sudo apt-get install lxde
XPDR設定
xrdpをインストールしていきます。
$ sudo apt-get install xrdp
RDP接続時に起動するウィンドウマネージャをOpenboxに設定し、xrdpを再起動します。
$ echo "openbox-session" > ~/.xsession
$ sudo systemctl restart xrdp
リモートデスクトップ接続用のポート開放していきます。
※デフォルトでは3389ポートを使用しますので、こちらを開放します。
$ sudo ufw allow 3389/tcp
ポート番号を変更したい場合は、以下の箇所の修正を行います。
$ sudo vim /etc/xrdp/xrpd.ini
; port=3389
port=13389
リモートデスクトップ接続時に、クライアントとホスト間のクリップボードの共有とディレクトリ共有の利用を制限します。
$ sudo vim /etc/xrdp/xrdp.ini
[Channels]
# ディレクトリの共有許可設定をfalseへ設定
;rdpdr=true
rdpdr=false
# クリップボードの共有許可設定をfalseへ設定
;cliprdr=true
cliprdr=false
デスクトップへアプリアイコン追加
デスクトップのアイコン管理用のideskをインストールします。
$ sudo apt-get install idesk
ディレクトリを作成し、ideskで使用するファイルをユーザ配下のフォルダへコピーします。
$ mkdir ~/.idesktop
$ cp /usr/share/idesk/dot.ideskrc ~/.ideskrc
$ cp /usr/share/idesk/default.lnk ~/.idesktop/
これでアイコンの表示までは完了です。
最後に、セッションが開始された時にもideskが反映されるように設定を行います。
$ sudo vi ~/.config/openbox/autostart
idesk &
次に、表示されたアイコンの内容を編集したいと思います。
表示アプリ変更
「~/.idesktop」に「default.lnk」がコピーされているかと思いますので、こちらをもとに行っていきたいと思います。
※~/.idesktop配下の.lnkファイルがアイコンとして表示されます。
$ vi ~/.idesktop/default.lnk
table Icon
Caption: TestApp # デスクトップに表示されるアプリ名
Command: /home/user/app # 実行するコマンド
Icon: /usr/share/idesk/folder_home.xpm # デスクトップに表示されるアイコン
Width: 48
Height: 48
X: 67
Y: 15
end
右クリックメニューの制御
メニューの設定ファイルを編集します。
$ cp /etc/xdg/openbox/menu.xml ~/.config/openbox/
$ vi ~/.config/openbox/menu.xml
壁紙設定
nitrogenを使用して設定を行っていきます。
$ sudo apt-get install nitrogen
GUI上からターミナルを起動します。
$ nitrogen /image/path
実行するとツールが起動しますので、設定したいデスクトップ画像を選択し、applyボタンクリックすると反映されます。
こちらもセッション開始時に設定が反映されるように設定を行います。
$ sudo vi ~/.config/openbox/autostart
nitrogen --restore &
ちなみに、ideskでも以下の方法で壁紙設定ができるのですが、画像パスをセットするだけでは画像サイズまでは自動で調整してくれないので、そういう意味では、nitrogenの方が使いやすいのかもしれないです。
$ vim ~/.ideskrc
Background.File: image_path/image.jpg
最終的には↓のようなアイコンだけのデスクトップが出来上がります。
※背景画像を外してしまったので、真っ黒画面です(^^;

コメント