12
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LinuxAdvent Calendar 2020

Day 18

LXDE・TightVNC・noVNCをインストールしてブラウザ経由でリモートデスクトップ環境を構築してみる

Last updated at Posted at 2020-12-17

リモートでの障害対応する時の作業環境として、リモートデスクトップ環境を構築した時のメモとなります。Amazon Workspacesでも良かったのですが、OSはWindowsとAmazonLinuxしか選択肢がないので、Ubuntu上にLXDE・TightVNC・noVNCを設定して、ブラウザ経由でリモートデスクトップ環境を構築してみました。

環境

  • AWS
  • Ubuntu Server 20.04 LTS(AMI: ami-0f2dd5fc989207c82)

インストール手順

パッケージアップデート

  • 起動直後のUbuntuを最新の状態にする
sudo apt update
sudo apt upgrade

LXDEインストール

  • LXDEのインストール(最小限の機能が問題ないのであれば lxde-core のインストール)
sudo apt install lxde
sudo reboot

TightVNCインストール

  • vncサーバとしてTightVNCをインストール
sudo apt install tightvncserver
sudo apt install xfonts-base
vncserver :1
cp -p ~/.vnc/xstartup ~/.vnc/xstartup.bk
chmod +x ~/.vnc/xstartup
vi ~/.vnc/xstartup
*** 最終行に追記
-----
lxsession -s LXDE &
-----

vncserver -kill :1
vncserver :1

TightVNC自動起動設定

  • サーバ起動時に自動的に起動するよう設定
sudo vi /lib/systemd/system/vncserver@1.service
*** 新規作成
---
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu

PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x768 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target
---

sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service

noVNCインストール

  • ブラウザ経由でアクセスするためにnoVNCをインストール
sudo apt install novnc websockify python-numpy
websockify -D --web=/usr/share/novnc/ 6080 localhost:5901

noVNC自動起動設定

  • サーバ起動時に自動的に起動するよう設定
sudo vi /lib/systemd/system/novnc.service
*** 新規作成
---
[Unit]
Description=noVNC startup

[Service]
Type=simple
ExecStart=/usr/bin/websockify -D --web=/usr/share/novnc/ 6080 localhost:5901
ExecStop=/bin/kill ${MAINPID}
Restart=always
User=ubuntu
Group=ubuntu

[Install]
WantedBy=multi-user.target
---

sudo systemctl enable novnc.service
sudo systemctl start novnc.service

ブラウザ経由で接続してみる

  • http://<IP Address>:6080/vnc.html にアクセス

  • vncserver初回起動時に設定したパスワードを入力

  • リモートデスクトップ環境にログイン完了

感想

  • ブラウザ経由でアクセスできるのは便利ですね。セキュリティを考えると認証をどうするか・SSL通信で暗号化する必要があるなどの課題があると思います。

参考

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?