リモートデスクトップでアプリ以外の使用を制御するデスクトップ環境を構築してみた

Ubuntu
スポンサーリンク
スポンサーリンク

リモートデスクトップでアクセスを許可した際に、いろいろ触れるとあまりよくないケースもあり、どうにか制御できないかなということで、アプリのみを起動できる環境を構築してみました。

環境

・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

最終的には↓のようなアイコンだけのデスクトップが出来上がります。
※背景画像を外してしまったので、真っ黒画面です(^^;

コメント

タイトルとURLをコピーしました