Debian 10 buster Xfceでtigervnc-scraping-server

# はじめに

「[ECS LIVA ZにDebian 10 busterをインストール - Qiita](https://qiita.com/mktlab/items/2be9c48f7f02d2a2743d)」のつづき

# やりたいこと

* Debianにモニタ、キーボード、マウスを接続せずに使いたい
* UltraVNC Serverが動作しているWindows PCにVNC接続するのと同じような感じで

# インストール

1. 「アプリケーションメニュー／設定／Synaptic パッケージマネージャ」を起動
1. 「tigervnc-scraping-server」をインストール
1. パスワード設定

    ```console
$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n 
```

# 動作確認

1. 「アプリケーションメニュー／設定／ディスプレイ」を起動
1. FHDのWindowsノートPCでウィンドウ表示したかったので「1920x1080」→「1024x768」に変更
1. x0vncserver起動

    ```console
$ x0vncserver -display :0 -passwordfile ~/.vnc/passwd 
```

1. IPアドレス確認

    ```console
$ ip addr show 
```

1. WindowsノートPCのUltraVNC Viewerから上記IPアドレス、パスワードで接続できたら、x0vncserverをCtrl + cで終了
![2020-09-26 (9).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240188/0be8d704-990d-e304-5264-ddb126efd433.png)

# Debian起動時にx0vncserverを起動させる設定

1. サービスファイル作成

    ```console
$ sudo nano /etc/systemd/system/x0vncserver.service
[Unit]
Description=Remote desktop service (VNC)
After=multi-user.target
[Service]
Type=forking
User=igarashi
ExecStart=/usr/bin/sh -c 'sleep 10s && /usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/igarashi/.vnc/passwd &'
[Install]
WantedBy=default.target
```

1. x0vncserver.service起動

    ```console
$ sudo systemctl start x0vncserver.service
```

1. WindowsノートPCのUltraVNC Viewerから上記IPアドレス、パスワードで接続できることを確認
2. x0vncserver.service終了、有効化

    ```console
$ sudo systemctl stop x0vncserver.service
$ sudo systemctl enable x0vncserver.service
```

* 参考
    * [TigerVNC - ArchWiki](https://wiki.archlinux.jp/index.php/TigerVNC)
    * [起動済みのXをTigerVNCで共有 – matoken's meme](https://matoken.org/blog/2016/03/04/share-already-started-x-even-tigervnc/)
    * [mieki256's diary - Ubuntu 16.04上で x0vncserver の動作確認をしてみたり](http://blawat2015.no-ip.com/~mieki256/diary/201709023.html)
    * [How to start a vnc server for the actual display (scraping) with TigerVNC](https://www.howtoforge.com/tutorial/how-to-start-a-vnc-server-for-the-actual-display-scraping-with-tigervnc/)

# オートログイン設定

1. 設定ファイル変更

    ```console
$ sudo nano /etc/lightdm/lightdm.conf
autologin-user=igarashi
autologin-user-timeout=0
```

* 参考
    * [【debian 10】自動ログイン有効化](https://offunendosan.blogspot.com/2019/07/debian-10_14.html)
    * [LightDM - Debian Wiki](https://wiki.debian.org/LightDM)
    * [How to enable auto-login in Debian 9 Xfce — Steemit](https://steemit.com/software/@kskarthik/how-to-enable-auto-login-in-lightdm)

# ロックさせない設定

1. 「アプリケーションメニュー／設定／電源管理」を起動
1. 「一般／ボタン／電源ボタンが押されたとき／問い合わせる」→「シャットダウン」
1. 「ディスプレイ／ディスプレイ電源管理／ON」→「OFF」
1. 「セキュリティ／LIght Locker／自動的にセッションをロック／スクリーンセーバーが起動したとき」→「しない」
1. 電源OFF

    ```console
$ sudo shutdown -h now
```

1. モニタ、キーボード、マウスを外して電源ON
1. WindowsノートPCのUltraVNC Viewerから上記IPアドレス、パスワードで接続できることを確認

* 参考
    * [Ubuntu,Debianの自動サスペンドの解除 - Qiita](https://qiita.com/ikesama200/items/f595293de82ddc9fa3f1)
    * [Debian 9.3 Xfce ディスプレイのスリープ復帰問題 (Linux自作PC 17) - ksk-log](https://ksk-log.com/post/2017/12/2017-12-16-gpu-setting4/)
    * [xfce でスクリーンセーバと画面ロックの設定 - matoken’s meme -hatena-](https://matoken.hatenadiary.org/entry/20081123/1227435763)
    * [Lubuntu の Xfce 電源管理で画面周りを設定しても意図通りの挙動が得られなかったけど Light Locker をいじったら解決したかも知れない - 冬言響](https://winterzeit.org/?g=s53e8aaf774f4f)
    * [Light Locker Settings - Xfce 4.12で10分後に画面がオフ（黒い画面）になるのを防ぐ | Ubuntuアプリのいいところ](https://ubuntuapps.net/blog-entry-787.html)

# コロン、イコールが入力できない問題対応

1. VNC接続後にターミナルで以下を実行

    ```console
$ setxkbmap -rules xorg -model jp106 -layout jp
```

1. 本当は自動で実行したいけれどやり方わからず・・・

* 参考
    * [KVMの仮想マシン上で「:（コロン）」を入力できない問題の解消 - 覚え書き | OSS Fan](http://ossfan.net/memo/archives/2014/11/30170224.html)
    * [錦稜会 KINRYOKAI - ニュース](https://www.kinryokai.net/modules/news/article.php?storyid=111)

# VNCサーバー、クライアント間でコピー＆ペーストができない問題

1. x0vncserverではクリップボードが未サポートの模様・・・

* 参考
    * [Jetson Nanoにリモートデスクトップ(VNC)環境を用意する - Qiita](https://qiita.com/iwatake2222/items/a3bd8d0527dec431ef0f)